machinaos 0.0.81 → 0.0.82

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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "react-flow-client",
3
3
  "private": true,
4
- "version": "0.0.81",
4
+ "version": "0.0.82",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "start": "vite --host 0.0.0.0",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "machinaos",
3
- "version": "0.0.81",
3
+ "version": "0.0.82",
4
4
  "description": "Open source workflow automation platform with AI agents, React Flow, and n8n-inspired architecture",
5
5
  "type": "module",
6
6
  "keywords": [
@@ -53,6 +53,7 @@
53
53
  "!**/node_modules/",
54
54
  "!**/.vite/",
55
55
  ".env.template",
56
+ "pyproject.toml",
56
57
  "README.md",
57
58
  "install.sh",
58
59
  "install.ps1"
package/pyproject.toml ADDED
@@ -0,0 +1,57 @@
1
+ [project]
2
+ name = "machinaos-cli"
3
+ version = "0.1.0"
4
+ description = "MachinaOS project supervisor CLI (machina)."
5
+ requires-python = ">=3.12"
6
+ dependencies = [
7
+ "typer>=0.12",
8
+ "rich>=13",
9
+ "anyio>=4",
10
+ "psutil>=6",
11
+ # OS-native user data / cache / config / log dirs. Soft dependency
12
+ # in the CLI (``cli/platform_.py`` imports it inside a try/except
13
+ # and falls back to a stdlib implementation if the wheel isn't
14
+ # available) so ``machina clean`` / ``machina build`` still work
15
+ # immediately after a wipe, before ``pip install`` has had a
16
+ # chance to materialise it.
17
+ "platformdirs>=4.0",
18
+ # Required on Windows for the supervisor's Job Object (cli/tree.py).
19
+ # Without it, child processes survive abnormal supervisor exit
20
+ # (SIGKILL, BSOD, console close) and accumulate as orphans across
21
+ # dev restarts. Floor 308 is the first release shipping prebuilt
22
+ # wheels for Python 3.13.
23
+ "pywin32>=308; platform_system == 'Windows'",
24
+ ]
25
+
26
+ [project.scripts]
27
+ machina = "cli.cli:app"
28
+
29
+ [build-system]
30
+ requires = ["hatchling"]
31
+ build-backend = "hatchling.build"
32
+
33
+ [tool.hatch.build.targets.wheel]
34
+ packages = ["cli"]
35
+
36
+ # The CLI runs under the user's global / pipx-managed Python — it is
37
+ # NOT a uv-managed project. ``managed = false`` tells ``uv`` to leave
38
+ # this project alone: ``uv sync`` at the repo root is a no-op, no
39
+ # ``<repo>/.venv/`` is created, ``python`` on PATH resolves to the
40
+ # user's global interpreter instead of being shadowed by a workspace
41
+ # venv. The server is the only uv-managed project (``server/.venv``).
42
+ [tool.uv]
43
+ managed = false
44
+
45
+ [dependency-groups]
46
+ dev = []
47
+
48
+ # ``machinaos-cli`` is a standalone Python CLI package -- installable
49
+ # via ``pipx install .`` / ``pip install .`` against any Python >=3.12
50
+ # without involving uv. It depends on nothing from ``server/``. The
51
+ # server has its own uv-managed venv at ``server/.venv``; the CLI
52
+ # invokes server-side commands by shelling out via ``cli.run.uv_run``
53
+ # (which runs ``uv run --no-sync ...`` with ``cwd=server/`` so uv
54
+ # discovers ``server/pyproject.toml`` and activates ``server/.venv``).
55
+ # Keeping the CLI independent of the uv workspace means contributors
56
+ # can install / run / debug ``machina`` on whatever interpreter is on
57
+ # PATH -- no per-checkout venv activation required.
@@ -23,12 +23,20 @@ const ROOT = resolve(__dirname, '..');
23
23
  process.env.PYTHONUTF8 = '1';
24
24
 
25
25
  function run(cmd, cwd = ROOT, timeoutMs = 300000) {
26
+ // Strip VIRTUAL_ENV from the spawned env. When the user runs
27
+ // ``npm install -g machinaos`` from a shell that has activated a
28
+ // venv (very common during dev), uv emits a noisy ``VIRTUAL_ENV
29
+ // ... does not match the project environment path`` warning per
30
+ // invocation. uv only honours VIRTUAL_ENV with ``--active``, which
31
+ // we never pass, so dropping it at the source is the documented
32
+ // workaround. Same fix applied to cli/supervisor.py's _full_env.
33
+ const { VIRTUAL_ENV, ...cleanEnv } = process.env;
26
34
  execSync(cmd, {
27
35
  cwd,
28
36
  stdio: 'inherit',
29
37
  shell: true,
30
38
  timeout: timeoutMs,
31
- env: { ...process.env, MACHINAOS_INSTALLING: 'true' }
39
+ env: { ...cleanEnv, MACHINAOS_INSTALLING: 'true' }
32
40
  });
33
41
  }
34
42