ventilatepro-cli 0.3.0__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.
- {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/PKG-INFO +27 -7
- {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/README.md +25 -5
- {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/pyproject.toml +1 -1
- ventilatepro_cli-0.4.0/tests/test_cli.py +1183 -0
- {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/tests/test_mcp_server.py +53 -0
- {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro/__init__.py +1 -1
- {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro/api_client.py +113 -1
- {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro/auth.py +2 -4
- ventilatepro_cli-0.4.0/ventilatepro/categorization.py +669 -0
- {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro/cli.py +139 -3
- {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro/config.py +1 -0
- {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro/entities.py +149 -0
- {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro/mcp_server.py +132 -0
- ventilatepro_cli-0.4.0/ventilatepro/meetings.py +130 -0
- {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro/notes.py +15 -21
- ventilatepro_cli-0.4.0/ventilatepro/queue.py +402 -0
- {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro_cli.egg-info/PKG-INFO +27 -7
- {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro_cli.egg-info/SOURCES.txt +2 -0
- {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro_cli.egg-info/requires.txt +1 -1
- ventilatepro_cli-0.3.0/tests/test_cli.py +0 -558
- ventilatepro_cli-0.3.0/ventilatepro/queue.py +0 -184
- {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/setup.cfg +0 -0
- {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/tests/test_config.py +0 -0
- {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro/__main__.py +0 -0
- {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro/calc.py +0 -0
- {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro/design_day.py +0 -0
- {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro/mcp_cli.py +0 -0
- {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro/output.py +0 -0
- {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro/payloads.py +0 -0
- {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro/projects.py +0 -0
- {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro/systems.py +0 -0
- {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro_cli.egg-info/dependency_links.txt +0 -0
- {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro_cli.egg-info/entry_points.txt +0 -0
- {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro_cli.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ventilatepro-cli
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.4.0
|
|
4
4
|
Summary: VentilatePro CLI
|
|
5
5
|
Project-URL: Homepage, https://ventilatepro.com/exam/cli/
|
|
6
6
|
Project-URL: Documentation, https://ventilatepro.com/exam/cli/
|
|
@@ -11,11 +11,11 @@ Requires-Dist: typer>=0.16.0
|
|
|
11
11
|
Requires-Dist: requests>=2.32.0
|
|
12
12
|
Requires-Dist: keyring>=25.6.0
|
|
13
13
|
Requires-Dist: platformdirs>=4.3.0
|
|
14
|
-
Requires-Dist: mcp
|
|
14
|
+
Requires-Dist: mcp<2.0.0,>=1.23.0
|
|
15
15
|
|
|
16
16
|
# VentilatePro CLI
|
|
17
17
|
|
|
18
|
-
VentilatePro CLI is a local command-line client for authenticating to VentilatePro
|
|
18
|
+
VentilatePro CLI is a local command-line client for authenticating to VentilatePro, recording project notes and meeting minutes, and running scoped engineering workflows.
|
|
19
19
|
|
|
20
20
|
## Install
|
|
21
21
|
|
|
@@ -41,10 +41,14 @@ pip install -e .
|
|
|
41
41
|
## Commands
|
|
42
42
|
|
|
43
43
|
```bash
|
|
44
|
-
ventilatepro auth login
|
|
44
|
+
ventilatepro auth login
|
|
45
45
|
ventilatepro projects list
|
|
46
46
|
ventilatepro projects show 1
|
|
47
47
|
ventilatepro rooms list --project 1
|
|
48
|
+
ventilatepro room-equipment summary --project 1
|
|
49
|
+
ventilatepro room-equipment create --data '{"room": 501, "name": "Sterilizer", "heat_gain_value": 1.8, "heat_gain_unit": "KW"}'
|
|
50
|
+
ventilatepro categorization review --project 1 --output room-categorization.json
|
|
51
|
+
ventilatepro categorization apply --project 1 --input room-categorization.json --yes
|
|
48
52
|
ventilatepro ahus list --project 1
|
|
49
53
|
ventilatepro systems hierarchy --project 1
|
|
50
54
|
ventilatepro calc status --project 1
|
|
@@ -52,6 +56,9 @@ ventilatepro calc ahu-properties --ahu 1
|
|
|
52
56
|
ventilatepro design-day context --project 1
|
|
53
57
|
ventilatepro notes create --project 1 --body "Captured from terminal"
|
|
54
58
|
ventilatepro notes sync
|
|
59
|
+
ventilatepro meetings context --project 1 --json
|
|
60
|
+
ventilatepro meetings record --project 1 --input meeting.json --json
|
|
61
|
+
ventilatepro meetings list --project 1
|
|
55
62
|
ventilatepro mcp doctor
|
|
56
63
|
ventilatepro-mcp
|
|
57
64
|
```
|
|
@@ -60,6 +67,16 @@ ventilatepro-mcp
|
|
|
60
67
|
and other MCP clients. It uses the same saved base URL and CLI token created by
|
|
61
68
|
`ventilatepro auth login`.
|
|
62
69
|
|
|
70
|
+
For meeting capture, Codex first reads `meetings context` to resolve names to
|
|
71
|
+
stable project-member IDs, interprets the PM's prose into a structured JSON
|
|
72
|
+
payload, and calls `meetings record`. The server atomically creates the meeting,
|
|
73
|
+
decisions, and assigned project tasks and returns a direct web-app link.
|
|
74
|
+
|
|
75
|
+
For room classification, Codex can read the project-specific categorization
|
|
76
|
+
review resource or use the dedicated MCP tools. Review manifests default every
|
|
77
|
+
room to rejected so ambiguous spaces remain visible until a category is
|
|
78
|
+
explicitly accepted with a reason.
|
|
79
|
+
|
|
63
80
|
## MCP setup
|
|
64
81
|
|
|
65
82
|
1. In the VentilatePro web app, open Account Settings and create a CLI token with
|
|
@@ -67,9 +84,12 @@ and other MCP clients. It uses the same saved base URL and CLI token created by
|
|
|
67
84
|
2. Log in locally:
|
|
68
85
|
|
|
69
86
|
```bash
|
|
70
|
-
ventilatepro auth login --
|
|
87
|
+
ventilatepro auth login --token vpcli_...
|
|
71
88
|
```
|
|
72
89
|
|
|
90
|
+
The production URL defaults to `https://ventilatepro.com`. Use `--url` only for
|
|
91
|
+
local development, staging, or self-hosted VentilatePro servers.
|
|
92
|
+
|
|
73
93
|
3. Confirm the local setup:
|
|
74
94
|
|
|
75
95
|
```bash
|
|
@@ -102,13 +122,13 @@ command.
|
|
|
102
122
|
If the hidden token prompt is awkward in your terminal, use either:
|
|
103
123
|
|
|
104
124
|
```bash
|
|
105
|
-
ventilatepro auth login --
|
|
125
|
+
ventilatepro auth login --token-prompt-visible
|
|
106
126
|
```
|
|
107
127
|
|
|
108
128
|
or pipe the token through stdin:
|
|
109
129
|
|
|
110
130
|
```bash
|
|
111
|
-
printf '%s' "$VPCLI_TOKEN" | ventilatepro auth login --
|
|
131
|
+
printf '%s' "$VPCLI_TOKEN" | ventilatepro auth login --token-stdin
|
|
112
132
|
```
|
|
113
133
|
|
|
114
134
|
See the hosted install guide at `https://ventilatepro.com/exam/cli/`, plus [docs/commands.md](./docs/commands.md), [docs/auth.md](./docs/auth.md), [docs/api.md](./docs/api.md), and [docs/releasing.md](./docs/releasing.md) in this repo.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# VentilatePro CLI
|
|
2
2
|
|
|
3
|
-
VentilatePro CLI is a local command-line client for authenticating to VentilatePro
|
|
3
|
+
VentilatePro CLI is a local command-line client for authenticating to VentilatePro, recording project notes and meeting minutes, and running scoped engineering workflows.
|
|
4
4
|
|
|
5
5
|
## Install
|
|
6
6
|
|
|
@@ -26,10 +26,14 @@ pip install -e .
|
|
|
26
26
|
## Commands
|
|
27
27
|
|
|
28
28
|
```bash
|
|
29
|
-
ventilatepro auth login
|
|
29
|
+
ventilatepro auth login
|
|
30
30
|
ventilatepro projects list
|
|
31
31
|
ventilatepro projects show 1
|
|
32
32
|
ventilatepro rooms list --project 1
|
|
33
|
+
ventilatepro room-equipment summary --project 1
|
|
34
|
+
ventilatepro room-equipment create --data '{"room": 501, "name": "Sterilizer", "heat_gain_value": 1.8, "heat_gain_unit": "KW"}'
|
|
35
|
+
ventilatepro categorization review --project 1 --output room-categorization.json
|
|
36
|
+
ventilatepro categorization apply --project 1 --input room-categorization.json --yes
|
|
33
37
|
ventilatepro ahus list --project 1
|
|
34
38
|
ventilatepro systems hierarchy --project 1
|
|
35
39
|
ventilatepro calc status --project 1
|
|
@@ -37,6 +41,9 @@ ventilatepro calc ahu-properties --ahu 1
|
|
|
37
41
|
ventilatepro design-day context --project 1
|
|
38
42
|
ventilatepro notes create --project 1 --body "Captured from terminal"
|
|
39
43
|
ventilatepro notes sync
|
|
44
|
+
ventilatepro meetings context --project 1 --json
|
|
45
|
+
ventilatepro meetings record --project 1 --input meeting.json --json
|
|
46
|
+
ventilatepro meetings list --project 1
|
|
40
47
|
ventilatepro mcp doctor
|
|
41
48
|
ventilatepro-mcp
|
|
42
49
|
```
|
|
@@ -45,6 +52,16 @@ ventilatepro-mcp
|
|
|
45
52
|
and other MCP clients. It uses the same saved base URL and CLI token created by
|
|
46
53
|
`ventilatepro auth login`.
|
|
47
54
|
|
|
55
|
+
For meeting capture, Codex first reads `meetings context` to resolve names to
|
|
56
|
+
stable project-member IDs, interprets the PM's prose into a structured JSON
|
|
57
|
+
payload, and calls `meetings record`. The server atomically creates the meeting,
|
|
58
|
+
decisions, and assigned project tasks and returns a direct web-app link.
|
|
59
|
+
|
|
60
|
+
For room classification, Codex can read the project-specific categorization
|
|
61
|
+
review resource or use the dedicated MCP tools. Review manifests default every
|
|
62
|
+
room to rejected so ambiguous spaces remain visible until a category is
|
|
63
|
+
explicitly accepted with a reason.
|
|
64
|
+
|
|
48
65
|
## MCP setup
|
|
49
66
|
|
|
50
67
|
1. In the VentilatePro web app, open Account Settings and create a CLI token with
|
|
@@ -52,9 +69,12 @@ and other MCP clients. It uses the same saved base URL and CLI token created by
|
|
|
52
69
|
2. Log in locally:
|
|
53
70
|
|
|
54
71
|
```bash
|
|
55
|
-
ventilatepro auth login --
|
|
72
|
+
ventilatepro auth login --token vpcli_...
|
|
56
73
|
```
|
|
57
74
|
|
|
75
|
+
The production URL defaults to `https://ventilatepro.com`. Use `--url` only for
|
|
76
|
+
local development, staging, or self-hosted VentilatePro servers.
|
|
77
|
+
|
|
58
78
|
3. Confirm the local setup:
|
|
59
79
|
|
|
60
80
|
```bash
|
|
@@ -87,13 +107,13 @@ command.
|
|
|
87
107
|
If the hidden token prompt is awkward in your terminal, use either:
|
|
88
108
|
|
|
89
109
|
```bash
|
|
90
|
-
ventilatepro auth login --
|
|
110
|
+
ventilatepro auth login --token-prompt-visible
|
|
91
111
|
```
|
|
92
112
|
|
|
93
113
|
or pipe the token through stdin:
|
|
94
114
|
|
|
95
115
|
```bash
|
|
96
|
-
printf '%s' "$VPCLI_TOKEN" | ventilatepro auth login --
|
|
116
|
+
printf '%s' "$VPCLI_TOKEN" | ventilatepro auth login --token-stdin
|
|
97
117
|
```
|
|
98
118
|
|
|
99
119
|
See the hosted install guide at `https://ventilatepro.com/exam/cli/`, plus [docs/commands.md](./docs/commands.md), [docs/auth.md](./docs/auth.md), [docs/api.md](./docs/api.md), and [docs/releasing.md](./docs/releasing.md) in this repo.
|