ventilatepro-cli 0.3.1__tar.gz → 0.5.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.1 → ventilatepro_cli-0.5.0}/PKG-INFO +27 -3
- {ventilatepro_cli-0.3.1 → ventilatepro_cli-0.5.0}/README.md +25 -1
- {ventilatepro_cli-0.3.1 → ventilatepro_cli-0.5.0}/pyproject.toml +1 -1
- ventilatepro_cli-0.5.0/tests/test_cli.py +1342 -0
- ventilatepro_cli-0.5.0/tests/test_mcp_server.py +287 -0
- {ventilatepro_cli-0.3.1 → ventilatepro_cli-0.5.0}/ventilatepro/__init__.py +1 -1
- {ventilatepro_cli-0.3.1 → ventilatepro_cli-0.5.0}/ventilatepro/api_client.py +136 -1
- ventilatepro_cli-0.5.0/ventilatepro/categorization.py +669 -0
- {ventilatepro_cli-0.3.1 → ventilatepro_cli-0.5.0}/ventilatepro/cli.py +140 -2
- {ventilatepro_cli-0.3.1 → ventilatepro_cli-0.5.0}/ventilatepro/entities.py +149 -0
- {ventilatepro_cli-0.3.1 → ventilatepro_cli-0.5.0}/ventilatepro/mcp_server.py +246 -3
- ventilatepro_cli-0.5.0/ventilatepro/meetings.py +130 -0
- {ventilatepro_cli-0.3.1 → ventilatepro_cli-0.5.0}/ventilatepro/notes.py +15 -21
- ventilatepro_cli-0.5.0/ventilatepro/queue.py +402 -0
- ventilatepro_cli-0.5.0/ventilatepro/revit_imports.py +273 -0
- {ventilatepro_cli-0.3.1 → ventilatepro_cli-0.5.0}/ventilatepro_cli.egg-info/PKG-INFO +27 -3
- {ventilatepro_cli-0.3.1 → ventilatepro_cli-0.5.0}/ventilatepro_cli.egg-info/SOURCES.txt +3 -0
- {ventilatepro_cli-0.3.1 → ventilatepro_cli-0.5.0}/ventilatepro_cli.egg-info/requires.txt +1 -1
- ventilatepro_cli-0.3.1/tests/test_cli.py +0 -583
- ventilatepro_cli-0.3.1/tests/test_mcp_server.py +0 -73
- ventilatepro_cli-0.3.1/ventilatepro/queue.py +0 -184
- {ventilatepro_cli-0.3.1 → ventilatepro_cli-0.5.0}/setup.cfg +0 -0
- {ventilatepro_cli-0.3.1 → ventilatepro_cli-0.5.0}/tests/test_config.py +0 -0
- {ventilatepro_cli-0.3.1 → ventilatepro_cli-0.5.0}/ventilatepro/__main__.py +0 -0
- {ventilatepro_cli-0.3.1 → ventilatepro_cli-0.5.0}/ventilatepro/auth.py +0 -0
- {ventilatepro_cli-0.3.1 → ventilatepro_cli-0.5.0}/ventilatepro/calc.py +0 -0
- {ventilatepro_cli-0.3.1 → ventilatepro_cli-0.5.0}/ventilatepro/config.py +0 -0
- {ventilatepro_cli-0.3.1 → ventilatepro_cli-0.5.0}/ventilatepro/design_day.py +0 -0
- {ventilatepro_cli-0.3.1 → ventilatepro_cli-0.5.0}/ventilatepro/mcp_cli.py +0 -0
- {ventilatepro_cli-0.3.1 → ventilatepro_cli-0.5.0}/ventilatepro/output.py +0 -0
- {ventilatepro_cli-0.3.1 → ventilatepro_cli-0.5.0}/ventilatepro/payloads.py +0 -0
- {ventilatepro_cli-0.3.1 → ventilatepro_cli-0.5.0}/ventilatepro/projects.py +0 -0
- {ventilatepro_cli-0.3.1 → ventilatepro_cli-0.5.0}/ventilatepro/systems.py +0 -0
- {ventilatepro_cli-0.3.1 → ventilatepro_cli-0.5.0}/ventilatepro_cli.egg-info/dependency_links.txt +0 -0
- {ventilatepro_cli-0.3.1 → ventilatepro_cli-0.5.0}/ventilatepro_cli.egg-info/entry_points.txt +0 -0
- {ventilatepro_cli-0.3.1 → ventilatepro_cli-0.5.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.5.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
|
|
|
@@ -45,6 +45,12 @@ 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 revit-imports review --project 1 --json
|
|
51
|
+
ventilatepro revit-imports confirm 41 --project 1 --review-token <token-from-review> --yes
|
|
52
|
+
ventilatepro categorization review --project 1 --output room-categorization.json
|
|
53
|
+
ventilatepro categorization apply --project 1 --input room-categorization.json --yes
|
|
48
54
|
ventilatepro ahus list --project 1
|
|
49
55
|
ventilatepro systems hierarchy --project 1
|
|
50
56
|
ventilatepro calc status --project 1
|
|
@@ -52,6 +58,9 @@ ventilatepro calc ahu-properties --ahu 1
|
|
|
52
58
|
ventilatepro design-day context --project 1
|
|
53
59
|
ventilatepro notes create --project 1 --body "Captured from terminal"
|
|
54
60
|
ventilatepro notes sync
|
|
61
|
+
ventilatepro meetings context --project 1 --json
|
|
62
|
+
ventilatepro meetings record --project 1 --input meeting.json --json
|
|
63
|
+
ventilatepro meetings list --project 1
|
|
55
64
|
ventilatepro mcp doctor
|
|
56
65
|
ventilatepro-mcp
|
|
57
66
|
```
|
|
@@ -60,6 +69,21 @@ ventilatepro-mcp
|
|
|
60
69
|
and other MCP clients. It uses the same saved base URL and CLI token created by
|
|
61
70
|
`ventilatepro auth login`.
|
|
62
71
|
|
|
72
|
+
For meeting capture, Codex first reads `meetings context` to resolve names to
|
|
73
|
+
stable project-member IDs, interprets the PM's prose into a structured JSON
|
|
74
|
+
payload, and calls `meetings record`. The server atomically creates the meeting,
|
|
75
|
+
decisions, and assigned project tasks and returns a direct web-app link.
|
|
76
|
+
|
|
77
|
+
For room classification, Codex can read the project-specific categorization
|
|
78
|
+
review resource or use the dedicated MCP tools. Review manifests default every
|
|
79
|
+
room to rejected so ambiguous spaces remain visible until a category is
|
|
80
|
+
explicitly accepted with a reason.
|
|
81
|
+
|
|
82
|
+
For staged Revit imports, agents use `revit-imports review` or
|
|
83
|
+
`vp_review_revit_import` first. The returned review token identifies the exact
|
|
84
|
+
payload and diff that was inspected. Confirmation requires that unchanged token
|
|
85
|
+
plus explicit `--yes` or MCP `confirm=true`; stale reviews are rejected.
|
|
86
|
+
|
|
63
87
|
## MCP setup
|
|
64
88
|
|
|
65
89
|
1. In the VentilatePro web app, open Account Settings and create a CLI token with
|
|
@@ -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
|
|
|
@@ -30,6 +30,12 @@ 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 revit-imports review --project 1 --json
|
|
36
|
+
ventilatepro revit-imports confirm 41 --project 1 --review-token <token-from-review> --yes
|
|
37
|
+
ventilatepro categorization review --project 1 --output room-categorization.json
|
|
38
|
+
ventilatepro categorization apply --project 1 --input room-categorization.json --yes
|
|
33
39
|
ventilatepro ahus list --project 1
|
|
34
40
|
ventilatepro systems hierarchy --project 1
|
|
35
41
|
ventilatepro calc status --project 1
|
|
@@ -37,6 +43,9 @@ ventilatepro calc ahu-properties --ahu 1
|
|
|
37
43
|
ventilatepro design-day context --project 1
|
|
38
44
|
ventilatepro notes create --project 1 --body "Captured from terminal"
|
|
39
45
|
ventilatepro notes sync
|
|
46
|
+
ventilatepro meetings context --project 1 --json
|
|
47
|
+
ventilatepro meetings record --project 1 --input meeting.json --json
|
|
48
|
+
ventilatepro meetings list --project 1
|
|
40
49
|
ventilatepro mcp doctor
|
|
41
50
|
ventilatepro-mcp
|
|
42
51
|
```
|
|
@@ -45,6 +54,21 @@ ventilatepro-mcp
|
|
|
45
54
|
and other MCP clients. It uses the same saved base URL and CLI token created by
|
|
46
55
|
`ventilatepro auth login`.
|
|
47
56
|
|
|
57
|
+
For meeting capture, Codex first reads `meetings context` to resolve names to
|
|
58
|
+
stable project-member IDs, interprets the PM's prose into a structured JSON
|
|
59
|
+
payload, and calls `meetings record`. The server atomically creates the meeting,
|
|
60
|
+
decisions, and assigned project tasks and returns a direct web-app link.
|
|
61
|
+
|
|
62
|
+
For room classification, Codex can read the project-specific categorization
|
|
63
|
+
review resource or use the dedicated MCP tools. Review manifests default every
|
|
64
|
+
room to rejected so ambiguous spaces remain visible until a category is
|
|
65
|
+
explicitly accepted with a reason.
|
|
66
|
+
|
|
67
|
+
For staged Revit imports, agents use `revit-imports review` or
|
|
68
|
+
`vp_review_revit_import` first. The returned review token identifies the exact
|
|
69
|
+
payload and diff that was inspected. Confirmation requires that unchanged token
|
|
70
|
+
plus explicit `--yes` or MCP `confirm=true`; stale reviews are rejected.
|
|
71
|
+
|
|
48
72
|
## MCP setup
|
|
49
73
|
|
|
50
74
|
1. In the VentilatePro web app, open Account Settings and create a CLI token with
|