hum-cli 0.1.2__tar.gz → 0.1.4__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 (51) hide show
  1. {hum_cli-0.1.2 → hum_cli-0.1.4}/.github/workflows/publish.yml +8 -5
  2. {hum_cli-0.1.2 → hum_cli-0.1.4}/PKG-INFO +1 -1
  3. {hum_cli-0.1.2 → hum_cli-0.1.4}/README.md +2 -2
  4. {hum_cli-0.1.2 → hum_cli-0.1.4}/hum/__init__.py +1 -1
  5. {hum_cli-0.1.2 → hum_cli-0.1.4}/npm/package.json +3 -3
  6. {hum_cli-0.1.2 → hum_cli-0.1.4}/pyproject.toml +1 -1
  7. {hum_cli-0.1.2 → hum_cli-0.1.4}/server/app.py +1 -1
  8. {hum_cli-0.1.2 → hum_cli-0.1.4}/tui/src/cli.jsx +1 -1
  9. {hum_cli-0.1.2 → hum_cli-0.1.4}/.github/workflows/test.yml +0 -0
  10. {hum_cli-0.1.2 → hum_cli-0.1.4}/.gitignore +0 -0
  11. {hum_cli-0.1.2 → hum_cli-0.1.4}/hum/adapters/__init__.py +0 -0
  12. {hum_cli-0.1.2 → hum_cli-0.1.4}/hum/adapters/harbor.py +0 -0
  13. {hum_cli-0.1.2 → hum_cli-0.1.4}/hum/auth.py +0 -0
  14. {hum_cli-0.1.2 → hum_cli-0.1.4}/hum/catalog.py +0 -0
  15. {hum_cli-0.1.2 → hum_cli-0.1.4}/hum/cli.py +0 -0
  16. {hum_cli-0.1.2 → hum_cli-0.1.4}/hum/engine.py +0 -0
  17. {hum_cli-0.1.2 → hum_cli-0.1.4}/hum/runtime/__init__.py +0 -0
  18. {hum_cli-0.1.2 → hum_cli-0.1.4}/hum/runtime/agents.py +0 -0
  19. {hum_cli-0.1.2 → hum_cli-0.1.4}/hum/runtime/autonomy.py +0 -0
  20. {hum_cli-0.1.2 → hum_cli-0.1.4}/hum/runtime/config.py +0 -0
  21. {hum_cli-0.1.2 → hum_cli-0.1.4}/hum/runtime/drivers.py +0 -0
  22. {hum_cli-0.1.2 → hum_cli-0.1.4}/hum/runtime/executor.py +0 -0
  23. {hum_cli-0.1.2 → hum_cli-0.1.4}/hum/runtime/grader.py +0 -0
  24. {hum_cli-0.1.2 → hum_cli-0.1.4}/hum/runtime/llm.py +0 -0
  25. {hum_cli-0.1.2 → hum_cli-0.1.4}/hum/runtime/loop.py +0 -0
  26. {hum_cli-0.1.2 → hum_cli-0.1.4}/hum/runtime/models.py +0 -0
  27. {hum_cli-0.1.2 → hum_cli-0.1.4}/hum/runtime/observe.py +0 -0
  28. {hum_cli-0.1.2 → hum_cli-0.1.4}/hum/runtime/prompt.py +0 -0
  29. {hum_cli-0.1.2 → hum_cli-0.1.4}/hum/runtime/session.py +0 -0
  30. {hum_cli-0.1.2 → hum_cli-0.1.4}/hum/runtime/store.py +0 -0
  31. {hum_cli-0.1.2 → hum_cli-0.1.4}/hum/runtime/tools.py +0 -0
  32. {hum_cli-0.1.2 → hum_cli-0.1.4}/hum/runtime/trajectory.py +0 -0
  33. {hum_cli-0.1.2 → hum_cli-0.1.4}/hum/runtime/workspace.py +0 -0
  34. {hum_cli-0.1.2 → hum_cli-0.1.4}/hum/sync.py +0 -0
  35. {hum_cli-0.1.2 → hum_cli-0.1.4}/hum/tui/cli.mjs +0 -0
  36. {hum_cli-0.1.2 → hum_cli-0.1.4}/hum/ui.py +0 -0
  37. {hum_cli-0.1.2 → hum_cli-0.1.4}/npm/bin/hum.js +0 -0
  38. {hum_cli-0.1.2 → hum_cli-0.1.4}/npm/scripts/postinstall.js +0 -0
  39. {hum_cli-0.1.2 → hum_cli-0.1.4}/server/__init__.py +0 -0
  40. {hum_cli-0.1.2 → hum_cli-0.1.4}/server/modal_app.py +0 -0
  41. {hum_cli-0.1.2 → hum_cli-0.1.4}/tests/test_cli.py +0 -0
  42. {hum_cli-0.1.2 → hum_cli-0.1.4}/tests/test_runtime.py +0 -0
  43. {hum_cli-0.1.2 → hum_cli-0.1.4}/tests/test_server_and_auth.py +0 -0
  44. {hum_cli-0.1.2 → hum_cli-0.1.4}/tests/test_sme_ready.py +0 -0
  45. {hum_cli-0.1.2 → hum_cli-0.1.4}/tui/package-lock.json +0 -0
  46. {hum_cli-0.1.2 → hum_cli-0.1.4}/tui/package.json +0 -0
  47. {hum_cli-0.1.2 → hum_cli-0.1.4}/tui/src/app.jsx +0 -0
  48. {hum_cli-0.1.2 → hum_cli-0.1.4}/tui/src/devtools-stub.js +0 -0
  49. {hum_cli-0.1.2 → hum_cli-0.1.4}/tui/src/engine.js +0 -0
  50. {hum_cli-0.1.2 → hum_cli-0.1.4}/tui/src/input.jsx +0 -0
  51. {hum_cli-0.1.2 → hum_cli-0.1.4}/tui/src/markdown.js +0 -0
@@ -1,6 +1,6 @@
1
1
  name: publish
2
2
  # Tag vX.Y.Z → build the terminal UI bundle, build the Python package (bundle inside),
3
- # publish to PyPI (trusted publishing, no token) and to npm (@metaphi/hum, NPM_TOKEN secret).
3
+ # publish to PyPI and to npm (@metaphi-ai/hum) — both by trusted publishing, no tokens anywhere.
4
4
  on:
5
5
  push:
6
6
  tags: ["v*"]
@@ -30,13 +30,16 @@ jobs:
30
30
  with: { name: dist, path: dist/ }
31
31
  - uses: pypa/gh-action-pypi-publish@release/v1
32
32
  publish-npm:
33
+ # npm trusted publishing (OIDC): the package's Settings → Trusted publishers names this repo + workflow; no token.
33
34
  needs: build
34
35
  runs-on: ubuntu-latest
35
- continue-on-error: true # until the npm org + NPM_TOKEN exist, PyPI still ships
36
+ permissions:
37
+ id-token: write
38
+ contents: read
36
39
  steps:
37
40
  - uses: actions/download-artifact@v4
38
41
  with: { name: npm, path: npm/ }
39
42
  - uses: actions/setup-node@v4
40
- with: { node-version: 20, registry-url: "https://registry.npmjs.org" }
41
- - run: cd npm && npm publish --access public
42
- env: { NODE_AUTH_TOKEN: "${{ secrets.NPM_TOKEN }}" }
43
+ with: { node-version: 22, registry-url: "https://registry.npmjs.org" }
44
+ - run: npm install -g npm@latest # trusted publishing needs npm 11.5
45
+ - run: cd npm && npm publish --access public --provenance=false # attestation needs a public repo; this one is private
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.5
2
2
  Name: hum-cli
3
- Version: 0.1.2
3
+ Version: 0.1.4
4
4
  Summary: An agent harness built as an RL environment that humans can drive: session trees, interchangeable human/policy drivers, counterfactual shadow, earned autonomy, verifier in the loop.
5
5
  Requires-Python: >=3.12
6
6
  Requires-Dist: httpx>=0.27
@@ -16,7 +16,7 @@ What makes it different from a coding agent:
16
16
  ## Run it
17
17
 
18
18
  ```bash
19
- npm install -g @metaphi/hum # or: uv tool install hum-cli (either one installs both halves)
19
+ npm install -g @metaphi-ai/hum # or: uv tool install hum-cli (either one installs both halves)
20
20
  hum login # browser opens → sign in with Google → back to the terminal
21
21
  cd your-repo
22
22
  hum # say what we're doing; it works, streams, shows its tool calls
@@ -52,6 +52,6 @@ One JSONL per session, a tree of nodes. Every node: who acted (policy / human /
52
52
  hum/runtime/ session tree · drivers · loop (shadow, compaction) · workspace (tree ids, patches) · autonomy · tools (+MCP) · grader · llm (streams) · observe · trajectory (ATIF)
53
53
  hum/adapters/ harbor
54
54
  hum/cli.py commands, the Rich client, the TUI launcher · hum/engine.py the loop as a line protocol for a front-end
55
- tui/ the Ink terminal UI (builds to hum/tui/cli.mjs and npm/dist) · npm/ the npm package (@metaphi/hum)
55
+ tui/ the Ink terminal UI (builds to hum/tui/cli.mjs and npm/dist) · npm/ the npm package (@metaphi-ai/hum)
56
56
  server/ sign-in · model proxy · MCP proxy · session intake (one Modal app)
57
57
  ```
@@ -1,4 +1,4 @@
1
1
  """Hum — an agent harness built as an RL environment that humans can drive.
2
2
 
3
3
  हम (Hindi): we, us. Human and model, one harness."""
4
- __version__ = "0.1.2"
4
+ __version__ = "0.1.4"
@@ -1,6 +1,6 @@
1
1
  {
2
- "name": "@metaphi/hum",
3
- "version": "0.1.2",
2
+ "name": "@metaphi-ai/hum",
3
+ "version": "0.1.4",
4
4
  "description": "Hum — हम. Human and model, one harness. A coding agent for your terminal.",
5
5
  "license": "UNLICENSED",
6
6
  "type": "module",
@@ -8,5 +8,5 @@
8
8
  "files": ["bin", "dist", "scripts"],
9
9
  "scripts": { "postinstall": "node scripts/postinstall.js" },
10
10
  "engines": { "node": ">=18" },
11
- "repository": { "type": "git", "url": "https://github.com/metaphi-labs/hum-cli" }
11
+ "repository": { "type": "git", "url": "git+https://github.com/metaphi-labs/hum-cli.git" }
12
12
  }
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "hum-cli"
3
- version = "0.1.2"
3
+ version = "0.1.4"
4
4
  description = "An agent harness built as an RL environment that humans can drive: session trees, interchangeable human/policy drivers, counterfactual shadow, earned autonomy, verifier in the loop."
5
5
  requires-python = ">=3.12"
6
6
  dependencies = ["pydantic>=2", "litellm>=1.70", "mcp>=1.2", "rich>=13", "prompt_toolkit>=3.0", "httpx>=0.27"]
@@ -64,7 +64,7 @@ if os.environ.get("HUM_ROUTES_JSON"):
64
64
  # A header value starting with "$" names an environment variable.
65
65
  MCPS: dict[str, dict[str, Any]] = json.loads(os.environ["HUM_MCP_JSON"]) if os.environ.get("HUM_MCP_JSON") else {}
66
66
 
67
- app = FastAPI(title="hum", version="0.1.2")
67
+ app = FastAPI(title="hum", version="0.1.4")
68
68
 
69
69
 
70
70
  # --- storage ------------------------------------------------------------------------
@@ -1,6 +1,6 @@
1
1
  // Entry point. Two ways in: Python launched us and set HUM_ENGINE_PORT
2
2
  // (`uv tool install hum-cli` → `hum`), or we are the npm entry and spawn the
3
- // engine ourselves (`npm i -g @metaphi/hum` → `hum`).
3
+ // engine ourselves (`npm i -g @metaphi-ai/hum` → `hum`).
4
4
  // hum [task] hum resume [name] hum --plain → not here (Python's Rich client)
5
5
 
6
6
  import React from 'react';
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes