sessionkit 0.3.2__tar.gz → 0.4.0__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.4.0/PKG-INFO +162 -0
- sessionkit-0.4.0/README.md +141 -0
- {sessionkit-0.3.2 → sessionkit-0.4.0}/pyproject.toml +26 -9
- sessionkit-0.4.0/pyproject.toml.orig +123 -0
- sessionkit-0.4.0/src/sessionkit/cli.py +471 -0
- sessionkit-0.4.0/src/sessionkit/docs/what-listens.md +66 -0
- {sessionkit-0.3.2 → sessionkit-0.4.0}/src/sessionkit/doctor.py +117 -14
- {sessionkit-0.3.2 → sessionkit-0.4.0}/src/sessionkit/install.sh +305 -77
- sessionkit-0.4.0/src/sessionkit/launchd.py +228 -0
- sessionkit-0.4.0/src/sessionkit/phoneowner.py +194 -0
- sessionkit-0.4.0/src/sessionkit/service.schema.json +31 -0
- sessionkit-0.4.0/src/sessionkit/services.py +674 -0
- {sessionkit-0.3.2 → sessionkit-0.4.0}/src/sessionkit/setup.py +267 -49
- sessionkit-0.3.2/PKG-INFO +0 -439
- sessionkit-0.3.2/README.md +0 -419
- sessionkit-0.3.2/pyproject.toml.orig +0 -86
- sessionkit-0.3.2/src/sessionkit/cli.py +0 -196
- {sessionkit-0.3.2 → sessionkit-0.4.0}/LICENSE +0 -0
- {sessionkit-0.3.2 → sessionkit-0.4.0}/src/sessionkit/__init__.py +0 -0
- {sessionkit-0.3.2 → sessionkit-0.4.0}/src/sessionkit/py.typed +0 -0
|
@@ -0,0 +1,162 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: sessionkit
|
|
3
|
+
Version: 0.4.0
|
|
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.4.0
|
|
12
|
+
Requires-Dist: sessiontools>=0.4.0
|
|
13
|
+
Requires-Dist: sessionphone[media]>=0.4.0
|
|
14
|
+
Requires-Dist: sessionview>=0.4.0
|
|
15
|
+
Requires-Dist: sessionvoice[capture]>=0.4.0
|
|
16
|
+
Requires-Dist: settled[kit]>=0.1.0
|
|
17
|
+
Requires-Python: >=3.11, <3.15
|
|
18
|
+
Project-URL: Homepage, https://github.com/sessionkit/sessionkit
|
|
19
|
+
Project-URL: Repository, https://github.com/sessionkit/sessionkit
|
|
20
|
+
Description-Content-Type: text/markdown
|
|
21
|
+
|
|
22
|
+
# Session Kit
|
|
23
|
+
|
|
24
|
+
Session Kit gives your Claude Code sessions a voice, a phone line and a
|
|
25
|
+
mailbox. From the people who brought you [VoiceMode][voicemode].
|
|
26
|
+
|
|
27
|
+
```bash
|
|
28
|
+
curl -fsSL https://sessionkit.ai/install.sh | bash
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
This repo is the kit's home: the installer, the [manual steps][manual]
|
|
32
|
+
and the docs.
|
|
33
|
+
|
|
34
|
+
<!-- Hero image goes here: Talk on a phone, mid-conversation. -->
|
|
35
|
+
|
|
36
|
+
## Features
|
|
37
|
+
|
|
38
|
+
- **Voice.** Your session hears the room and answers aloud.
|
|
39
|
+
- **A phone line.** Text or ring your session from Delta Chat on your phone.
|
|
40
|
+
- **Mail.** Agents mail each other, and an idle agent wakes when mail lands
|
|
41
|
+
([mail between agents][mail]).
|
|
42
|
+
- **A crew.** One agent starts another and hands it the work.
|
|
43
|
+
- **Talk.** Watch the conversation live in a browser.
|
|
44
|
+
|
|
45
|
+
## Quick start
|
|
46
|
+
|
|
47
|
+
After the install, do what its last screen lists (sign in to Claude Code
|
|
48
|
+
once), then start your first session, in whatever folder you're in:
|
|
49
|
+
|
|
50
|
+
```bash
|
|
51
|
+
session start
|
|
52
|
+
```
|
|
53
|
+
|
|
54
|
+
Ask Claude to call you. It shows a QR code: scan it with your phone and
|
|
55
|
+
follow the steps to install Delta Chat. Then you can text or ring your
|
|
56
|
+
session. Asking Claude to call you, or ringing your session, is when you
|
|
57
|
+
agree to be heard, and recorded if recording is on.
|
|
58
|
+
|
|
59
|
+
## What it installs
|
|
60
|
+
|
|
61
|
+
Session Kit installs the family in one go: five packages, each with its
|
|
62
|
+
Claude Code plugin, and the Settings page.
|
|
63
|
+
|
|
64
|
+
- [sessionmail][pkg-mail]: mail for agent memory and communication
|
|
65
|
+
([the paper][paper]).
|
|
66
|
+
- [sessiontools][pkg-tools]: your live sessions, and starting new ones.
|
|
67
|
+
- [sessionvoice][pkg-voice]: the ears hear the room; the mouth speaks.
|
|
68
|
+
- [sessionphone][pkg-phone]: a phone line to your session, over Delta Chat.
|
|
69
|
+
- [sessionview][pkg-view]: a tmux sidebar of your projects and agents.
|
|
70
|
+
- [settled][settled]: the kit's settings page, on your own Mac.
|
|
71
|
+
|
|
72
|
+
Every command answers `--help`. Commands, services and folders:
|
|
73
|
+
[components][components].
|
|
74
|
+
|
|
75
|
+
## Requirements
|
|
76
|
+
|
|
77
|
+
- [x] macOS on Apple silicon (tested on an M5 MacBook Air, 16 GB, macOS 27)
|
|
78
|
+
- [ ] Linux (preliminary testing; no install steps yet)
|
|
79
|
+
- [ ] WSL
|
|
80
|
+
- [ ] Windows
|
|
81
|
+
|
|
82
|
+
You need:
|
|
83
|
+
|
|
84
|
+
- [Homebrew][brew]
|
|
85
|
+
- [uv][uv]
|
|
86
|
+
- [Claude Code][claude-code]
|
|
87
|
+
- About 8 GB of free disk
|
|
88
|
+
|
|
89
|
+
The installer adds any of the first three that are missing.
|
|
90
|
+
|
|
91
|
+
## Installation
|
|
92
|
+
|
|
93
|
+
The one line at the top checks your Mac, lists what it will add, and asks
|
|
94
|
+
before it installs anything. Rather run each step yourself? With the
|
|
95
|
+
requirements in place (the speech server is about 4 GB):
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
brew install tmux ffmpeg notmuch
|
|
99
|
+
uv tool install --python 3.14 sessionkit
|
|
100
|
+
claude plugin marketplace add sessionkit/sessionkit
|
|
101
|
+
claude plugin install sessionkit@sessionkit
|
|
102
|
+
ears install
|
|
103
|
+
ears services install --agent claude
|
|
104
|
+
sessionkit setup
|
|
105
|
+
pager settings hooks on
|
|
106
|
+
```
|
|
107
|
+
|
|
108
|
+
Then quit Claude Code, every window, so the plugins load. Check it with
|
|
109
|
+
`sessionkit doctor`. More detail: [step by step][install]. To remove it:
|
|
110
|
+
[uninstall][uninstall].
|
|
111
|
+
|
|
112
|
+
**Already using VoiceMode?** It keeps working. Use either one, or both side
|
|
113
|
+
by side.
|
|
114
|
+
|
|
115
|
+
## Configuration
|
|
116
|
+
|
|
117
|
+
Each package's settings: [configuration][config]. How they stack:
|
|
118
|
+
[settings][settings].
|
|
119
|
+
|
|
120
|
+
## Logs
|
|
121
|
+
|
|
122
|
+
Where each log is: [logs][logs]. Which to read for a symptom:
|
|
123
|
+
[troubleshooting][trouble]. Restarting a service: [service][service].
|
|
124
|
+
**Health:** `sessionkit doctor`.
|
|
125
|
+
|
|
126
|
+
## Development
|
|
127
|
+
|
|
128
|
+
`make install`, then `make check`. The rules: [AGENTS.md][agents].
|
|
129
|
+
|
|
130
|
+
Working across the family? With your clones of the five packages beside this
|
|
131
|
+
one, `make install-dev` installs the whole kit from them (`DRY_RUN=1` first
|
|
132
|
+
to see the command).
|
|
133
|
+
|
|
134
|
+
## Status
|
|
135
|
+
|
|
136
|
+
Alpha, 0.4.0. A new release most Sundays. [Known gaps][gaps] · Licence
|
|
137
|
+
[AGPL-3.0][licence].
|
|
138
|
+
|
|
139
|
+
[voicemode]: https://voicemode.dev
|
|
140
|
+
[brew]: https://brew.sh
|
|
141
|
+
[uv]: https://docs.astral.sh/uv/
|
|
142
|
+
[claude-code]: https://code.claude.com/docs/en/overview
|
|
143
|
+
[install]: https://github.com/sessionkit/sessionkit/blob/HEAD/INSTALL.md
|
|
144
|
+
[manual]: #installation
|
|
145
|
+
[mail]: https://github.com/sessionkit/sessionkit/blob/HEAD/INSTALL.md#mail-between-agents
|
|
146
|
+
[gaps]: https://github.com/sessionkit/sessionkit/blob/HEAD/INSTALL.md#7-known-gaps-you-will-hit
|
|
147
|
+
[uninstall]: https://github.com/sessionkit/sessionkit/blob/HEAD/INSTALL.md#8-uninstall
|
|
148
|
+
[components]: https://github.com/sessionkit/sessionkit/blob/HEAD/docs/components.md
|
|
149
|
+
[config]: https://github.com/sessionkit/sessionkit/blob/HEAD/docs/configuration.md
|
|
150
|
+
[settings]: https://github.com/sessionkit/sessionkit/blob/HEAD/docs/settings.md
|
|
151
|
+
[service]: https://github.com/sessionkit/sessionkit/blob/HEAD/docs/service.md
|
|
152
|
+
[logs]: https://github.com/sessionkit/sessionkit/blob/HEAD/docs/components.md#logs
|
|
153
|
+
[trouble]: https://github.com/sessionkit/sessionkit/blob/HEAD/docs/troubleshooting.md
|
|
154
|
+
[agents]: https://github.com/sessionkit/sessionkit/blob/HEAD/AGENTS.md
|
|
155
|
+
[licence]: https://github.com/sessionkit/sessionkit/blob/HEAD/LICENSE
|
|
156
|
+
[pkg-mail]: https://github.com/sessionkit/sessionmail
|
|
157
|
+
[paper]: https://cora7.com/blog/the-mailbox-is-the-memory/
|
|
158
|
+
[pkg-tools]: https://github.com/sessionkit/sessiontools
|
|
159
|
+
[pkg-voice]: https://github.com/sessionkit/sessionvoice
|
|
160
|
+
[pkg-phone]: https://github.com/sessionkit/sessionphone
|
|
161
|
+
[pkg-view]: https://github.com/sessionkit/sessionview
|
|
162
|
+
[settled]: https://github.com/sessionkit/settled
|
|
@@ -0,0 +1,141 @@
|
|
|
1
|
+
# Session Kit
|
|
2
|
+
|
|
3
|
+
Session Kit gives your Claude Code sessions a voice, a phone line and a
|
|
4
|
+
mailbox. From the people who brought you [VoiceMode][voicemode].
|
|
5
|
+
|
|
6
|
+
```bash
|
|
7
|
+
curl -fsSL https://sessionkit.ai/install.sh | bash
|
|
8
|
+
```
|
|
9
|
+
|
|
10
|
+
This repo is the kit's home: the installer, the [manual steps][manual]
|
|
11
|
+
and the docs.
|
|
12
|
+
|
|
13
|
+
<!-- Hero image goes here: Talk on a phone, mid-conversation. -->
|
|
14
|
+
|
|
15
|
+
## Features
|
|
16
|
+
|
|
17
|
+
- **Voice.** Your session hears the room and answers aloud.
|
|
18
|
+
- **A phone line.** Text or ring your session from Delta Chat on your phone.
|
|
19
|
+
- **Mail.** Agents mail each other, and an idle agent wakes when mail lands
|
|
20
|
+
([mail between agents][mail]).
|
|
21
|
+
- **A crew.** One agent starts another and hands it the work.
|
|
22
|
+
- **Talk.** Watch the conversation live in a browser.
|
|
23
|
+
|
|
24
|
+
## Quick start
|
|
25
|
+
|
|
26
|
+
After the install, do what its last screen lists (sign in to Claude Code
|
|
27
|
+
once), then start your first session, in whatever folder you're in:
|
|
28
|
+
|
|
29
|
+
```bash
|
|
30
|
+
session start
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
Ask Claude to call you. It shows a QR code: scan it with your phone and
|
|
34
|
+
follow the steps to install Delta Chat. Then you can text or ring your
|
|
35
|
+
session. Asking Claude to call you, or ringing your session, is when you
|
|
36
|
+
agree to be heard, and recorded if recording is on.
|
|
37
|
+
|
|
38
|
+
## What it installs
|
|
39
|
+
|
|
40
|
+
Session Kit installs the family in one go: five packages, each with its
|
|
41
|
+
Claude Code plugin, and the Settings page.
|
|
42
|
+
|
|
43
|
+
- [sessionmail][pkg-mail]: mail for agent memory and communication
|
|
44
|
+
([the paper][paper]).
|
|
45
|
+
- [sessiontools][pkg-tools]: your live sessions, and starting new ones.
|
|
46
|
+
- [sessionvoice][pkg-voice]: the ears hear the room; the mouth speaks.
|
|
47
|
+
- [sessionphone][pkg-phone]: a phone line to your session, over Delta Chat.
|
|
48
|
+
- [sessionview][pkg-view]: a tmux sidebar of your projects and agents.
|
|
49
|
+
- [settled][settled]: the kit's settings page, on your own Mac.
|
|
50
|
+
|
|
51
|
+
Every command answers `--help`. Commands, services and folders:
|
|
52
|
+
[components][components].
|
|
53
|
+
|
|
54
|
+
## Requirements
|
|
55
|
+
|
|
56
|
+
- [x] macOS on Apple silicon (tested on an M5 MacBook Air, 16 GB, macOS 27)
|
|
57
|
+
- [ ] Linux (preliminary testing; no install steps yet)
|
|
58
|
+
- [ ] WSL
|
|
59
|
+
- [ ] Windows
|
|
60
|
+
|
|
61
|
+
You need:
|
|
62
|
+
|
|
63
|
+
- [Homebrew][brew]
|
|
64
|
+
- [uv][uv]
|
|
65
|
+
- [Claude Code][claude-code]
|
|
66
|
+
- About 8 GB of free disk
|
|
67
|
+
|
|
68
|
+
The installer adds any of the first three that are missing.
|
|
69
|
+
|
|
70
|
+
## Installation
|
|
71
|
+
|
|
72
|
+
The one line at the top checks your Mac, lists what it will add, and asks
|
|
73
|
+
before it installs anything. Rather run each step yourself? With the
|
|
74
|
+
requirements in place (the speech server is about 4 GB):
|
|
75
|
+
|
|
76
|
+
```bash
|
|
77
|
+
brew install tmux ffmpeg notmuch
|
|
78
|
+
uv tool install --python 3.14 sessionkit
|
|
79
|
+
claude plugin marketplace add sessionkit/sessionkit
|
|
80
|
+
claude plugin install sessionkit@sessionkit
|
|
81
|
+
ears install
|
|
82
|
+
ears services install --agent claude
|
|
83
|
+
sessionkit setup
|
|
84
|
+
pager settings hooks on
|
|
85
|
+
```
|
|
86
|
+
|
|
87
|
+
Then quit Claude Code, every window, so the plugins load. Check it with
|
|
88
|
+
`sessionkit doctor`. More detail: [step by step][install]. To remove it:
|
|
89
|
+
[uninstall][uninstall].
|
|
90
|
+
|
|
91
|
+
**Already using VoiceMode?** It keeps working. Use either one, or both side
|
|
92
|
+
by side.
|
|
93
|
+
|
|
94
|
+
## Configuration
|
|
95
|
+
|
|
96
|
+
Each package's settings: [configuration][config]. How they stack:
|
|
97
|
+
[settings][settings].
|
|
98
|
+
|
|
99
|
+
## Logs
|
|
100
|
+
|
|
101
|
+
Where each log is: [logs][logs]. Which to read for a symptom:
|
|
102
|
+
[troubleshooting][trouble]. Restarting a service: [service][service].
|
|
103
|
+
**Health:** `sessionkit doctor`.
|
|
104
|
+
|
|
105
|
+
## Development
|
|
106
|
+
|
|
107
|
+
`make install`, then `make check`. The rules: [AGENTS.md][agents].
|
|
108
|
+
|
|
109
|
+
Working across the family? With your clones of the five packages beside this
|
|
110
|
+
one, `make install-dev` installs the whole kit from them (`DRY_RUN=1` first
|
|
111
|
+
to see the command).
|
|
112
|
+
|
|
113
|
+
## Status
|
|
114
|
+
|
|
115
|
+
Alpha, 0.4.0. A new release most Sundays. [Known gaps][gaps] · Licence
|
|
116
|
+
[AGPL-3.0][licence].
|
|
117
|
+
|
|
118
|
+
[voicemode]: https://voicemode.dev
|
|
119
|
+
[brew]: https://brew.sh
|
|
120
|
+
[uv]: https://docs.astral.sh/uv/
|
|
121
|
+
[claude-code]: https://code.claude.com/docs/en/overview
|
|
122
|
+
[install]: https://github.com/sessionkit/sessionkit/blob/HEAD/INSTALL.md
|
|
123
|
+
[manual]: #installation
|
|
124
|
+
[mail]: https://github.com/sessionkit/sessionkit/blob/HEAD/INSTALL.md#mail-between-agents
|
|
125
|
+
[gaps]: https://github.com/sessionkit/sessionkit/blob/HEAD/INSTALL.md#7-known-gaps-you-will-hit
|
|
126
|
+
[uninstall]: https://github.com/sessionkit/sessionkit/blob/HEAD/INSTALL.md#8-uninstall
|
|
127
|
+
[components]: https://github.com/sessionkit/sessionkit/blob/HEAD/docs/components.md
|
|
128
|
+
[config]: https://github.com/sessionkit/sessionkit/blob/HEAD/docs/configuration.md
|
|
129
|
+
[settings]: https://github.com/sessionkit/sessionkit/blob/HEAD/docs/settings.md
|
|
130
|
+
[service]: https://github.com/sessionkit/sessionkit/blob/HEAD/docs/service.md
|
|
131
|
+
[logs]: https://github.com/sessionkit/sessionkit/blob/HEAD/docs/components.md#logs
|
|
132
|
+
[trouble]: https://github.com/sessionkit/sessionkit/blob/HEAD/docs/troubleshooting.md
|
|
133
|
+
[agents]: https://github.com/sessionkit/sessionkit/blob/HEAD/AGENTS.md
|
|
134
|
+
[licence]: https://github.com/sessionkit/sessionkit/blob/HEAD/LICENSE
|
|
135
|
+
[pkg-mail]: https://github.com/sessionkit/sessionmail
|
|
136
|
+
[paper]: https://cora7.com/blog/the-mailbox-is-the-memory/
|
|
137
|
+
[pkg-tools]: https://github.com/sessionkit/sessiontools
|
|
138
|
+
[pkg-voice]: https://github.com/sessionkit/sessionvoice
|
|
139
|
+
[pkg-phone]: https://github.com/sessionkit/sessionphone
|
|
140
|
+
[pkg-view]: https://github.com/sessionkit/sessionview
|
|
141
|
+
[settled]: https://github.com/sessionkit/settled
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "sessionkit"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.4.0"
|
|
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,12 @@ classifiers = ["Development Status :: 3 - Alpha"]
|
|
|
9
9
|
requires-python = ">=3.11,<3.15"
|
|
10
10
|
dependencies = [
|
|
11
11
|
"click>=8.1",
|
|
12
|
-
"sessionmail>=0.
|
|
13
|
-
"sessiontools>=0.
|
|
14
|
-
"sessionphone[media]>=0.
|
|
15
|
-
"sessionview>=0.
|
|
16
|
-
"sessionvoice[capture]>=0.
|
|
12
|
+
"sessionmail>=0.4.0",
|
|
13
|
+
"sessiontools>=0.4.0",
|
|
14
|
+
"sessionphone[media]>=0.4.0",
|
|
15
|
+
"sessionview>=0.4.0",
|
|
16
|
+
"sessionvoice[capture]>=0.4.0",
|
|
17
|
+
"settled[kit]>=0.1.0",
|
|
17
18
|
]
|
|
18
19
|
|
|
19
20
|
[[project.authors]]
|
|
@@ -31,14 +32,30 @@ pager = "sessionmail.pager:cli"
|
|
|
31
32
|
memory = "sessionmail.memory:cli"
|
|
32
33
|
session = "sessiontools.cli:main"
|
|
33
34
|
sessionphone = "sessionphone.cli:main"
|
|
35
|
+
dc-answer = "sessionphone.dctools:main"
|
|
36
|
+
dc-call = "sessionphone.dctools:main"
|
|
37
|
+
dc-call-mix = "sessionphone.dctools:main"
|
|
38
|
+
dc-delete = "sessionphone.dctools:main"
|
|
39
|
+
dc-dm = "sessionphone.dctools:main"
|
|
40
|
+
dc-fetch = "sessionphone.dctools:main"
|
|
41
|
+
dc-hangup = "sessionphone.dctools:main"
|
|
42
|
+
dc-invite = "sessionphone.dctools:main"
|
|
43
|
+
dc-live = "sessionphone.dctools:main"
|
|
44
|
+
dc-log = "sessionphone.dctools:main"
|
|
45
|
+
dc-log-web = "sessionphone.dctools:main"
|
|
46
|
+
dc-react = "sessionphone.dctools:main"
|
|
47
|
+
dc-ring = "sessionphone.dctools:main"
|
|
48
|
+
dc-say = "sessionphone.dctools:main"
|
|
49
|
+
dc-send-file = "sessionphone.dctools:main"
|
|
50
|
+
dc-xdc-realtime = "sessionphone.dctools:main"
|
|
51
|
+
dc-xdc-update = "sessionphone.dctools:main"
|
|
34
52
|
sessionview = "sessionview:main"
|
|
35
|
-
sessionview-config = "sessionview:main"
|
|
36
|
-
sessionview-session = "sessionview:main"
|
|
37
|
-
sessionview-messages = "sessionview:main"
|
|
38
53
|
ears = "ears.cli:main"
|
|
39
54
|
ears-serve = "ears.serve:main"
|
|
40
55
|
mouth = "mouth.__main__:main"
|
|
41
56
|
talk = "talk.cli:main"
|
|
57
|
+
sessionvoice-web = "talk.web:main"
|
|
58
|
+
settled = "settled.cli:main"
|
|
42
59
|
|
|
43
60
|
[build-system]
|
|
44
61
|
requires = ["uv_build>=0.11.9,<0.12.0"]
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "sessionkit"
|
|
3
|
+
version = "0.4.0"
|
|
4
|
+
description = "Session Kit gives your Claude Code sessions voice, mail, a phone line and a tmux sidebar, in one install."
|
|
5
|
+
readme = "README.md"
|
|
6
|
+
license = "AGPL-3.0-or-later"
|
|
7
|
+
license-files = ["LICENSE"]
|
|
8
|
+
classifiers = ["Development Status :: 3 - Alpha"]
|
|
9
|
+
authors = [
|
|
10
|
+
{ name = "Mike Bailey", email = "mike@sessionkit.ai" }
|
|
11
|
+
]
|
|
12
|
+
requires-python = ">=3.11,<3.15"
|
|
13
|
+
# The family, one install. Floored at 0.3.0: the kit is released and tested
|
|
14
|
+
# with the family's 0.3.0, so it needs every family package at 0.3.0 or
|
|
15
|
+
# later, and PyPI's 0.0.1 name placeholders and the 0.1.0 alphas must never
|
|
16
|
+
# satisfy these.
|
|
17
|
+
# Within the 0.4.0 floor below, `sessionkit setup` asks sessiontools for
|
|
18
|
+
# `session agent default`, and INSTALL.md describes sessionmail's one-run
|
|
19
|
+
# mail setup. Setup also asks sessiontools for the agents folder with
|
|
20
|
+
# `session path agent --config --json`.
|
|
21
|
+
# That verb ships in sessiontools 0.3.3, below the floor; with a sessiontools
|
|
22
|
+
# that lacks it, setup writes no agent file and says so.
|
|
23
|
+
# All five are floored at 0.4.0 or later: the family is released together, and
|
|
24
|
+
# an older copy of one package beside the others splits its state between the
|
|
25
|
+
# old and new folders.
|
|
26
|
+
# sessionview from 0.4.0 has its helpers as verbs, and the kit links
|
|
27
|
+
# `sessionview` alone. An older sessionview still types
|
|
28
|
+
# `sessionview-messages` into its messages tab, which the kit no longer links.
|
|
29
|
+
# sessionphone with its media extra: the bot, calls and `sessionphone web` need it.
|
|
30
|
+
# sessionvoice with its capture extra, so the ears can hear the room.
|
|
31
|
+
# settled, the Settings app, is required too: a hard dependency, never an
|
|
32
|
+
# optional extra. It is not a family package: it has its own version line,
|
|
33
|
+
# floored at 0.1.0 so PyPI's 0.0.1 name placeholder can never satisfy it, and
|
|
34
|
+
# its kit extra brings the kit's tool registry and jsonschema, without which
|
|
35
|
+
# it shows none of the kit's tools.
|
|
36
|
+
# That extra asks for sessiontools 0.3.3, which the sessiontools line below
|
|
37
|
+
# covers.
|
|
38
|
+
# This is the RULED list, kept in tests/_ruled_deps.py with the ruling;
|
|
39
|
+
# tests/test_dependency_gate.py fails when these lines, the built wheel or
|
|
40
|
+
# uv.lock drift from it.
|
|
41
|
+
dependencies = [
|
|
42
|
+
"click>=8.1",
|
|
43
|
+
"sessionmail>=0.4.0",
|
|
44
|
+
"sessiontools>=0.4.0",
|
|
45
|
+
"sessionphone[media]>=0.4.0",
|
|
46
|
+
"sessionview>=0.4.0",
|
|
47
|
+
"sessionvoice[capture]>=0.4.0",
|
|
48
|
+
"settled[kit]>=0.1.0",
|
|
49
|
+
]
|
|
50
|
+
|
|
51
|
+
[project.urls]
|
|
52
|
+
Homepage = "https://github.com/sessionkit/sessionkit"
|
|
53
|
+
Repository = "https://github.com/sessionkit/sessionkit"
|
|
54
|
+
|
|
55
|
+
# The kit's own command, then every child command RE-DECLARED (the
|
|
56
|
+
# recommended re-export). `uv tool install` links only the executables of the
|
|
57
|
+
# package it is asked for, never its dependencies', so without these lines
|
|
58
|
+
# `uv tool install sessionkit` would put `sessionkit` alone on the PATH.
|
|
59
|
+
# Each entry point is the child's own target, copied verbatim; re-measure them
|
|
60
|
+
# at each child's HEAD whenever a child adds, renames or drops a command.
|
|
61
|
+
# Measured from each child's 0.3.0 wheel (entry_points.txt), by wheel sha256:
|
|
62
|
+
# mail 8e4d9476, tools 8d089699, phone ac402a39, view 3942f119, voice ebc1b65c.
|
|
63
|
+
# settled: from the settings repo's pyproject at 1487963 and its 0.1.0
|
|
64
|
+
# wheel, sha256 d796d326 (re-measure from the staged 0.1.0 wheel, by sha256).
|
|
65
|
+
# sessionview ships one command. Its helpers are verbs of it, `sessionview
|
|
66
|
+
# config`, `sessionview session` and `sessionview messages`, never on the PATH.
|
|
67
|
+
# The kit itself still ships no `session` of its own: `session` below is
|
|
68
|
+
# sessiontools' command, re-exported, not a second implementation.
|
|
69
|
+
[project.scripts]
|
|
70
|
+
sessionkit = "sessionkit.cli:main"
|
|
71
|
+
# sessionmail
|
|
72
|
+
message = "sessionmail.message:cli"
|
|
73
|
+
pager = "sessionmail.pager:cli"
|
|
74
|
+
memory = "sessionmail.memory:cli"
|
|
75
|
+
# sessiontools
|
|
76
|
+
session = "sessiontools.cli:main"
|
|
77
|
+
# sessionphone
|
|
78
|
+
sessionphone = "sessionphone.cli:main"
|
|
79
|
+
# sessionphone's dc-* tools: one console-script target, sessionphone.dctools:main,
|
|
80
|
+
# which runs the tool named by argv[0]. uv links only the kit's own scripts, so
|
|
81
|
+
# without these lines a kit install leaves them off PATH.
|
|
82
|
+
# dc-env (a library the tools source), bridge-check and bin/sessionphone never ship.
|
|
83
|
+
dc-answer = "sessionphone.dctools:main"
|
|
84
|
+
dc-call = "sessionphone.dctools:main"
|
|
85
|
+
dc-call-mix = "sessionphone.dctools:main"
|
|
86
|
+
dc-delete = "sessionphone.dctools:main"
|
|
87
|
+
dc-dm = "sessionphone.dctools:main"
|
|
88
|
+
dc-fetch = "sessionphone.dctools:main"
|
|
89
|
+
dc-hangup = "sessionphone.dctools:main"
|
|
90
|
+
dc-invite = "sessionphone.dctools:main"
|
|
91
|
+
dc-live = "sessionphone.dctools:main"
|
|
92
|
+
dc-log = "sessionphone.dctools:main"
|
|
93
|
+
dc-log-web = "sessionphone.dctools:main"
|
|
94
|
+
dc-react = "sessionphone.dctools:main"
|
|
95
|
+
dc-ring = "sessionphone.dctools:main"
|
|
96
|
+
dc-say = "sessionphone.dctools:main"
|
|
97
|
+
dc-send-file = "sessionphone.dctools:main"
|
|
98
|
+
dc-xdc-realtime = "sessionphone.dctools:main"
|
|
99
|
+
dc-xdc-update = "sessionphone.dctools:main"
|
|
100
|
+
# sessionview
|
|
101
|
+
sessionview = "sessionview:main"
|
|
102
|
+
# sessionvoice
|
|
103
|
+
ears = "ears.cli:main"
|
|
104
|
+
ears-serve = "ears.serve:main"
|
|
105
|
+
mouth = "mouth.__main__:main"
|
|
106
|
+
talk = "talk.cli:main"
|
|
107
|
+
# the front door asks it for Talk's room: `sessionvoice-web web-room` (docs/family-web.md)
|
|
108
|
+
sessionvoice-web = "talk.web:main"
|
|
109
|
+
# settled
|
|
110
|
+
settled = "settled.cli:main"
|
|
111
|
+
|
|
112
|
+
[build-system]
|
|
113
|
+
requires = ["uv_build>=0.11.9,<0.12.0"]
|
|
114
|
+
build-backend = "uv_build"
|
|
115
|
+
|
|
116
|
+
[dependency-groups]
|
|
117
|
+
dev = [
|
|
118
|
+
"pytest>=8",
|
|
119
|
+
"ruff>=0.6",
|
|
120
|
+
]
|
|
121
|
+
|
|
122
|
+
[tool.pytest.ini_options]
|
|
123
|
+
testpaths = ["tests", "dark-launch/tests"]
|