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.
Files changed (34) hide show
  1. {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/PKG-INFO +27 -7
  2. {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/README.md +25 -5
  3. {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/pyproject.toml +1 -1
  4. ventilatepro_cli-0.4.0/tests/test_cli.py +1183 -0
  5. {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/tests/test_mcp_server.py +53 -0
  6. {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro/__init__.py +1 -1
  7. {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro/api_client.py +113 -1
  8. {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro/auth.py +2 -4
  9. ventilatepro_cli-0.4.0/ventilatepro/categorization.py +669 -0
  10. {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro/cli.py +139 -3
  11. {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro/config.py +1 -0
  12. {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro/entities.py +149 -0
  13. {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro/mcp_server.py +132 -0
  14. ventilatepro_cli-0.4.0/ventilatepro/meetings.py +130 -0
  15. {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro/notes.py +15 -21
  16. ventilatepro_cli-0.4.0/ventilatepro/queue.py +402 -0
  17. {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro_cli.egg-info/PKG-INFO +27 -7
  18. {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro_cli.egg-info/SOURCES.txt +2 -0
  19. {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro_cli.egg-info/requires.txt +1 -1
  20. ventilatepro_cli-0.3.0/tests/test_cli.py +0 -558
  21. ventilatepro_cli-0.3.0/ventilatepro/queue.py +0 -184
  22. {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/setup.cfg +0 -0
  23. {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/tests/test_config.py +0 -0
  24. {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro/__main__.py +0 -0
  25. {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro/calc.py +0 -0
  26. {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro/design_day.py +0 -0
  27. {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro/mcp_cli.py +0 -0
  28. {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro/output.py +0 -0
  29. {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro/payloads.py +0 -0
  30. {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro/projects.py +0 -0
  31. {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro/systems.py +0 -0
  32. {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro_cli.egg-info/dependency_links.txt +0 -0
  33. {ventilatepro_cli-0.3.0 → ventilatepro_cli-0.4.0}/ventilatepro_cli.egg-info/entry_points.txt +0 -0
  34. {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.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>=1.23.0
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 and creating or syncing notes through the scoped CLI API.
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 --url http://localhost:8000
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 --url https://app.ventilatepro.com --token vpcli_...
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 --url https://ventilatepro.com --token-prompt-visible
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 --url https://ventilatepro.com --token-stdin
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 and creating or syncing notes through the scoped CLI API.
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 --url http://localhost:8000
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 --url https://app.ventilatepro.com --token vpcli_...
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 --url https://ventilatepro.com --token-prompt-visible
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 --url https://ventilatepro.com --token-stdin
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.
@@ -13,7 +13,7 @@ dependencies = [
13
13
  "requests>=2.32.0",
14
14
  "keyring>=25.6.0",
15
15
  "platformdirs>=4.3.0",
16
- "mcp>=1.23.0",
16
+ "mcp>=1.23.0,<2.0.0",
17
17
  ]
18
18
 
19
19
  [project.urls]