@agentshouse/kit 0.1.0-alpha.36 → 0.1.0-alpha.37

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/bootstrap.json CHANGED
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "schemaVersion": 1,
3
- "version": "0.1.0-alpha.36",
3
+ "version": "0.1.0-alpha.37",
4
4
  "hosts": {
5
5
  "linux": {
6
- "command": "bash <(curl -fsSL https://github.com/agentshouse/kit/releases/download/v0.1.0-alpha.36/connect-linux.sh)",
6
+ "command": "bash <(curl -fsSL https://github.com/agentshouse/kit/releases/download/v0.1.0-alpha.37/connect-linux.sh)",
7
7
  "asset": {
8
8
  "name": "connect-linux.sh",
9
- "url": "https://github.com/agentshouse/kit/releases/download/v0.1.0-alpha.36/connect-linux.sh"
9
+ "url": "https://github.com/agentshouse/kit/releases/download/v0.1.0-alpha.37/connect-linux.sh"
10
10
  },
11
11
  "workspace": {
12
12
  "argument": "--workspace",
@@ -14,10 +14,10 @@
14
14
  }
15
15
  },
16
16
  "windows": {
17
- "command": "& ([scriptblock]::Create((irm https://github.com/agentshouse/kit/releases/download/v0.1.0-alpha.36/connect-windows.ps1)))",
17
+ "command": "& ([scriptblock]::Create((irm https://github.com/agentshouse/kit/releases/download/v0.1.0-alpha.37/connect-windows.ps1)))",
18
18
  "asset": {
19
19
  "name": "connect-windows.ps1",
20
- "url": "https://github.com/agentshouse/kit/releases/download/v0.1.0-alpha.36/connect-windows.ps1"
20
+ "url": "https://github.com/agentshouse/kit/releases/download/v0.1.0-alpha.37/connect-windows.ps1"
21
21
  },
22
22
  "workspace": {
23
23
  "argument": "--workspace",
@@ -0,0 +1,104 @@
1
+ # Configuration
2
+
3
+ `kit.json` in Kit home is the one configuration file. Every section below is
4
+ required; a file that omits one is refused.
5
+
6
+ ```json
7
+ {
8
+ "availability": "continuous",
9
+ "execution_authority": "allow",
10
+ "migrators": [],
11
+ "instances": [
12
+ {
13
+ "id": "acme",
14
+ "preset": "custom",
15
+ "services": [
16
+ {
17
+ "service": "notes",
18
+ "source_ref": "src_acme_notes",
19
+ "rooms": ["work-room"],
20
+ "backfill": { "days": 30 },
21
+ "connector": {
22
+ "command": ["/usr/local/bin/acme-export", "--ndjson"],
23
+ "timeout_ms": 120000,
24
+ "environment": { "ACME_REGION": "eu" },
25
+ "secrets": {
26
+ "ACME_TOKEN": { "environment": "ACME_TOKEN_SOURCE" },
27
+ "ACME_KEY": { "file": "/run/secrets/acme-key" }
28
+ }
29
+ }
30
+ }
31
+ ]
32
+ }
33
+ ],
34
+ "clients": [
35
+ {
36
+ "kind": "claude-code",
37
+ "settings": "/home/ada/.claude/settings.json"
38
+ }
39
+ ],
40
+ "host": null,
41
+ "skills": true
42
+ }
43
+ ```
44
+
45
+ - `availability`: `"continuous"` for a computer that stays online,
46
+ `"intermittent"` for a laptop.
47
+ - `execution_authority`: `"allow"` or `"refuse"`, this computer's answer to
48
+ every permission request an agent makes.
49
+ - `instances`: your own sources, each with a `custom` connector (below).
50
+ - `clients`: agent clients outside Kit whose settings get House's session-start
51
+ hook. `claude-code` is the one supported kind; declare `[]` for none.
52
+ - `migrators`: `[]` unless you run a migrator.
53
+ - `host`: `null` unless this computer reports its capacity to House.
54
+ - `skills`: `true` accepts the Skill set, `false` declines it. The connect
55
+ command sets it.
56
+
57
+ Agents and agent CLIs are chosen in House, not here. Send your changes to
58
+ House with:
59
+
60
+ ```sh
61
+ kit apply
62
+ ```
63
+
64
+ ## Secrets
65
+
66
+ Never write a secret into `kit.json`. Under `secrets`, name an environment
67
+ variable (`{ "environment": "NAME" }`) or a file (`{ "file": "/path" }`); Kit
68
+ passes its value to the connector only.
69
+
70
+ ## Custom connectors
71
+
72
+ A connector is your own command. Kit runs it without a shell, with only `PATH`,
73
+ `environment` and the resolved secrets, and never gives it a House credential.
74
+ It must finish within `timeout_ms` (at most 120000).
75
+
76
+ Kit writes one request line to its standard input:
77
+
78
+ ```json
79
+ { "contract": "2026-08-22", "instance": "acme", "cursor": null, "limit": 100 }
80
+ ```
81
+
82
+ The command prints NDJSON: `item` lines, then at most one `cursor` line.
83
+ `cursor` in the next request is the last one it printed.
84
+
85
+ ```
86
+ {"type":"item","namespace":"acme/notes","native_object_id":"note-91","native_version":"7","observed_at":"2026-08-20T09:15:00.000Z","body":"the note","author":"ada","url":"https://acme.example/notes/91","attachments":[{"url":"https://acme.example/files/1","name":"plan.pdf"}]}
87
+ {"type":"cursor","cursor":"page-2"}
88
+ ```
89
+
90
+ `namespace`, `native_object_id`, `observed_at` and `body` are required. An
91
+ attachment is a `url`, or a local `file` with its exact `path`, `bytes`,
92
+ `sha256` and optional `media_type`. A malformed line, a non-zero exit or a
93
+ timeout rejects the whole run and nothing is delivered.
94
+
95
+ `backfill` bounds the first capture: `{ "days": 30 }`, `{ "count": 500 }` or
96
+ `{ "all": true }`.
97
+
98
+ ```sh
99
+ kit source capture acme # capture every service of an instance now
100
+ kit source capture acme notes # one service
101
+ kit source status acme # health, cursor, gaps and unsaved files
102
+ kit source retry-files acme # save files a capture could not save
103
+ kit source reset acme notes # start again from the backfill boundary
104
+ ```
package/docs/google.md ADDED
@@ -0,0 +1,33 @@
1
+ # Google sources
2
+
3
+ You add Gmail, Calendar and Drive sources in the House App: an account name you
4
+ choose, the service, the Rooms it goes to, and how much history the first
5
+ capture takes. Nothing is configured on this computer.
6
+
7
+ Each service captures, read-only:
8
+
9
+ - Gmail: every message except Spam and Trash.
10
+ - Calendar: the account's primary calendar.
11
+ - Drive: the files the account owns.
12
+
13
+ ## Signing in
14
+
15
+ Kit ships no Google OAuth client. Each account signs in with your own:
16
+
17
+ 1. In your Google Cloud project, create an OAuth client of type **Desktop app**
18
+ and enable the API of each service you use.
19
+ 2. When House asks, enter the client id and secret on its page.
20
+ 3. Approve Google's consent. Google then sends the browser to a
21
+ `http://127.0.0.1:<port>/` address that does not load; copy that whole
22
+ address and paste it into the House page.
23
+
24
+ Kit then captures each signed-in source every 15 minutes.
25
+
26
+ ```sh
27
+ kit source capture work # capture every source of the account now
28
+ kit source capture work gmail # one service
29
+ kit source status work
30
+ ```
31
+
32
+ If `kit source status` reports `api_disabled`, enable the API it names in your
33
+ Google Cloud project.
package/docs/linux.md ADDED
@@ -0,0 +1,46 @@
1
+ # Linux
2
+
3
+ Run the Linux command from the [README](../README.md#connect-a-computer) in a
4
+ terminal. It needs `bash`, `curl` and Docker Engine.
5
+
6
+ ## Docker Engine
7
+
8
+ - A Docker Engine that already answers is used as it is, on any distribution.
9
+ - On Ubuntu 22.04, 24.04 or 26.04 LTS, anything missing is installed from
10
+ Docker's own apt repository through `sudo`, which asks for your password.
11
+ The command starts the `docker` service and adds you to the `docker` group.
12
+ - Ubuntu packages that conflict with Docker's (`docker.io`, `docker-compose`,
13
+ `docker-compose-v2`, `docker-doc`, `docker-buildx`, `podman-docker`,
14
+ `containerd`, `runc`) are not removed for you: remove them and run again.
15
+ - On any other distribution, install Docker Engine first.
16
+
17
+ A new `docker` group membership applies from your next sign-in. If a later run
18
+ says so, sign out and back in, then run the command again.
19
+
20
+ ## What it creates
21
+
22
+ - `~/.house-kit`: Kit home, with your credential and `kit.json`.
23
+ - `~/AgentsHouse`: your workspace, mounted in the container as
24
+ `/agents/house`. Pass `--workspace /absolute/path` to use another directory.
25
+
26
+ Both are readable only by you. The credential is never printed.
27
+
28
+ ## Updating
29
+
30
+ Run a newer release's command. While an Agent session is still running, the
31
+ update names it and leaves Kit as it is; run the command again once it ends.
32
+ Your credential, Kit home and workspace are kept.
33
+
34
+ ## Pushing a working copy
35
+
36
+ From a directory under your workspace, such as a Room copy under
37
+ `working-copies/rooms/`, run:
38
+
39
+ ```sh
40
+ bash <(curl -fsSL …/connect-linux.sh) house git push --owner
41
+ ```
42
+
43
+ ## A House on this computer
44
+
45
+ `--house http://127.0.0.1:<port>` or `--house http://localhost:<port>` runs Kit
46
+ on the host network so it can reach a House served on this computer.
package/docs/macos.md ADDED
@@ -0,0 +1,26 @@
1
+ # macOS
2
+
3
+ Run the Linux command from the [README](../README.md#connect-a-computer) in
4
+ Terminal. It works on Apple silicon and Intel Macs, including from a terminal
5
+ running under Rosetta.
6
+
7
+ ## Docker Desktop
8
+
9
+ Kit on a Mac needs Docker Desktop.
10
+
11
+ - A Docker Desktop that already answers is used as it is.
12
+ - Other engines, such as Colima or OrbStack, are refused.
13
+ - Without `/Applications/Docker.app`, the command downloads Docker Desktop for
14
+ your chip and installs it through `sudo`, which asks for your password.
15
+ - The command opens Docker Desktop and waits up to five minutes while you
16
+ accept its terms or finish what its window asks. If it is still not ready,
17
+ run the command again.
18
+
19
+ ## Notes
20
+
21
+ - A `--workspace` directory must be one Docker Desktop shares, such as one
22
+ under `/Users`.
23
+ - A House on this computer (`--house http://127.0.0.1:<port>`) needs host
24
+ networking enabled in Docker Desktop's settings.
25
+
26
+ Everything else works as on [Linux](linux.md).
@@ -0,0 +1,29 @@
1
+ # Telegram bot
2
+
3
+ Kit can connect your own Telegram bot so your House conversations appear there.
4
+ The bot token stays on this computer; House never receives it.
5
+
6
+ 1. Create a bot with BotFather and turn on its Threaded Mode.
7
+ 2. Send the bot one ordinary private message outside any topic, so Kit can
8
+ tell the bot is yours.
9
+ 3. Connect it, entering the token at the hidden prompt:
10
+
11
+ ```sh
12
+ kit telegram connect
13
+ ```
14
+
15
+ 4. Serve it; this keeps running until you stop it:
16
+
17
+ ```sh
18
+ kit telegram serve
19
+ ```
20
+
21
+ To release the bot:
22
+
23
+ ```sh
24
+ kit telegram disconnect
25
+ ```
26
+
27
+ Run each command through the connect command as the
28
+ [README](../README.md#run-a-kit-command) shows. Only one computer can serve a
29
+ given bot.
@@ -0,0 +1,37 @@
1
+ # Windows
2
+
3
+ Run the Windows command from the [README](../README.md#connect-a-computer) in
4
+ the 64-bit Windows PowerShell. It needs Windows 11 23H2 (build 22631) or later
5
+ on `amd64`. Windows Server, Windows 10 and Windows on ARM are refused.
6
+
7
+ ## WSL 2 and Docker Desktop
8
+
9
+ - A Docker Desktop that already runs Linux containers on WSL 2 is used as it is.
10
+ - Without WSL, the command runs `wsl --install --no-distribution`. Approve the
11
+ administrator prompt, restart Windows, and run the command again. An old WSL
12
+ is updated the same way.
13
+ - Without Docker Desktop, the command downloads it and installs it for your
14
+ account only, without administrator rights.
15
+ - The command starts Docker Desktop and waits up to five minutes while you
16
+ accept its terms or finish what its window asks. If it is still not ready,
17
+ run the command again.
18
+ - Windows containers, the Hyper-V engine and other Docker engines are refused.
19
+
20
+ ## What it creates
21
+
22
+ - `%USERPROFILE%\.house-kit`: Kit home.
23
+ - `%USERPROFILE%\AgentsHouse`: your workspace. Pass
24
+ `--workspace 'D:\Agents'` to use another directory.
25
+
26
+ Both are restricted to your Windows account. A path containing a comma is
27
+ refused.
28
+
29
+ ## Notes
30
+
31
+ - Append `kit` and a command to run it, as on [Linux](linux.md). Each run
32
+ leaves its exit status in `$LASTEXITCODE`.
33
+ - When a command asks for a secret, such as a Telegram bot token, keep its
34
+ output on the terminal: with output redirected, what you type is echoed.
35
+ - A House on this computer needs host networking enabled in Docker Desktop's
36
+ settings.
37
+ - This bootstrap has not yet been run on a real Windows computer.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentshouse/kit",
3
- "version": "0.1.0-alpha.36",
3
+ "version": "0.1.0-alpha.37",
4
4
  "license": "MIT",
5
5
  "repository": {
6
6
  "type": "git",