sessionkit 0.3.1__tar.gz → 0.3.2__tar.gz
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.
- sessionkit-0.3.1/README.md → sessionkit-0.3.2/PKG-INFO +96 -21
- sessionkit-0.3.1/PKG-INFO → sessionkit-0.3.2/README.md +76 -41
- {sessionkit-0.3.1 → sessionkit-0.3.2}/pyproject.toml +10 -7
- {sessionkit-0.3.1 → sessionkit-0.3.2}/pyproject.toml.orig +10 -7
- {sessionkit-0.3.1 → sessionkit-0.3.2}/src/sessionkit/cli.py +40 -0
- sessionkit-0.3.2/src/sessionkit/doctor.py +229 -0
- sessionkit-0.3.2/src/sessionkit/install.sh +1159 -0
- {sessionkit-0.3.1 → sessionkit-0.3.2}/LICENSE +0 -0
- {sessionkit-0.3.1 → sessionkit-0.3.2}/src/sessionkit/__init__.py +0 -0
- {sessionkit-0.3.1 → sessionkit-0.3.2}/src/sessionkit/py.typed +0 -0
- {sessionkit-0.3.1 → sessionkit-0.3.2}/src/sessionkit/setup.py +0 -0
|
@@ -1,3 +1,23 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: sessionkit
|
|
3
|
+
Version: 0.3.2
|
|
4
|
+
Summary: Session Kit gives your Claude Code sessions voice, mail, a phone line and a tmux sidebar, in one install.
|
|
5
|
+
Author: Mike Bailey
|
|
6
|
+
Author-email: Mike Bailey <mike@sessionkit.ai>
|
|
7
|
+
License-Expression: AGPL-3.0-or-later
|
|
8
|
+
License-File: LICENSE
|
|
9
|
+
Classifier: Development Status :: 3 - Alpha
|
|
10
|
+
Requires-Dist: click>=8.1
|
|
11
|
+
Requires-Dist: sessionmail>=0.3.2
|
|
12
|
+
Requires-Dist: sessiontools>=0.3.2
|
|
13
|
+
Requires-Dist: sessionphone[media]>=0.3.2
|
|
14
|
+
Requires-Dist: sessionview>=0.3.2
|
|
15
|
+
Requires-Dist: sessionvoice[capture]>=0.3.2
|
|
16
|
+
Requires-Python: >=3.11, <3.15
|
|
17
|
+
Project-URL: Homepage, https://github.com/sessionkit/sessionkit
|
|
18
|
+
Project-URL: Repository, https://github.com/sessionkit/sessionkit
|
|
19
|
+
Description-Content-Type: text/markdown
|
|
20
|
+
|
|
1
21
|
# Session Kit
|
|
2
22
|
|
|
3
23
|
Session Kit lets your Claude Code sessions mail each other, hear you and
|
|
@@ -46,11 +66,10 @@ You need:
|
|
|
46
66
|
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
47
67
|
```
|
|
48
68
|
|
|
49
|
-
- Then open a new terminal
|
|
50
|
-
run:
|
|
69
|
+
- Then open a new terminal, so `uv` is on your PATH. Or run:
|
|
51
70
|
|
|
52
71
|
```bash
|
|
53
|
-
source ~/.
|
|
72
|
+
source ~/.zshrc
|
|
54
73
|
```
|
|
55
74
|
|
|
56
75
|
- For a call on a Mac: [Homebrew][brew], then ffmpeg from it. A call needs
|
|
@@ -64,6 +83,9 @@ You need:
|
|
|
64
83
|
brew install ffmpeg
|
|
65
84
|
```
|
|
66
85
|
|
|
86
|
+
- Homebrew lists what ffmpeg needs, then asks
|
|
87
|
+
`Do you want to proceed with the installation? [y/n]`. Press `y`. It
|
|
88
|
+
goes on at once, with no Return.
|
|
67
89
|
- Then the speech server, then link the phone: the phone bullets below.
|
|
68
90
|
- A call without Homebrew is the workaround case. This guide does not
|
|
69
91
|
cover it.
|
|
@@ -82,8 +104,13 @@ kit's plugin and the five family plugins it depends on.
|
|
|
82
104
|
- **Keep `--python 3.14`.** Without it, uv takes the Python it finds: 3.15,
|
|
83
105
|
where a voice library has no build yet and the install fails, or the
|
|
84
106
|
Command Line Tools' 3.11. The kit is tested on 3.14.
|
|
85
|
-
-
|
|
86
|
-
|
|
107
|
+
- To upgrade:
|
|
108
|
+
|
|
109
|
+
```bash
|
|
110
|
+
uv tool upgrade sessionkit
|
|
111
|
+
```
|
|
112
|
+
|
|
113
|
+
It keeps the Python the install chose.
|
|
87
114
|
- To reinstall, give the pin again:
|
|
88
115
|
|
|
89
116
|
```bash
|
|
@@ -102,8 +129,7 @@ kit's plugin and the five family plugins it depends on.
|
|
|
102
129
|
bot signs its mail to your Claude follows your mail carrier:
|
|
103
130
|
[bot mail signing][phone-signing].
|
|
104
131
|
- **The speech server comes before the phone.** A call hears you through
|
|
105
|
-
it, so it is installed before you link your phone.
|
|
106
|
-
`sessionphone setup`, in [sessionphone][pkg-phone]'s docs.
|
|
132
|
+
it, so it is installed before you link your phone.
|
|
107
133
|
- No phone: nothing to run now. [Hearing and speaking][hearing]
|
|
108
134
|
installs the speech server with the rest of the voice.
|
|
109
135
|
- A phone: first Homebrew, then ffmpeg, as the call item under "You
|
|
@@ -113,6 +139,7 @@ kit's plugin and the five family plugins it depends on.
|
|
|
113
139
|
brew install ffmpeg
|
|
114
140
|
```
|
|
115
141
|
|
|
142
|
+
- At Homebrew's `[y/n]`, press `y`.
|
|
116
143
|
- Then install the speech server. It builds the server and fetches its
|
|
117
144
|
weights, about 2.9 GB.
|
|
118
145
|
|
|
@@ -120,7 +147,22 @@ kit's plugin and the five family plugins it depends on.
|
|
|
120
147
|
ears services install --only speech
|
|
121
148
|
```
|
|
122
149
|
|
|
123
|
-
- Then link the phone.
|
|
150
|
+
- Then link the phone. This makes its account on a public relay and
|
|
151
|
+
prints the invite link. The name people see in their chat list goes in
|
|
152
|
+
place of NAME:
|
|
153
|
+
|
|
154
|
+
```bash
|
|
155
|
+
sessionphone setup --name NAME
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
A name with a space in it needs quotes, or the shell splits it in two
|
|
159
|
+
and setup refuses the second word:
|
|
160
|
+
|
|
161
|
+
```bash
|
|
162
|
+
sessionphone setup --name "Ada Lovelace"
|
|
163
|
+
```
|
|
164
|
+
|
|
165
|
+
- The rest of linking is in [sessionphone][pkg-phone]'s docs.
|
|
124
166
|
|
|
125
167
|
- **Then quit Claude Code and start it again**, every window of it, before
|
|
126
168
|
you run anything else.
|
|
@@ -129,8 +171,19 @@ A plugin installed from the shell loads only when Claude Code starts, so a
|
|
|
129
171
|
session that was already open has no plugin commands on its PATH, and no
|
|
130
172
|
plugin hooks.
|
|
131
173
|
|
|
132
|
-
|
|
133
|
-
|
|
174
|
+
Then set up mail. This makes the box `claude`, which your first session
|
|
175
|
+
needs to hear mail and calls:
|
|
176
|
+
|
|
177
|
+
```bash
|
|
178
|
+
sessionkit setup
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
- **On a fresh Mac it exits 4, and that is expected.** It leaves two
|
|
182
|
+
notmuch steps for later: [the manual install][setup] shows its last
|
|
183
|
+
lines.
|
|
184
|
+
|
|
185
|
+
The three install lines leave the ears without the model they listen
|
|
186
|
+
with. Fetch it once:
|
|
134
187
|
|
|
135
188
|
```bash
|
|
136
189
|
ears install
|
|
@@ -174,21 +227,41 @@ starts them ([hearing and speaking][hearing]), refuses with
|
|
|
174
227
|
Step by step, with every step that needs you marked: [the manual
|
|
175
228
|
install][install].
|
|
176
229
|
|
|
230
|
+
To see what this Mac is still missing, run the kit's check. It installs
|
|
231
|
+
nothing. It prints one line for each thing the kit needs, and under each
|
|
232
|
+
missing one, the command that adds it:
|
|
233
|
+
|
|
234
|
+
```bash
|
|
235
|
+
sessionkit doctor
|
|
236
|
+
```
|
|
237
|
+
|
|
238
|
+
It exits 0 when nothing the kit needs is missing, and 1 when something is.
|
|
239
|
+
The phone bot and the session key are shown, but they never fail it.
|
|
240
|
+
|
|
241
|
+
- No kit yet, or `sessionkit` will not start? The installer runs the same
|
|
242
|
+
check. Its address is not live yet. From a clone of this repository,
|
|
243
|
+
run `bash install.sh --check`. Once the address is live:
|
|
244
|
+
|
|
245
|
+
```bash
|
|
246
|
+
curl -fsSL https://sessionkit.ai/install.sh | bash -s -- --check
|
|
247
|
+
```
|
|
248
|
+
|
|
177
249
|
## Quick start
|
|
178
250
|
|
|
179
251
|
```bash
|
|
180
252
|
sessionkit --version
|
|
181
253
|
```
|
|
182
254
|
|
|
183
|
-
It lists the kit and each family package, with its version
|
|
255
|
+
It lists the kit and each family package, with its version. Each `X.Y.Z`
|
|
256
|
+
is the version you installed:
|
|
184
257
|
|
|
185
258
|
```text
|
|
186
|
-
sessionkit, version
|
|
187
|
-
sessionmail
|
|
188
|
-
sessiontools
|
|
189
|
-
sessionphone
|
|
190
|
-
sessionview
|
|
191
|
-
sessionvoice
|
|
259
|
+
sessionkit, version X.Y.Z
|
|
260
|
+
sessionmail X.Y.Z
|
|
261
|
+
sessiontools X.Y.Z
|
|
262
|
+
sessionphone X.Y.Z
|
|
263
|
+
sessionview X.Y.Z
|
|
264
|
+
sessionvoice X.Y.Z
|
|
192
265
|
```
|
|
193
266
|
|
|
194
267
|
Start Claude in a project folder, not in your home folder, where a new
|
|
@@ -219,9 +292,9 @@ session start
|
|
|
219
292
|
|
|
220
293
|
- **Never a bare `claude`.** Mail to your agent's box, your phone's
|
|
221
294
|
included, reaches only a session started as that agent.
|
|
222
|
-
-
|
|
223
|
-
|
|
224
|
-
|
|
295
|
+
- **Without the box `claude`, the first session starts plain too.** The
|
|
296
|
+
mail setup under Installation makes the box ([first checks][checks]).
|
|
297
|
+
The line names the repair:
|
|
225
298
|
|
|
226
299
|
```text
|
|
227
300
|
session start: starting plain: box claude is missing, so this session will NOT hear Delta messages or calls; repair: message setup --box claude
|
|
@@ -302,6 +375,7 @@ Session Kit installs these together:
|
|
|
302
375
|
`session start <name>`. A plain `claude` session does not hear calls you
|
|
303
376
|
make to it yet.
|
|
304
377
|
- [sessionview][pkg-view]: a tmux sidebar of your projects and your agents.
|
|
378
|
+
`sessionview` (said "session view").
|
|
305
379
|
|
|
306
380
|
## Components
|
|
307
381
|
|
|
@@ -334,7 +408,7 @@ The rules for changing the kit: [AGENTS.md][agents].
|
|
|
334
408
|
|
|
335
409
|
## Status
|
|
336
410
|
|
|
337
|
-
Alpha, 0.3.
|
|
411
|
+
Alpha, 0.3.2. Tested on macOS 27 on Apple silicon; Linux and Windows are
|
|
338
412
|
untested. What you may still hit: [known gaps][gaps].
|
|
339
413
|
|
|
340
414
|
Licence: [AGPL-3.0][licence].
|
|
@@ -343,6 +417,7 @@ Licence: [AGPL-3.0][licence].
|
|
|
343
417
|
[brew]: https://brew.sh
|
|
344
418
|
[install]: INSTALL.md
|
|
345
419
|
[prereqs]: INSTALL.md#1-prerequisites-human
|
|
420
|
+
[setup]: INSTALL.md#2-install-the-kit
|
|
346
421
|
[checks]: INSTALL.md#4-first-checks
|
|
347
422
|
[hearing]: INSTALL.md#5-hearing-and-speaking-it-hears-me-and-speaks
|
|
348
423
|
[mail]: INSTALL.md#mail-between-agents
|
|
@@ -1,23 +1,3 @@
|
|
|
1
|
-
Metadata-Version: 2.4
|
|
2
|
-
Name: sessionkit
|
|
3
|
-
Version: 0.3.1
|
|
4
|
-
Summary: Session Kit gives your Claude Code sessions voice, mail, a phone line and a tmux sidebar, in one install.
|
|
5
|
-
Author: Mike Bailey
|
|
6
|
-
Author-email: Mike Bailey <mike@sessionkit.ai>
|
|
7
|
-
License-Expression: AGPL-3.0-or-later
|
|
8
|
-
License-File: LICENSE
|
|
9
|
-
Classifier: Development Status :: 3 - Alpha
|
|
10
|
-
Requires-Dist: click>=8.1
|
|
11
|
-
Requires-Dist: sessionmail>=0.3.1
|
|
12
|
-
Requires-Dist: sessiontools>=0.3.1
|
|
13
|
-
Requires-Dist: sessionphone[media]>=0.3.0
|
|
14
|
-
Requires-Dist: sessionview>=0.3.0
|
|
15
|
-
Requires-Dist: sessionvoice[capture]>=0.3.0
|
|
16
|
-
Requires-Python: >=3.11, <3.15
|
|
17
|
-
Project-URL: Homepage, https://github.com/sessionkit/sessionkit
|
|
18
|
-
Project-URL: Repository, https://github.com/sessionkit/sessionkit
|
|
19
|
-
Description-Content-Type: text/markdown
|
|
20
|
-
|
|
21
1
|
# Session Kit
|
|
22
2
|
|
|
23
3
|
Session Kit lets your Claude Code sessions mail each other, hear you and
|
|
@@ -66,11 +46,10 @@ You need:
|
|
|
66
46
|
curl -LsSf https://astral.sh/uv/install.sh | sh
|
|
67
47
|
```
|
|
68
48
|
|
|
69
|
-
- Then open a new terminal
|
|
70
|
-
run:
|
|
49
|
+
- Then open a new terminal, so `uv` is on your PATH. Or run:
|
|
71
50
|
|
|
72
51
|
```bash
|
|
73
|
-
source ~/.
|
|
52
|
+
source ~/.zshrc
|
|
74
53
|
```
|
|
75
54
|
|
|
76
55
|
- For a call on a Mac: [Homebrew][brew], then ffmpeg from it. A call needs
|
|
@@ -84,6 +63,9 @@ You need:
|
|
|
84
63
|
brew install ffmpeg
|
|
85
64
|
```
|
|
86
65
|
|
|
66
|
+
- Homebrew lists what ffmpeg needs, then asks
|
|
67
|
+
`Do you want to proceed with the installation? [y/n]`. Press `y`. It
|
|
68
|
+
goes on at once, with no Return.
|
|
87
69
|
- Then the speech server, then link the phone: the phone bullets below.
|
|
88
70
|
- A call without Homebrew is the workaround case. This guide does not
|
|
89
71
|
cover it.
|
|
@@ -102,8 +84,13 @@ kit's plugin and the five family plugins it depends on.
|
|
|
102
84
|
- **Keep `--python 3.14`.** Without it, uv takes the Python it finds: 3.15,
|
|
103
85
|
where a voice library has no build yet and the install fails, or the
|
|
104
86
|
Command Line Tools' 3.11. The kit is tested on 3.14.
|
|
105
|
-
-
|
|
106
|
-
|
|
87
|
+
- To upgrade:
|
|
88
|
+
|
|
89
|
+
```bash
|
|
90
|
+
uv tool upgrade sessionkit
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
It keeps the Python the install chose.
|
|
107
94
|
- To reinstall, give the pin again:
|
|
108
95
|
|
|
109
96
|
```bash
|
|
@@ -122,8 +109,7 @@ kit's plugin and the five family plugins it depends on.
|
|
|
122
109
|
bot signs its mail to your Claude follows your mail carrier:
|
|
123
110
|
[bot mail signing][phone-signing].
|
|
124
111
|
- **The speech server comes before the phone.** A call hears you through
|
|
125
|
-
it, so it is installed before you link your phone.
|
|
126
|
-
`sessionphone setup`, in [sessionphone][pkg-phone]'s docs.
|
|
112
|
+
it, so it is installed before you link your phone.
|
|
127
113
|
- No phone: nothing to run now. [Hearing and speaking][hearing]
|
|
128
114
|
installs the speech server with the rest of the voice.
|
|
129
115
|
- A phone: first Homebrew, then ffmpeg, as the call item under "You
|
|
@@ -133,6 +119,7 @@ kit's plugin and the five family plugins it depends on.
|
|
|
133
119
|
brew install ffmpeg
|
|
134
120
|
```
|
|
135
121
|
|
|
122
|
+
- At Homebrew's `[y/n]`, press `y`.
|
|
136
123
|
- Then install the speech server. It builds the server and fetches its
|
|
137
124
|
weights, about 2.9 GB.
|
|
138
125
|
|
|
@@ -140,7 +127,22 @@ kit's plugin and the five family plugins it depends on.
|
|
|
140
127
|
ears services install --only speech
|
|
141
128
|
```
|
|
142
129
|
|
|
143
|
-
- Then link the phone.
|
|
130
|
+
- Then link the phone. This makes its account on a public relay and
|
|
131
|
+
prints the invite link. The name people see in their chat list goes in
|
|
132
|
+
place of NAME:
|
|
133
|
+
|
|
134
|
+
```bash
|
|
135
|
+
sessionphone setup --name NAME
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
A name with a space in it needs quotes, or the shell splits it in two
|
|
139
|
+
and setup refuses the second word:
|
|
140
|
+
|
|
141
|
+
```bash
|
|
142
|
+
sessionphone setup --name "Ada Lovelace"
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
- The rest of linking is in [sessionphone][pkg-phone]'s docs.
|
|
144
146
|
|
|
145
147
|
- **Then quit Claude Code and start it again**, every window of it, before
|
|
146
148
|
you run anything else.
|
|
@@ -149,8 +151,19 @@ A plugin installed from the shell loads only when Claude Code starts, so a
|
|
|
149
151
|
session that was already open has no plugin commands on its PATH, and no
|
|
150
152
|
plugin hooks.
|
|
151
153
|
|
|
152
|
-
|
|
153
|
-
|
|
154
|
+
Then set up mail. This makes the box `claude`, which your first session
|
|
155
|
+
needs to hear mail and calls:
|
|
156
|
+
|
|
157
|
+
```bash
|
|
158
|
+
sessionkit setup
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
- **On a fresh Mac it exits 4, and that is expected.** It leaves two
|
|
162
|
+
notmuch steps for later: [the manual install][setup] shows its last
|
|
163
|
+
lines.
|
|
164
|
+
|
|
165
|
+
The three install lines leave the ears without the model they listen
|
|
166
|
+
with. Fetch it once:
|
|
154
167
|
|
|
155
168
|
```bash
|
|
156
169
|
ears install
|
|
@@ -194,21 +207,41 @@ starts them ([hearing and speaking][hearing]), refuses with
|
|
|
194
207
|
Step by step, with every step that needs you marked: [the manual
|
|
195
208
|
install][install].
|
|
196
209
|
|
|
210
|
+
To see what this Mac is still missing, run the kit's check. It installs
|
|
211
|
+
nothing. It prints one line for each thing the kit needs, and under each
|
|
212
|
+
missing one, the command that adds it:
|
|
213
|
+
|
|
214
|
+
```bash
|
|
215
|
+
sessionkit doctor
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
It exits 0 when nothing the kit needs is missing, and 1 when something is.
|
|
219
|
+
The phone bot and the session key are shown, but they never fail it.
|
|
220
|
+
|
|
221
|
+
- No kit yet, or `sessionkit` will not start? The installer runs the same
|
|
222
|
+
check. Its address is not live yet. From a clone of this repository,
|
|
223
|
+
run `bash install.sh --check`. Once the address is live:
|
|
224
|
+
|
|
225
|
+
```bash
|
|
226
|
+
curl -fsSL https://sessionkit.ai/install.sh | bash -s -- --check
|
|
227
|
+
```
|
|
228
|
+
|
|
197
229
|
## Quick start
|
|
198
230
|
|
|
199
231
|
```bash
|
|
200
232
|
sessionkit --version
|
|
201
233
|
```
|
|
202
234
|
|
|
203
|
-
It lists the kit and each family package, with its version
|
|
235
|
+
It lists the kit and each family package, with its version. Each `X.Y.Z`
|
|
236
|
+
is the version you installed:
|
|
204
237
|
|
|
205
238
|
```text
|
|
206
|
-
sessionkit, version
|
|
207
|
-
sessionmail
|
|
208
|
-
sessiontools
|
|
209
|
-
sessionphone
|
|
210
|
-
sessionview
|
|
211
|
-
sessionvoice
|
|
239
|
+
sessionkit, version X.Y.Z
|
|
240
|
+
sessionmail X.Y.Z
|
|
241
|
+
sessiontools X.Y.Z
|
|
242
|
+
sessionphone X.Y.Z
|
|
243
|
+
sessionview X.Y.Z
|
|
244
|
+
sessionvoice X.Y.Z
|
|
212
245
|
```
|
|
213
246
|
|
|
214
247
|
Start Claude in a project folder, not in your home folder, where a new
|
|
@@ -239,9 +272,9 @@ session start
|
|
|
239
272
|
|
|
240
273
|
- **Never a bare `claude`.** Mail to your agent's box, your phone's
|
|
241
274
|
included, reaches only a session started as that agent.
|
|
242
|
-
-
|
|
243
|
-
|
|
244
|
-
|
|
275
|
+
- **Without the box `claude`, the first session starts plain too.** The
|
|
276
|
+
mail setup under Installation makes the box ([first checks][checks]).
|
|
277
|
+
The line names the repair:
|
|
245
278
|
|
|
246
279
|
```text
|
|
247
280
|
session start: starting plain: box claude is missing, so this session will NOT hear Delta messages or calls; repair: message setup --box claude
|
|
@@ -322,6 +355,7 @@ Session Kit installs these together:
|
|
|
322
355
|
`session start <name>`. A plain `claude` session does not hear calls you
|
|
323
356
|
make to it yet.
|
|
324
357
|
- [sessionview][pkg-view]: a tmux sidebar of your projects and your agents.
|
|
358
|
+
`sessionview` (said "session view").
|
|
325
359
|
|
|
326
360
|
## Components
|
|
327
361
|
|
|
@@ -354,7 +388,7 @@ The rules for changing the kit: [AGENTS.md][agents].
|
|
|
354
388
|
|
|
355
389
|
## Status
|
|
356
390
|
|
|
357
|
-
Alpha, 0.3.
|
|
391
|
+
Alpha, 0.3.2. Tested on macOS 27 on Apple silicon; Linux and Windows are
|
|
358
392
|
untested. What you may still hit: [known gaps][gaps].
|
|
359
393
|
|
|
360
394
|
Licence: [AGPL-3.0][licence].
|
|
@@ -363,6 +397,7 @@ Licence: [AGPL-3.0][licence].
|
|
|
363
397
|
[brew]: https://brew.sh
|
|
364
398
|
[install]: INSTALL.md
|
|
365
399
|
[prereqs]: INSTALL.md#1-prerequisites-human
|
|
400
|
+
[setup]: INSTALL.md#2-install-the-kit
|
|
366
401
|
[checks]: INSTALL.md#4-first-checks
|
|
367
402
|
[hearing]: INSTALL.md#5-hearing-and-speaking-it-hears-me-and-speaks
|
|
368
403
|
[mail]: INSTALL.md#mail-between-agents
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "sessionkit"
|
|
3
|
-
version = "0.3.
|
|
3
|
+
version = "0.3.2"
|
|
4
4
|
description = "Session Kit gives your Claude Code sessions voice, mail, a phone line and a tmux sidebar, in one install."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = "AGPL-3.0-or-later"
|
|
@@ -9,11 +9,11 @@ classifiers = ["Development Status :: 3 - Alpha"]
|
|
|
9
9
|
requires-python = ">=3.11,<3.15"
|
|
10
10
|
dependencies = [
|
|
11
11
|
"click>=8.1",
|
|
12
|
-
"sessionmail>=0.3.
|
|
13
|
-
"sessiontools>=0.3.
|
|
14
|
-
"sessionphone[media]>=0.3.
|
|
15
|
-
"sessionview>=0.3.
|
|
16
|
-
"sessionvoice[capture]>=0.3.
|
|
12
|
+
"sessionmail>=0.3.2",
|
|
13
|
+
"sessiontools>=0.3.2",
|
|
14
|
+
"sessionphone[media]>=0.3.2",
|
|
15
|
+
"sessionview>=0.3.2",
|
|
16
|
+
"sessionvoice[capture]>=0.3.2",
|
|
17
17
|
]
|
|
18
18
|
|
|
19
19
|
[[project.authors]]
|
|
@@ -51,4 +51,7 @@ dev = [
|
|
|
51
51
|
]
|
|
52
52
|
|
|
53
53
|
[tool.pytest.ini_options]
|
|
54
|
-
testpaths = [
|
|
54
|
+
testpaths = [
|
|
55
|
+
"tests",
|
|
56
|
+
"dark-launch/tests",
|
|
57
|
+
]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "sessionkit"
|
|
3
|
-
version = "0.3.
|
|
3
|
+
version = "0.3.2"
|
|
4
4
|
description = "Session Kit gives your Claude Code sessions voice, mail, a phone line and a tmux sidebar, in one install."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = "AGPL-3.0-or-later"
|
|
@@ -18,6 +18,9 @@ requires-python = ">=3.11,<3.15"
|
|
|
18
18
|
# and docs call on: `sessionkit setup` asks sessiontools 0.3.1's
|
|
19
19
|
# `session agent default`, and INSTALL.md describes sessionmail 0.3.1's
|
|
20
20
|
# one-run mail setup.
|
|
21
|
+
# All five are floored at 0.3.2: the family is released together, and an older
|
|
22
|
+
# copy of one package beside the others splits its state between the old
|
|
23
|
+
# and new folders.
|
|
21
24
|
# sessionphone with its media extra: the bot, calls and `sessionphone web` need it.
|
|
22
25
|
# sessionvoice with its capture extra, so the ears can hear the room.
|
|
23
26
|
# This is the RULED list, kept in tests/_ruled_deps.py with the ruling;
|
|
@@ -25,11 +28,11 @@ requires-python = ">=3.11,<3.15"
|
|
|
25
28
|
# uv.lock drift from it.
|
|
26
29
|
dependencies = [
|
|
27
30
|
"click>=8.1",
|
|
28
|
-
"sessionmail>=0.3.
|
|
29
|
-
"sessiontools>=0.3.
|
|
30
|
-
"sessionphone[media]>=0.3.
|
|
31
|
-
"sessionview>=0.3.
|
|
32
|
-
"sessionvoice[capture]>=0.3.
|
|
31
|
+
"sessionmail>=0.3.2",
|
|
32
|
+
"sessiontools>=0.3.2",
|
|
33
|
+
"sessionphone[media]>=0.3.2",
|
|
34
|
+
"sessionview>=0.3.2",
|
|
35
|
+
"sessionvoice[capture]>=0.3.2",
|
|
33
36
|
]
|
|
34
37
|
|
|
35
38
|
[project.urls]
|
|
@@ -80,4 +83,4 @@ dev = [
|
|
|
80
83
|
]
|
|
81
84
|
|
|
82
85
|
[tool.pytest.ini_options]
|
|
83
|
-
testpaths = ["tests"]
|
|
86
|
+
testpaths = ["tests", "dark-launch/tests"]
|
|
@@ -5,6 +5,7 @@ from importlib.metadata import PackageNotFoundError, version
|
|
|
5
5
|
|
|
6
6
|
import click
|
|
7
7
|
|
|
8
|
+
from sessionkit import doctor as kit_doctor
|
|
8
9
|
from sessionkit import setup as operator_setup
|
|
9
10
|
|
|
10
11
|
CTX = {"help_option_names": ["-h", "--help"]}
|
|
@@ -154,3 +155,42 @@ def setup(
|
|
|
154
155
|
for line in outcome.lines:
|
|
155
156
|
click.echo(line, err=outcome.code != 0)
|
|
156
157
|
raise SystemExit(outcome.code)
|
|
158
|
+
|
|
159
|
+
|
|
160
|
+
@main.command(context_settings=CTX)
|
|
161
|
+
@click.option(
|
|
162
|
+
"--no-speech",
|
|
163
|
+
is_flag=True,
|
|
164
|
+
help="Leave the speech server and the ears out: their rows do not fail.",
|
|
165
|
+
)
|
|
166
|
+
def doctor(no_speech: bool) -> None:
|
|
167
|
+
"""Check this Mac for what the kit needs, and install nothing.
|
|
168
|
+
|
|
169
|
+
One line per thing, found or missing, and under each missing one the
|
|
170
|
+
command that adds it. The rows the installer checks come from the
|
|
171
|
+
installer itself: this runs the install.sh the kit ships, with --check.
|
|
172
|
+
Then three rows of its own: the mail hooks (needed), the phone bot
|
|
173
|
+
(optional) and the session key (information only).
|
|
174
|
+
|
|
175
|
+
It is read-only: it writes no file of its own and starts and stops
|
|
176
|
+
nothing. The only network it reaches itself is the speech server on
|
|
177
|
+
127.0.0.1:8890, which it probes, and its brew reads download nothing.
|
|
178
|
+
The tools it asks keep their own files in your home, and may use their
|
|
179
|
+
own network: in an empty home, brew, uv and claude make their caches,
|
|
180
|
+
and claude, asked for its plugins, reaches Anthropic's API over HTTPS.
|
|
181
|
+
INSTALL.md section 4, in
|
|
182
|
+
https://github.com/sessionkit/sessionkit, names each file.
|
|
183
|
+
|
|
184
|
+
On a Mac without the kit, or where this command will not start, the
|
|
185
|
+
installer runs the same check:
|
|
186
|
+
|
|
187
|
+
\b
|
|
188
|
+
curl -fsSL https://sessionkit.ai/install.sh | bash -s -- --check
|
|
189
|
+
|
|
190
|
+
From a clone of the kit, the same: bash install.sh --check
|
|
191
|
+
|
|
192
|
+
Exit 0 nothing the kit needs is missing, 1 something is (each missing
|
|
193
|
+
row says what to run), 2 usage, 3 this Mac cannot be checked (not macOS,
|
|
194
|
+
or run as root).
|
|
195
|
+
"""
|
|
196
|
+
raise SystemExit(kit_doctor.run(no_speech=no_speech, echo=click.echo))
|