honcho/tests
Anthony Yuan f75b336a3c
feat: add generate_jwt.py script for creating scoped JWTs (#757)
* feat: add generate_jwt.py script for creating scoped JWTs

Adds a CLI utility script for generating Honcho JWTs without needing
to call the /v1/keys API endpoint. Useful for local development and
bootstrapping admin tokens.

Features:
- --admin flag for full-access tokens
- --workspace / --peer / --session flags for scoped tokens
- --expires flag with human-friendly duration syntax (e.g. 5h, 30d, 1y)
- --print-only flag for scripting (outputs bare token)

Examples:
  uv run python scripts/generate_jwt.py --admin
  uv run python scripts/generate_jwt.py --admin --expires 24h
  uv run python scripts/generate_jwt.py --workspace my-ws --expires 30d
  uv run python scripts/generate_jwt.py --workspace my-ws --peer my-peer --expires 1y

* docs: document generate_jwt.py in README auth setup section

* fix: remove t='' override to preserve utc_now_iso default in JWTParams

Per CodeRabbit review: explicitly setting t="" bypasses JWTParams's
default utc_now_iso timestamp, causing tokens for the same scope to
become byte-identical. Omitting t lets the default apply, ensuring
each generated token is unique.

* fix: address JWT script review feedback

* fix: type, lint

---------

Co-authored-by: Rajat Ahuja <rahuja445@gmail.com>
2026-06-09 13:49:55 -04:00
..
alembic feat: make session_name nullable for documents and update related SDKs (#347) 2026-01-26 13:33:11 -05:00
bench feat: add new cloudevents for api routes (#637) 2026-05-20 18:25:30 -04:00
crud feat: add new cloudevents for api routes (#637) 2026-05-20 18:25:30 -04:00
deriver Deriver Jitter (#765) 2026-06-02 11:48:36 -04:00
dialectic Refactor clients.py to add modern features and more flexible configuration (#459) 2026-04-20 02:46:37 -04:00
dreamer fix: reframe peer card prompts as stable identity markers (#686) 2026-05-21 13:25:34 -04:00
integration feat: add new cloudevents for api routes (#637) 2026-05-20 18:25:30 -04:00
live_llm Refactor clients.py to add modern features and more flexible configuration (#459) 2026-04-20 02:46:37 -04:00
llm fix: reframe peer card prompts as stable identity markers (#686) 2026-05-21 13:25:34 -04:00
reconciler fix: Various Codex Audits (#386) 2026-02-13 12:00:15 -05:00
routes feat(api): restore reverse pagination (#685) 2026-05-21 13:40:47 -04:00
scripts feat: add new cloudevents for api routes (#637) 2026-05-20 18:25:30 -04:00
sdk fix(sdk): add peer field to session creation methods (#705) 2026-05-21 12:31:53 -04:00
sdk_typescript Make embeddings configurable (#678) 2026-05-14 15:03:35 -04:00
startup feat: add new cloudevents for api routes (#637) 2026-05-20 18:25:30 -04:00
telemetry feat: add new cloudevents for api routes (#637) 2026-05-20 18:25:30 -04:00
unified fix(tests/unified): use argparse mutex group for --test-dir/--test-file 2026-05-05 12:31:23 -04:00
utils fix: reframe peer card prompts as stable identity markers (#686) 2026-05-21 13:25:34 -04:00
vector_store Make embeddings configurable (#678) 2026-05-14 15:03:35 -04:00
webhooks Tighten Transaction Scopes (#525) 2026-04-08 11:14:50 -04:00
__init__.py Refactor clients.py to add modern features and more flexible configuration (#459) 2026-04-20 02:46:37 -04:00
conftest.py feat: add generate_jwt.py script for creating scoped JWTs (#757) 2026-06-09 13:49:55 -04:00
test_advanced_filters.py feat: honcho 3.0, sdks 2.0, excise stainless, update v3 docs, changelogs (#331) 2026-01-22 15:16:28 -05:00
test_config.py feat: deriver custom instructions (#609) 2026-05-11 18:05:42 -04:00
test_datetime_parsing.py Make embeddings configurable (#678) 2026-05-14 15:03:35 -04:00
test_db_resilience.py Deriver Jitter (#765) 2026-06-02 11:48:36 -04:00
test_dependencies.py Deriver Jitter (#765) 2026-06-02 11:48:36 -04:00
test_generate_jwt_script.py feat: add generate_jwt.py script for creating scoped JWTs (#757) 2026-06-09 13:49:55 -04:00
test_models_vector_dim.py feat: add new cloudevents for api routes (#637) 2026-05-20 18:25:30 -04:00
test_schema_validations.py Align API contract with DB contract for IDs (#684) 2026-05-14 16:37:39 -04:00
test_search.py Tighten Transaction Scopes (#525) 2026-04-08 11:14:50 -04:00