hankweave 0.5.7 → 0.6.1
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 +12 -11
- package/dist/index.js +398 -311
- package/dist/index.js.map +32 -28
- package/dist/shims/codex/README.md +129 -0
- package/dist/shims/codex/THIRDPARTY.md +18 -0
- package/dist/shims/codex/VERSION +1 -0
- package/dist/shims/codex/common/package.json +24 -0
- package/dist/shims/codex/index.js +1156 -971
- package/dist/shims/codex/package.json +46 -0
- package/dist/shims/codex/tsup.config.ts +16 -0
- package/dist/shims/gemini/README.md +59 -0
- package/dist/shims/gemini/THIRDPARTY.md +32 -0
- package/dist/shims/gemini/VERSION +1 -0
- package/dist/shims/gemini/common/package.json +24 -0
- package/dist/shims/gemini/index.js +1359 -30
- package/dist/shims/gemini/package.json +37 -0
- package/dist/shims/opencode/README.md +82 -0
- package/dist/shims/opencode/THIRDPARTY.md +32 -0
- package/dist/shims/opencode/VERSION +1 -0
- package/dist/shims/opencode/common/package.json +24 -0
- package/dist/shims/opencode/index.js +1476 -0
- package/dist/shims/opencode/package.json +38 -0
- package/dist/shims/pi/README.md +87 -0
- package/dist/shims/pi/THIRDPARTY.md +24 -0
- package/dist/shims/pi/VERSION +1 -0
- package/dist/shims/pi/common/package.json +24 -0
- package/dist/shims/pi/index.js +249832 -0
- package/dist/shims/pi/package.json +53 -0
- package/package.json +2 -2
- package/schemas/hank.schema.json +158 -3
- package/schemas/hankweave.schema.json +17 -1
- package/shims/codex/index.js +0 -1583
- package/shims/gemini/index.js +0 -31
package/README.md
CHANGED
|
@@ -34,7 +34,8 @@ Hankweave takes care of long-running executions, while:
|
|
|
34
34
|
- **Preflight checks** catch as many problems as possible before the first token is cast - API keys, model availability, file paths, rig configs, sentinel schemas.
|
|
35
35
|
- **Sentinels** monitor the event stream in real time to catch drift, laziness, and convention violations - functioning as error detectors, narrators, and real-time evals while keeping the core agent focused.
|
|
36
36
|
- **Looping** sequences repeat complex tasks, trading compute for reliability using Agentic Dynamic Programming.
|
|
37
|
-
- **
|
|
37
|
+
- **Budgets** let hank authors and operators independently express cost, time, and token limits. The runtime resolves competing preferences, distributes budgets across codons and loops, and enforces them in real time — including budget-driven variable loop termination.
|
|
38
|
+
- **Harness abstraction** lets hanks run on Claude Code, Codex, Gemini CLI, Pi, OpenCode, or any agent that exposes the right capabilities. Test in your preferred coding agent, then freeze and ship. Swap harnesses seamlessly, or build new ones using [Clausetta](./learning/examples/clausetta/), our hank for auto-generating shims.
|
|
38
39
|
- **Rigs** provide deterministic code loading and workspace setup, so the same codon runs the same way every time.
|
|
39
40
|
- **Checkpointing and rollbacks** create git snapshots at every codon boundary. When something fails, roll back to any point and try a different approach.
|
|
40
41
|
- **Structured event journal** traces every tool call and decision back to its source, making it possible to pinpoint where a 20-hour run went wrong.
|
|
@@ -61,7 +62,7 @@ Today, Hankweave is responsible for executing all reliable AI work at Southbridg
|
|
|
61
62
|
|
|
62
63
|
## How Hankweave Works
|
|
63
64
|
|
|
64
|
-
The Hankweave runtime is a **server** that orchestrates agent harnesses - Claude Code, Gemini CLI, and others - to execute hanks reliably. Written entirely in Typescript, Hankweave is designed to be a configurable bottom-of-the-stack runtime that can run almost anywhere. Here's the full picture:
|
|
65
|
+
The Hankweave runtime is a **server** that orchestrates agent harnesses - Claude Code, Codex, Gemini CLI, Pi, OpenCode, and others - to execute hanks reliably. Written entirely in Typescript, Hankweave is designed to be a configurable bottom-of-the-stack runtime that can run almost anywhere. Here's the full picture:
|
|
65
66
|
|
|
66
67
|
```
|
|
67
68
|
┌─────────────────────────────────┐
|
|
@@ -83,12 +84,12 @@ The Hankweave runtime is a **server** that orchestrates agent harnesses - Claude
|
|
|
83
84
|
EVENTS (WebSocket) ORCHESTRATES
|
|
84
85
|
│ │
|
|
85
86
|
▼ ▼
|
|
86
|
-
┌─────────────────────────┐
|
|
87
|
-
│ CONSUMERS │ │ Claude
|
|
88
|
-
│ │ │ Code
|
|
89
|
-
│ Basic CLI (included) │
|
|
90
|
-
│ Data pipelines │
|
|
91
|
-
│ CI systems │
|
|
87
|
+
┌─────────────────────────┐ ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ ┌──────────┐
|
|
88
|
+
│ CONSUMERS │ │ Claude │ │ Gemini │ │ Codex │ │ Pi │ │ OpenCode │
|
|
89
|
+
│ │ │ Code │ │ CLI │ │ │ │ │ │ │
|
|
90
|
+
│ Basic CLI (included) │ └───┬────┘ └───┬────┘ └───┬────┘ └───┬────┘ └────┬─────┘
|
|
91
|
+
│ Data pipelines │ │ │ │ │ │
|
|
92
|
+
│ CI systems │ └──────────┴──────────┴──────────┴───────────┘
|
|
92
93
|
│ Custom UIs │ │
|
|
93
94
|
│ │ ▼
|
|
94
95
|
└─────────────────────────┘ ┌─────────────────────────────────────────────┐
|
|
@@ -250,16 +251,16 @@ Files. One codon writes to the filesystem, the next reads from it. There's no im
|
|
|
250
251
|
|
|
251
252
|
It depends on the hank and the models you choose. A complex planning hank might cost $10-15 per run on frontier models. Simpler hanks can cost pennies.
|
|
252
253
|
|
|
253
|
-
The key insight is that as hanks mature, you can move to faster and cheaper models. Early iteration needs the best model you can get; once the prompts, rigs, and sentinels are dialed in, the structure does the heavy lifting and cheaper models perform well. Try running any hank with `-m haiku` to quickly prototype.
|
|
254
|
+
The key insight is that as hanks mature, you can move to faster and cheaper models. Early iteration needs the best model you can get; once the prompts, rigs, and sentinels are dialed in, the structure does the heavy lifting and cheaper models perform well. Try running any hank with `-m haiku` to quickly prototype, or use `--max-cost 0.50 -m haiku` for a budget-capped pilot run.
|
|
254
255
|
|
|
255
|
-
Hankweave includes per-codon [cost and token tracking](https://hankweave.southbridge.ai/reference/performance/)
|
|
256
|
+
Hankweave includes per-codon [cost and token tracking](https://hankweave.southbridge.ai/reference/performance/) and a [budget system](https://hankweave.southbridge.ai/concepts/budgets/) that lets authors allocate budgets across codons and loops, and operators cap runs with `--max-cost` and `--max-time`.
|
|
256
257
|
|
|
257
258
|
</details>
|
|
258
259
|
|
|
259
260
|
<details>
|
|
260
261
|
<summary><strong>What models and harnesses are supported?</strong></summary>
|
|
261
262
|
|
|
262
|
-
|
|
263
|
+
Five agent harnesses ship with Hankweave: **Claude Code** (via the Agents SDK, in-process), **Gemini CLI**, **Codex**, **Pi** (embedded — no external CLI install needed), and **OpenCode** (all via shims). You can mix harnesses in the same hank — use Claude for targeted coding, Gemini for writing, Codex for planning. And you can build new ones: if an agent exposes the required capabilities, you can run the polymorphic hank, plug in information about the agent you want supported, and Hankweave - using a hank - will build a shim to connect it.
|
|
263
264
|
|
|
264
265
|
</details>
|
|
265
266
|
|