kith-coord 0.1.5 → 0.1.7
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/CHANGELOG.md +19 -0
- package/README.md +51 -24
- package/bin/kith-menubar +0 -0
- package/dist/THIRD_PARTY_NOTICES.txt +80 -0
- package/dist/cli/index.js +29486 -3894
- package/dist/cli/index.js.map +1 -1
- package/dist/command-worker.js +2 -0
- package/dist/command-worker.js.map +1 -1
- package/dist/index.d.ts +195 -3
- package/dist/index.js +600 -188
- package/dist/index.js.map +1 -1
- package/docs/client-validation.md +16 -2
- package/docs/integrations.md +14 -3
- package/docs/protocol/tools.v1.json +88 -1
- package/docs/protocol.md +45 -4
- package/docs/reliability.md +23 -1
- package/docs/roadmap.md +1 -1
- package/docs/validation/2026-10-22-editor-chats.json +88 -0
- package/docs/validation/2026-10-22-editor-marketplaces.json +84 -0
- package/package.json +1 -1
- package/server.json +2 -2
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,20 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.1.7 — 2026-10-24
|
|
4
|
+
|
|
5
|
+
- Retain the bundled setup runtime outside temporary npx caches, verify MCP discovery, and preserve existing client settings, custom launchers and original-byte recovery backups. Clarify actual tasks, claims, resource waits and verification results in the read-only coordination view.
|
|
6
|
+
- Serialize MCP text replies as lossless compact JSON, retaining structured data, literal command output, warnings, capabilities and retry/recovery fields. No summarizer, extra calls or dependencies.
|
|
7
|
+
- Compact contract metadata without inferring read relevance from write scopes. Preserve all breaking contracts and linked exports, retain per-consumer alert relationships and lock lease records, and expose full history with optional `includeHistory` (protocol 1.5). Ordinary preview omissions are explicit and point to the existing full-registry call.
|
|
8
|
+
- Validate repository, branch, ownership, cleanliness and base before reusing a task worktree. Roll back queue/claim mutations when handoff fails; never remove partial or unfinished directories.
|
|
9
|
+
- Bound advisory cross-repository inspection, require tracked files in a distinct Git repository, omit source initializers, resolve concrete wildcard imports, and report partial/unavailable observations without failing successful claims. Unsupported inherited configuration and re-exports defer to normal project verification.
|
|
10
|
+
- Reject stale workspace scans, generate task prompts for selected Git checkouts, and retain only user-selected recent workspaces. Remove personal workspace defaults and automatic home-directory crawling. No new dependency or storage migration.
|
|
11
|
+
|
|
12
|
+
## 0.1.6 — 2026-10-23
|
|
13
|
+
|
|
14
|
+
- Add optional MCP operation keys with a capability-bound durable result journal in the existing database. Lost replies replay without repeating mutations; concurrent duplicates report in-progress, and interrupted/unrecorded outcomes refuse automatic re-execution. Historical replies never revive expired/completed sessions or authorize a replacement generation.
|
|
15
|
+
- Add structured operational failure codes and retryability while preserving existing result fields. Distinguish claim/mutex wait contention from command deadlines, partial effects, ownership rejection and failed integration; preserve bounded command output on cancellation/timeouts.
|
|
16
|
+
- Advance protocol to 1.4 and storage schema to 3. Transactional journal migration retains schema-2 ownership and recovery data; interrupted upgrades and missing journal state fail safely. No new runtime dependency, service or editor configuration changes.
|
|
17
|
+
|
|
3
18
|
## 0.1.5 — 2026-10-22
|
|
4
19
|
|
|
5
20
|
- Group read-only radar observations by checkout, distinguishing current recorded Kith leases, retained sessions, unregistered checkouts and unavailable ownership. Label counts as paths to review before integration, with full checkout/owner details and preservation guidance. Reuse the same snapshot in the optional editor view without extra status subprocesses. No ownership, recovery or cleanup behavior changes.
|
|
@@ -102,6 +117,10 @@
|
|
|
102
117
|
|
|
103
118
|
## Unreleased
|
|
104
119
|
|
|
120
|
+
- One-command setup retains a self-contained runtime outside transient npx caches, checks MCP discovery and installs marked project guidance alongside detected client configuration. Repeat/interrupted setup retains recovery material and existing custom launchers; older live project schemas require the stopped-upgrade procedure.
|
|
121
|
+
- Read-only menu and editor views show current recorded tasks/claims, resource waits and failed integrations with next steps. Saved work and review paths move into details; the default menu omits file timestamps. Missing/partial state stays explicit. No new coordination database, model calls or automatic cleanup.
|
|
122
|
+
|
|
123
|
+
|
|
105
124
|
### Session ownership, supervision, and client validation
|
|
106
125
|
|
|
107
126
|
- Add random session capabilities, hashed storage, fixed process anchors, generation checks, and exact fencing-token checks. ID-only renewal, completion, lock release, and mutation are rejected across engines/connections.
|
package/README.md
CHANGED
|
@@ -4,12 +4,13 @@
|
|
|
4
4
|
|
|
5
5
|
<p align="center">
|
|
6
6
|
<a href="https://github.com/connorhriley/kith/actions/workflows/ci.yml"><img src="https://github.com/connorhriley/kith/actions/workflows/ci.yml/badge.svg" alt="CI status"></a>
|
|
7
|
+
<a href="https://github.com/connorhriley/kith/actions/workflows/windows.yml"><img src="https://github.com/connorhriley/kith/actions/workflows/windows.yml/badge.svg" alt="Windows validation"></a>
|
|
7
8
|
<a href="https://www.npmjs.com/package/kith-coord"><img src="https://img.shields.io/npm/v/kith-coord" alt="npm version"></a>
|
|
8
9
|
<a href="LICENSE"><img src="https://img.shields.io/badge/license-MIT-22C55E" alt="MIT license"></a>
|
|
9
10
|
</p>
|
|
10
11
|
|
|
11
12
|
<p align="center">
|
|
12
|
-
<a href="#quick-start">Quick start</a> · <a href="#see-it-work">Demo</a> · <a href="docs/integrations.md">Integrations</a> · <a href="docs/usage.md">CLI & API</a> · <a href="CONTRIBUTING.md">Contribute</a>
|
|
13
|
+
<a href="#quick-start">Quick start</a> · <a href="https://marketplace.visualstudio.com/items?itemName=kith-coord.kith">VS Code</a> · <a href="https://open-vsx.org/extension/kith-coord/kith">Cursor / Open VSX</a> · <a href="#see-it-work">Demo</a> · <a href="docs/integrations.md">Integrations</a> · <a href="docs/usage.md">CLI & API</a> · <a href="CONTRIBUTING.md">Contribute</a>
|
|
13
14
|
</p>
|
|
14
15
|
|
|
15
16
|
**Local coordination for cooperating coding agents.**
|
|
@@ -28,7 +29,7 @@ Kith gives cooperating agents shared local state: who owns a task, which files a
|
|
|
28
29
|
| Give agents separate working files | Git worktrees with an explicit integration step |
|
|
29
30
|
| Check work before integration | Your project's verification command |
|
|
30
31
|
| Share local tools | Port reservations and supervised command mutexes |
|
|
31
|
-
| See what is happening | Session/task state through
|
|
32
|
+
| See what is happening | Session/task state through CLI/MCP; optional read-only editor and worktree views |
|
|
32
33
|
|
|
33
34
|
Kith fits workflows where you already launch multiple coding agents and want them to coordinate. It does not choose models, write prompts, or launch a fleet for you. Worktrees separate files; Kith adds shared ownership and resource coordination.
|
|
34
35
|
|
|
@@ -36,28 +37,50 @@ The [reliability contract](docs/reliability.md) defines ownership, verification,
|
|
|
36
37
|
|
|
37
38
|
## Quick start
|
|
38
39
|
|
|
39
|
-
Requires **Git 2.38+** and **Node.js 22.13+ on 22.x or Node.js 24+**. Full workflows target macOS and Linux.
|
|
40
|
+
Requires **Git 2.38+** and **Node.js 22.13+ on 22.x or Node.js 24+**. Full workflows target macOS and Linux. Native Windows MCP checks cover claims, worktrees, ports, integration and recovery; supervised mutex commands and shell hooks require macOS/Linux or WSL. See the [support evidence](docs/client-validation.md#native-windows).
|
|
40
41
|
|
|
41
42
|
Git recording and integration require a commit identity configured for the repository (`user.name` and `user.email`). Kith does not change your global Git identity.
|
|
42
43
|
|
|
43
|
-
|
|
44
|
+
**Upgrading to 0.1.6:** Stop existing Kith connections first. Back up stopped coordination state (including SQLite sidecars) and retain worktrees; upgrade all coordinators sharing a repository together. This release migrates storage schema 2 to 3, which older binaries refuse. Existing custom launchers are preserved; review their pinned version before reconnecting. See [recovery guidance](docs/reliability.md#recovery).
|
|
45
|
+
|
|
46
|
+
### VS Code or Cursor
|
|
47
|
+
|
|
48
|
+
Install **Kith** (`kith-coord.kith`) from the [VS Code Marketplace](https://marketplace.visualstudio.com/items?itemName=kith-coord.kith) or [Cursor / Open VSX](https://open-vsx.org/extension/kith-coord/kith). You can also search for `kith-coord.kith` in the editor's Extensions view.
|
|
49
|
+
|
|
50
|
+
To select release **0.1.7** explicitly with an editor CLI already on your `PATH`:
|
|
44
51
|
|
|
45
52
|
```sh
|
|
46
|
-
|
|
53
|
+
code --install-extension kith-coord.kith@0.1.7
|
|
54
|
+
cursor --install-extension kith-coord.kith@0.1.7
|
|
47
55
|
```
|
|
48
56
|
|
|
49
|
-
|
|
57
|
+
Use the command for your editor. A marketplace lookup can temporarily select an older version; the [extension guide](extensions/editor/README.md#install) also links the published 0.1.7 VSIX.
|
|
50
58
|
|
|
51
|
-
|
|
52
|
-
|
|
59
|
+
Open a trusted local Git checkout and approve Kith's MCP server through the editor. The extension bundles the coordination server, detects Node, and preserves existing MCP entries, hooks and tool permissions. **No global npm install is needed.** Each agent still needs to use Kith's tools; installing the extension does not enforce claims on other writers.
|
|
60
|
+
|
|
61
|
+
Start with a scoped task:
|
|
62
|
+
|
|
63
|
+
```text
|
|
64
|
+
Use Kith to begin an isolated task in this repository with a unique agent ID.
|
|
65
|
+
Claim only the files this task needs, edit the returned worktree, and report edits.
|
|
66
|
+
Run the project checks and complete through Kith with that verification command.
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
The [extension guide](extensions/editor/README.md) covers settings and existing configurations; [recorded editor checks](docs/client-validation.md#editor-marketplaces-and-signed-in-chats) distinguish installation, native MCP registration and signed-in task results.
|
|
70
|
+
|
|
71
|
+
### CLI and other MCP clients
|
|
72
|
+
|
|
73
|
+
One command from your Git checkout configures supported detected clients and adds project instructions:
|
|
53
74
|
|
|
54
75
|
```sh
|
|
55
|
-
|
|
56
|
-
kith init --dry-run
|
|
57
|
-
kith init
|
|
76
|
+
npx --yes --package kith-coord@0.1.7 kith setup
|
|
58
77
|
```
|
|
59
78
|
|
|
60
|
-
|
|
79
|
+
Durable setup starts with **0.1.7**. Earlier versions need a persistent global npm installation before setup. [Client setup](docs/integrations.md#configure-detected-local-clients) covers configuration scope and advanced options.
|
|
80
|
+
|
|
81
|
+
Setup retains an exact self-contained runtime outside npx's cache, checks its MCP discovery, and backs up changes before writing them. Existing custom Kith launchers, peer servers, hooks and permissions are preserved. From outside a Git checkout it configures global connections; pass a project path to add that project's guidance. Reconnect the client and approve its MCP server through the client's normal controls.
|
|
82
|
+
|
|
83
|
+
Ask your agent to do the task using Kith. The view says **Watching only** until a task is actually recorded. A configured server is not a running task. `kith setup --dry-run` previews without writes; `kith doctor /absolute/checkout` diagnoses configuration.
|
|
61
84
|
|
|
62
85
|
For source installation and the disposable demo, use the pinned **pnpm 10.20.0**:
|
|
63
86
|
|
|
@@ -90,24 +113,17 @@ Two real MCP clients completed work in separate worktrees. Disposable example pa
|
|
|
90
113
|
|
|
91
114
|
The implementation is in [examples/two-agents.mjs](examples/two-agents.mjs). This demonstrates the coordination protocol; [native-client validation](docs/client-validation.md) separately exercises installed coding clients.
|
|
92
115
|
|
|
93
|
-
###
|
|
94
|
-
|
|
95
|
-
After the npm quick start above, restart your coding client in that project and approve its Kith MCP connection. Generated configuration uses the installed `kith` executable; no source checkout or `pnpm link` is needed. Review and commit the generated files before asking agents to integrate work.
|
|
116
|
+
### Client support
|
|
96
117
|
|
|
97
|
-
|
|
118
|
+
The editor extension bundles the server and offers it through native MCP registration; no global npm install is needed. Installing an extension or writing configuration does not enforce claims on writers that do not use Kith. Existing custom Kith entries retain precedence.
|
|
98
119
|
|
|
99
120
|
| Client | Setup and validation |
|
|
100
121
|
| --- | --- |
|
|
101
|
-
|
|
|
102
|
-
|
|
|
103
|
-
| Cursor | Native CLI workflow and fail-closed edit hooks validated; GUI discovery/trust unvalidated |
|
|
122
|
+
| VS Code / Cursor | One-click marketplace extension; native MCP controls retain approval and trust |
|
|
123
|
+
| Claude Code / Claude Desktop / Codex | Detected client configuration through `kith setup` |
|
|
104
124
|
| Other MCP clients | stdio server via `kith mcp`; client-specific validation required |
|
|
105
125
|
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
Native checks are version-specific. GUI discovery and persisted project trust need separate checks. See [integration setup](docs/integrations.md), [recorded validation](docs/client-validation.md), and [session ownership](docs/sessions-and-mutexes.md) before mixing hooks, CLI commands, and MCP clients.
|
|
109
|
-
|
|
110
|
-
The npm package is **`kith-coord`**, with the command name **`kith`**. For a pinned npx MCP launcher, see [registry setup](docs/integrations.md#registry-installation). The unrelated npm package `kith` is not this project.
|
|
126
|
+
Native evidence is version-specific. See [client validation](docs/client-validation.md), [advanced integration setup](docs/integrations.md) and [session ownership](docs/sessions-and-mutexes.md). The npm package is **`kith-coord`** and the command is **`kith`**; the unrelated npm package `kith` is not this project.
|
|
111
127
|
|
|
112
128
|
## Dev servers and shared config
|
|
113
129
|
|
|
@@ -121,6 +137,17 @@ kith lock acquire --agent worker-1 --scope package.json --wait --wait-ms 30000
|
|
|
121
137
|
|
|
122
138
|
See [dev-server launch and waiting claims](docs/usage.md#launch-a-dev-server-on-its-allocated-port) for framework flags, session setup, cancellation, and MCP usage.
|
|
123
139
|
|
|
140
|
+
## Optional read-only monitoring
|
|
141
|
+
|
|
142
|
+
```sh
|
|
143
|
+
kith watch /path/to/workspace --once --json
|
|
144
|
+
kith menubar /path/to/workspace # macOS 12+, Intel or Apple Silicon
|
|
145
|
+
```
|
|
146
|
+
|
|
147
|
+
The menu and editor lead with recorded tasks, current file claims, shared-resource waits and integrations that need inspection. A registered session without a task is shown separately. Saved checkouts and path comparisons stay in details; nothing is automatically deleted. The menu's default view omits the file-timestamp feed.
|
|
148
|
+
|
|
149
|
+
**Watching only** means no active Kith task is recorded. Shared dirty paths are files to review before integration, not a proven merge conflict. **Status unavailable** remains explicit when state cannot be inspected safely. Reads use private snapshots without renewing owners or migrating the original database. See [observation limits](docs/usage.md#optional-read-only-worktree-observations).
|
|
150
|
+
|
|
124
151
|
## How a task moves through Kith
|
|
125
152
|
|
|
126
153
|
1. **Begin through MCP.** Call `kith_begin_work` with a unique `agentId`, explicit `scopeGlobs`, and `isolateWorktree: true`. The connection retains session ownership; no shell exports are needed for this MCP-only workflow.
|
package/bin/kith-menubar
CHANGED
|
Binary file
|
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
## undefined@undefined
|
|
2
|
+
|
|
3
|
+
|
|
4
|
+
|
|
5
|
+
## picomatch@4.0.7
|
|
6
|
+
MIT
|
|
7
|
+
The MIT License (MIT)
|
|
8
|
+
|
|
9
|
+
Copyright (c) 2017-present, Jon Schlinkert.
|
|
10
|
+
|
|
11
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
12
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
13
|
+
in the Software without restriction, including without limitation the rights
|
|
14
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
15
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
16
|
+
furnished to do so, subject to the following conditions:
|
|
17
|
+
|
|
18
|
+
The above copyright notice and this permission notice shall be included in
|
|
19
|
+
all copies or substantial portions of the Software.
|
|
20
|
+
|
|
21
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
22
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
23
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
24
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
25
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
26
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
|
|
27
|
+
THE SOFTWARE.
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
## smol-toml@1.9.1
|
|
31
|
+
BSD-3-Clause
|
|
32
|
+
Copyright (c) Squirrel Chat et al., All rights reserved.
|
|
33
|
+
|
|
34
|
+
Redistribution and use in source and binary forms, with or without
|
|
35
|
+
modification, are permitted provided that the following conditions are met:
|
|
36
|
+
|
|
37
|
+
1. Redistributions of source code must retain the above copyright notice, this
|
|
38
|
+
list of conditions and the following disclaimer.
|
|
39
|
+
2. Redistributions in binary form must reproduce the above copyright notice,
|
|
40
|
+
this list of conditions and the following disclaimer in the
|
|
41
|
+
documentation and/or other materials provided with the distribution.
|
|
42
|
+
3. Neither the name of the copyright holder nor the names of its contributors
|
|
43
|
+
may be used to endorse or promote products derived from this software without
|
|
44
|
+
specific prior written permission.
|
|
45
|
+
|
|
46
|
+
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
|
47
|
+
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
|
48
|
+
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
|
49
|
+
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
|
|
50
|
+
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
|
|
51
|
+
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
|
|
52
|
+
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
|
|
53
|
+
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
|
|
54
|
+
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
|
55
|
+
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
## zod@3.25.76
|
|
59
|
+
MIT
|
|
60
|
+
MIT License
|
|
61
|
+
|
|
62
|
+
Copyright (c) 2025 Colin McDonnell
|
|
63
|
+
|
|
64
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
65
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
66
|
+
in the Software without restriction, including without limitation the rights
|
|
67
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
68
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
69
|
+
furnished to do so, subject to the following conditions:
|
|
70
|
+
|
|
71
|
+
The above copyright notice and this permission notice shall be included in all
|
|
72
|
+
copies or substantial portions of the Software.
|
|
73
|
+
|
|
74
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
75
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
76
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
77
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
78
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
79
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
80
|
+
SOFTWARE.
|