@hilbras/omninode 0.2.0 → 0.4.0

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.
package/README.md CHANGED
@@ -18,7 +18,7 @@ existing intelligence; it does not try to become another model.
18
18
 
19
19
  ## Status
20
20
 
21
- **v0.2.0 — Phase 1: Provider Infrastructure** (see [docs/DEVELOPMENT_PLAN.md](docs/DEVELOPMENT_PLAN.md)
21
+ **v0.4.0 — Phase 3: CLI Agent System** (see [docs/DEVELOPMENT_PLAN.md](docs/DEVELOPMENT_PLAN.md)
22
22
  for the full plan and roadmap).
23
23
 
24
24
  What exists today:
@@ -32,8 +32,18 @@ What exists today:
32
32
  - Health checks: connectivity, authentication and server-error classification
33
33
  - Authentication from environment variables only — keys never touch config files
34
34
  - Chat completions (`IChatProvider`) — the foundation for the planner phases
35
- - Provider factory mapping config to adapters (OmniHilbras gets a dedicated
36
- adapter in Phase 2)
35
+ - Provider factory mapping config to adapters; `omnihilbras` gets a
36
+ dedicated adapter implementing the plan's connect flow —
37
+ Connect → Authenticate → Fetch Models → Validate Models → Register
38
+ - **Agent system** (`src/agents/`):
39
+ - Process adapter: spawns CLI agents as child processes with lifecycle
40
+ management — environment, working directory, exit codes, stderr logs,
41
+ per-task timeouts (SIGTERM → SIGKILL) and cancellation
42
+ - Three input modes: `stdin` (composed task text on stdin), `arg` (prompt as
43
+ last argument) and `protocol` (the §21 JSON-lines task protocol —
44
+ `TASK`/`ROLE`/`CONTEXT`/`INSTRUCTION` envelopes in, `REPORT`/`COMPLETION`/
45
+ `ERROR` messages out, parsed into structured reports)
46
+ - Agent factory and registry (`createAgent`, `AgentRegistry`)
37
47
  - Typed error hierarchy (`src/errors/`)
38
48
  - Leveled logger with pluggable sink (`src/logger/`)
39
49
  - Configuration system: `omninode.yaml` with `${ENV_VAR}` expansion and strict
@@ -75,6 +85,14 @@ omninode agent list
75
85
  omninode role list
76
86
  ```
77
87
 
88
+ Register and verify a CLI agent (anything executable works — `opencode`,
89
+ `kimi`, a custom script):
90
+
91
+ ```bash
92
+ omninode agent add --name opencode --command opencode --input-mode arg
93
+ omninode agent test opencode # sends a trivial task over the real adapter
94
+ ```
95
+
78
96
  See [omninode.yaml.example](omninode.yaml.example) for a full configuration.
79
97
 
80
98
  ### Configuration
@@ -105,9 +123,9 @@ Phases 0–11 are laid out in [docs/DEVELOPMENT_PLAN.md](docs/DEVELOPMENT_PLAN.m
105
123
  | Version | Milestone |
106
124
  | --- | --- |
107
125
  | v0.1.0 | Foundation |
108
- | **v0.2.0** | **Provider System (current)** |
126
+ | v0.2.0 | Provider System |
109
127
  | v0.3.0 | OmniHilbras Integration (optional, like every provider) |
110
- | v0.4.0 | Agent System |
128
+ | **v0.4.0** | **CLI Agent System (current)** |
111
129
  | v0.5.0 | Roles & Tasks |
112
130
  | v0.6.0 | Pipeline Engine |
113
131
  | v0.7.0 | Multi-AI Reports |
@@ -128,6 +146,24 @@ npm install -g @hilbras/omninode
128
146
 
129
147
  Or use it as a library: `npm install @hilbras/omninode`.
130
148
 
149
+ ## Connecting OmniHilbras
150
+
151
+ OmniHilbras is one provider source among many — always optional. The core
152
+ architectural rule stands: OmniNode runs with **zero Hilbras dependencies**.
153
+
154
+ The dedicated adapter implements the plan's connect flow on top of the
155
+ gateway's OpenAI-compatible API surface and tags discovered models with
156
+ `gateway: omnihilbras` metadata:
157
+
158
+ ```bash
159
+ omninode provider add --name omnihilbras --type omnihilbras \
160
+ --base-url https://your-omnihbras-host/v1 \
161
+ --api-key-env-var OMNIHILBRAS_API_KEY
162
+
163
+ omninode provider test omnihilbras --connect # full connect flow + registration
164
+ omninode models omnihilbras # list the gateway's models
165
+ ```
166
+
131
167
  ## License
132
168
 
133
169
  [MIT](LICENSE)