Metadata-Version: 2.4
Name: heyasa
Version: 0.2.0
Summary: Hey Asa (Asa — Assistant) — Unified Autonomous Assistant, Voice, CLI Shell & Half-Screen Desktop HUD
Author: Tom Sapletta
Author-email: Tom Sapletta <tom@sapletta.com>
License-Expression: Apache-2.0
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Provides-Extra: mcp
Requires-Dist: mcp>=1.0.0; extra == "mcp"
Provides-Extra: grpc
Requires-Dist: grpcio>=1.60.0; extra == "grpc"
Provides-Extra: dev
Requires-Dist: pytest>=7.0.0; extra == "dev"
Requires-Dist: goal>=2.1.0; python_version >= "3.12" and extra == "dev"
Requires-Dist: costs>=0.1.53; python_version >= "3.9" and extra == "dev"
Dynamic: license-file

# Hey Asa (`heyasa`)


## AI Cost Tracking

![PyPI](https://img.shields.io/badge/pypi-costs-blue) ![Version](https://img.shields.io/badge/version-0.2.0-blue) ![Python](https://img.shields.io/badge/python-3.9+-blue) ![License](https://img.shields.io/badge/license-Apache--2.0-green)
![AI Cost](https://img.shields.io/badge/AI%20Cost-$0.32-orange) ![Human Time](https://img.shields.io/badge/Human%20Time-3.5h-blue) ![Model](https://img.shields.io/badge/Model-openrouter%2Fqwen%2Fqwen3--coder--next-lightgrey)

- 🤖 **LLM usage:** $0.3195 (8 commits)
- 👤 **Human dev:** ~$350 (3.5h @ $100/h, 30min dedup)

Generated on 2026-10-18 using [openrouter/qwen/qwen3-coder-next](https://openrouter.ai/qwen/qwen3-coder-next)

---

**Asa — Assistant (`Hey Asa`)** — zunifikowany asystent autonomiczny, powłoka CLI, interfejs głosowy oraz okno Desktop HUD (`<= 50%` wysokości ekranu) z obsługą 15 scenariuszy biznesowych z `https://heyasa.com/oferta`.

## Wydawanie i dostawy (governed delivery)

Od wersji **0.2.0** wydania `heyasa` realizowane są wyłącznie ustrukturyzowanym
kanałem `goal -a` (Goal ≥ 2.2.1, tryb `pull-request`):

1. **Praca biletowa** — każdy materialny udział jest wiązany z biletem
   (`project/ticket-NNN`), własnym worktree `ticket/NNN-…` i dzierżawą scope
   (jeden bilet = jeden workstream: `application` / `integration` / `governance`).
2. **`goal -a` w worktree** — wykrywa zmiany, buduje wpis `CHANGELOG`,
   commituje na gałęzi biletu, wypycha i otwiera pull request; publikacja do
   rejestru (PyPI) czeka na merge i nigdy nie następuje bezpośrednio z gałęzi.
3. **Weryfikacja chroniona** — lokalny OneDev uruchamia profilowany zestaw
   regresji dla zmienionych ścieżek; niezależny Validator (bot) zatwierdza
   i scala PR dopiero po powodzeniu bramek.
4. **Publikacja po merge** — kolejne `goal -a` na scalonym `main` kończy cykl:
   tag wersji, wydanie i upload do PyPI.

Bezpośrednie commity na `main` i pomijanie bramek są wyłączone konfiguracją
`goal.yaml` (`governance.delivery.require_goal_a: true`, mode `pull-request`).

## Główne właściwości

- **Jedna nazwa i marka**: **Hey Asa** (aplikacja **Asa — Assistant**, wake phrase: `Hey Asa`).
- **Wbudowany mikrofon i głos (`heyasa voice`)**:
  - Domyślnie aktywny mikrofon i nasłuchiwanie komend głosowych „Hey Asa…”,
  - Automatyczny zapis konfiguracji mikrofonu i mostu głosowego w `~/.heyasa/state/voice_state.json`.
- **Domyślne poziomy autonomii (`--autonomy`)**:
  - **Tryb interaktywny (TTY / REPL / HUD)**: `confirm` — prezentuje plan i oczekuje na zgodę człowieka przed wykonaniem akcji,
  - **Tryb wsadowy / agentowy (non-TTY / batch)**: `execute-once` — wykonuje maksymalnie jeden atomowy cykl i automatycznie wraca do stanu `safe`,
  - Pozostałe tryby: `suggest` (tylko plan / `--dry-run`) oraz `auto` (w ramach jawnego grantu autonomii).
- **Wieloprotokołowe interfejsy (`Asa — Assistant`)**:
  - `heyasa [polecenie]` / `heyasa shell` — CLI one-shot oraz interaktywny REPL (`Hey Asa · ASA — ASSISTANT`),
  - `heyasa hud [--top|--bottom|--bench|--export-tauri]` — uruchamianie i przełączanie okna **Hey Asa — Asa Assistant** zajmującego maksymalnie **50% wysokości ekranu** (Tauri v2 Wry / Chromium `--app`),
  - `heyasa switch <tool|pane|preset|next|prev>` — błyskawiczne przełączanie widoków na ekranie (`[A] Rozmowa / Głos`, `[B] Pliki`, `[C] Zadania Asa`, `[D] Akceptacja`, `[E] Autonomia Asa`, `[F] Środowisko Asa`, widoki `ops`/`dev`/`compact`),
  - `heyasa mcp` — serwer MCP (`stdio` oraz `streamable-http` na `:7081`),
  - `heyasa serve` — zunifikowany serwer REST + SSE + `/hud` (`:7080`),
  - `heyasa grpc` — serwer gRPC (`:7082` oraz UDS),
  - `heyasa acp` — serwer Agent Client Protocol v1 (`stdin/stdout` JSON-RPC),
  - `heyasa open <uri>` — dispatcher RFC 3986 Action URI (`heyasa://`, `asa://`).



## License

Licensed under Apache-2.0.
