@tangle-network/agent-runtime 0.344.0 → 0.349.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/dist/{activation-C5rFWXGj.js → activation-tNGW73Y9.js} +4 -4
- package/dist/{activation-C5rFWXGj.js.map → activation-tNGW73Y9.js.map} +1 -1
- package/dist/{activation-CGtGr0qu.d.ts → activation-wBipBkCf.d.ts} +2 -2
- package/dist/agent.d.ts +1 -1
- package/dist/agent.js +3 -3
- package/dist/{bundle-DKQtOO9d.js → bundle-1xaJEgjq.js} +2 -2
- package/dist/{bundle-DKQtOO9d.js.map → bundle-1xaJEgjq.js.map} +1 -1
- package/dist/candidate-execution/index.js +4 -4
- package/dist/{coordination-manager-T98ZbsEt.js → coordination-manager-B2Z_MmL9.js} +22 -19
- package/dist/coordination-manager-B2Z_MmL9.js.map +1 -0
- package/dist/{delegate-CjdtLf1v.js → delegate-Dr-63jFl.js} +2 -2
- package/dist/{delegate-CjdtLf1v.js.map → delegate-Dr-63jFl.js.map} +1 -1
- package/dist/durable.d.ts +7 -2
- package/dist/durable.js +129 -117
- package/dist/durable.js.map +1 -1
- package/dist/{graph-kgzTaNMA.js → graph-DPejYB3C.js} +6 -5
- package/dist/graph-DPejYB3C.js.map +1 -0
- package/dist/{improve-DevAd83a.js → improve-DwSahPi1.js} +7 -7
- package/dist/{improve-DevAd83a.js.map → improve-DwSahPi1.js.map} +1 -1
- package/dist/index.d.ts +3 -3
- package/dist/index.js +9 -9
- package/dist/intelligence.d.ts +2 -2
- package/dist/intelligence.js +6 -6
- package/dist/kernel.d.ts +2 -2
- package/dist/kernel.js +11 -11
- package/dist/{loop-runner-DsVqEv8O.d.ts → loop-runner-C6pGq-2l.d.ts} +2 -2
- package/dist/{loop-runner-BM509Zmp.js → loop-runner-CP6MfO1b.js} +2 -2
- package/dist/{loop-runner-BM509Zmp.js.map → loop-runner-CP6MfO1b.js.map} +1 -1
- package/dist/loop-runner-bin.d.ts +1 -1
- package/dist/loop-runner-bin.js +1 -1
- package/dist/mcp/bin.js +3 -3
- package/dist/mcp/index.d.ts +1 -1
- package/dist/mcp/index.js +6 -6
- package/dist/mcp/index.js.map +1 -1
- package/dist/model-policy-CyCUwHed.js.map +1 -1
- package/dist/{prepare-TEEHSJwq.js → prepare-B9wWffjO.js} +3 -3
- package/dist/{prepare-TEEHSJwq.js.map → prepare-B9wWffjO.js.map} +1 -1
- package/dist/{profile-6OLpbjvV.js → profile-JLJd2wFG.js} +2 -2
- package/dist/{profile-6OLpbjvV.js.map → profile-JLJd2wFG.js.map} +1 -1
- package/dist/profiles.d.ts +1 -1
- package/dist/{provision-supervisor-CysVhSqV.js → provision-supervisor-C4v2vqDo.js} +6 -6
- package/dist/{provision-supervisor-CysVhSqV.js.map → provision-supervisor-C4v2vqDo.js.map} +1 -1
- package/dist/{durable-file-DLcrzrjL.js → record-events-D93DkpAx.js} +100 -3
- package/dist/record-events-D93DkpAx.js.map +1 -0
- package/dist/{run-cancellation-CEDiqfhC.js → run-cancellation-CzFhQGMa.js} +11 -9
- package/dist/run-cancellation-CzFhQGMa.js.map +1 -0
- package/dist/{runtime-B_93oWEv.js → runtime-CsvGCQpl.js} +448 -55
- package/dist/runtime-CsvGCQpl.js.map +1 -0
- package/dist/{sandbox-profile-compat-_fEtHPCj.js → sandbox-profile-compat-DtuJWFrM.js} +2 -2
- package/dist/sandbox-profile-compat-DtuJWFrM.js.map +1 -0
- package/dist/{search-executor-t05_9Wwk.js → search-executor-CCb82Umc.js} +5 -5
- package/dist/search-executor-CCb82Umc.js.map +1 -0
- package/dist/{server-DjrVWzH2.js → server-CKPwZU-I.js} +4 -4
- package/dist/{server-DjrVWzH2.js.map → server-CKPwZU-I.js.map} +1 -1
- package/dist/{structural-rollout-CpJknIaL.js → structural-rollout-DylC_fwU.js} +3 -3
- package/dist/{structural-rollout-CpJknIaL.js.map → structural-rollout-DylC_fwU.js.map} +1 -1
- package/dist/{supervise-BuVVC7Bl.js → supervise-BGfm2GlY.js} +293 -87
- package/dist/supervise-BGfm2GlY.js.map +1 -0
- package/dist/{supervisor-D3M9ab1v.js → supervisor-wS9Ehz_x.js} +454 -187
- package/dist/supervisor-wS9Ehz_x.js.map +1 -0
- package/dist/testing.d.ts +2 -2
- package/dist/testing.js +13 -13
- package/dist/{top-snapshot-BGYI6G6K.js → top-snapshot-CflmaDgk.js} +6 -4
- package/dist/top-snapshot-CflmaDgk.js.map +1 -0
- package/dist/tui/bin.js +2 -2
- package/dist/tui/index.d.ts +1 -1
- package/dist/tui/index.js +2 -2
- package/dist/{types-DztCeYd6.d.ts → types-C8BGOCBn.d.ts} +286 -34
- package/package.json +11 -11
- package/skills/agent-graphs/SKILL.md +40 -2
- package/skills/graph-designer/SKILL.md +6 -0
- package/skills/profile-authoring/SKILL.md +1 -1
- package/dist/coordination-manager-T98ZbsEt.js.map +0 -1
- package/dist/durable-file-DLcrzrjL.js.map +0 -1
- package/dist/graph-kgzTaNMA.js.map +0 -1
- package/dist/run-cancellation-CEDiqfhC.js.map +0 -1
- package/dist/runtime-B_93oWEv.js.map +0 -1
- package/dist/sandbox-profile-compat-_fEtHPCj.js.map +0 -1
- package/dist/search-executor-t05_9Wwk.js.map +0 -1
- package/dist/supervise-BuVVC7Bl.js.map +0 -1
- package/dist/supervisor-D3M9ab1v.js.map +0 -1
- package/dist/top-snapshot-BGYI6G6K.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tangle-network/agent-runtime",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.349.0",
|
|
4
4
|
"description": "Shared task-lifecycle skeleton for agents: a recursive loop kernel for chat turns, one-shot tasks, and multi-attempt loops, with trace capture and eval-gated self-improvement. Domain behavior lives in adapters; scoring and ship-gates in @tangle-network/agent-eval.",
|
|
5
5
|
"homepage": "https://github.com/tangle-network/agent-runtime#readme",
|
|
6
6
|
"repository": {
|
|
@@ -112,14 +112,14 @@
|
|
|
112
112
|
"devDependencies": {
|
|
113
113
|
"@arethetypeswrong/cli": "0.18.5",
|
|
114
114
|
"@biomejs/biome": "^2.5.11",
|
|
115
|
-
"@modelcontextprotocol/sdk": "1.
|
|
116
|
-
"@tangle-network/agent-eval": "0.
|
|
117
|
-
"@tangle-network/agent-interface": "5.7.
|
|
115
|
+
"@modelcontextprotocol/sdk": "1.32.0",
|
|
116
|
+
"@tangle-network/agent-eval": "0.221.2",
|
|
117
|
+
"@tangle-network/agent-interface": "5.7.1",
|
|
118
118
|
"@tangle-network/agent-provider-cli-bridge": "2.0.1",
|
|
119
119
|
"@tangle-network/agent-provider-daytona": "0.6.0",
|
|
120
120
|
"@tangle-network/agent-provider-e2b": "0.6.0",
|
|
121
|
-
"@tangle-network/agent-provider-tangle": "4.4.
|
|
122
|
-
"@tangle-network/sandbox": "0.64.
|
|
121
|
+
"@tangle-network/agent-provider-tangle": "4.4.7",
|
|
122
|
+
"@tangle-network/sandbox": "0.64.39",
|
|
123
123
|
"@types/node": "26.4.0",
|
|
124
124
|
"@types/tar-stream": "3.1.4",
|
|
125
125
|
"miniflare": "4.20260722.0",
|
|
@@ -140,15 +140,15 @@
|
|
|
140
140
|
},
|
|
141
141
|
"license": "MIT",
|
|
142
142
|
"peerDependencies": {
|
|
143
|
-
"@tangle-network/agent-eval": ">=0.
|
|
144
|
-
"@tangle-network/agent-interface": ">=5.7.
|
|
143
|
+
"@tangle-network/agent-eval": ">=0.221.2 <0.222.0",
|
|
144
|
+
"@tangle-network/agent-interface": ">=5.7.1 <6.0.0",
|
|
145
145
|
"@tangle-network/sandbox": ">=0.61.1 <0.61.2 || >=0.62.2 <0.62.3 || >=0.62.14 <0.62.16 || >=0.63.10 <0.65.0"
|
|
146
146
|
},
|
|
147
147
|
"dependencies": {
|
|
148
148
|
"@earendil-works/pi-codemode": "1.0.4",
|
|
149
|
-
"@tangle-network/agent-core": ">=0.13.
|
|
150
|
-
"@tangle-network/agent-knowledge": "^22.0.
|
|
151
|
-
"@tangle-network/agent-profile-materialize": ">=0.
|
|
149
|
+
"@tangle-network/agent-core": ">=0.13.2 <0.14.0",
|
|
150
|
+
"@tangle-network/agent-knowledge": "^22.0.16",
|
|
151
|
+
"@tangle-network/agent-profile-materialize": ">=0.27.3 <0.28.0",
|
|
152
152
|
"@tangle-network/agent-trace-contract": "^2.1.0",
|
|
153
153
|
"tar-stream": "3.2.1",
|
|
154
154
|
"zod": "4.6.5"
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
---
|
|
2
2
|
name: agent-graphs
|
|
3
|
-
description:
|
|
3
|
+
description: Design factories and fixed AgentGraph roles, routes, delegation, checks and budgets.
|
|
4
4
|
---
|
|
5
5
|
|
|
6
6
|
# Agent Graphs
|
|
@@ -9,7 +9,7 @@ Use `runGraph` when roles are known before execution and their relationships mus
|
|
|
9
9
|
When the order, branches, repair loops and stop rules are known too, author a flow graph: `entry` plus `routes` edges, with no root and no brain.
|
|
10
10
|
Parallel stages are a fork (`to` lists several nodes, spawned at once) and waiting for all of them is a join (`from` lists several nodes); converging plain routes into one running node throw `GraphRouteError` with reason `target-live`.
|
|
11
11
|
A loop per item is a flow graph inside a maps item, and a flow graph can run as a `run_graph` subtask.
|
|
12
|
-
A
|
|
12
|
+
A caller-decided branch can use a gate (`gates: [{ id, question, choices }]` with one routes edge per choice matching `/choice`), answered by `decideGate` while the run is held. For factory human review, end the run as described below.
|
|
13
13
|
Keep a root (delegation edges) only when a model must decide what runs next; a root brain that only orders fixed stages is the anti-pattern a flow graph replaces.
|
|
14
14
|
Use a smaller maintained composition when it provides the required behavior.
|
|
15
15
|
Use dynamic supervision when the agent must discover or create roles while working.
|
|
@@ -18,6 +18,44 @@ A request for review alone does not require a graph.
|
|
|
18
18
|
Read the current [API decision table](https://github.com/tangle-network/agent-runtime/blob/main/docs/canonical-api.md), [AgentGraph contract](https://github.com/tangle-network/agent-runtime/blob/main/src/runtime/supervise/graph.ts), and a relevant [runnable example](https://github.com/tangle-network/agent-runtime/tree/main/examples/graphs).
|
|
19
19
|
These distinguish the fixed AgentGraph API from other graph or supervision contracts.
|
|
20
20
|
|
|
21
|
+
Production designs: search [Factory’s design catalog](https://github.com/tangle-network/factory/blob/main/README.md) before authoring a new graph.
|
|
22
|
+
|
|
23
|
+
## Design a factory
|
|
24
|
+
|
|
25
|
+
Use the vocabulary from the [software-factory design reference](https://github.com/mattpocock/skills/pull/1316) when a consumer needs recurring work across graph executions.
|
|
26
|
+
A **task** defines repeatable work, such as implementation or review, on a ticket, PR, or codebase.
|
|
27
|
+
A **run** is one execution of that task, including any graph nodes and agent sessions it needs.
|
|
28
|
+
A **trigger** starts a run; a **runner** supplies its execution environment.
|
|
29
|
+
Keep task identity stable across runs and record each run's own identity and result.
|
|
30
|
+
|
|
31
|
+
Name the product that owns each service slot before authoring the task's graph:
|
|
32
|
+
|
|
33
|
+
| Slot | Responsibility |
|
|
34
|
+
| --- | --- |
|
|
35
|
+
| Ticket tracker | Durable work requests, discussion, and human decisions |
|
|
36
|
+
| Ticket source | External feedback or signals that create tickets |
|
|
37
|
+
| Git host | Source revisions, branches, PRs, and reviews |
|
|
38
|
+
| Orchestrator | Admit triggers, start runs, and retain their status |
|
|
39
|
+
| Observability platform | Inspect run logs, traces, and failures; choose none explicitly if existing run pages suffice |
|
|
40
|
+
|
|
41
|
+
One product may fill several slots. Reuse each existing owner and its durable records.
|
|
42
|
+
Name the runner too; retain work and decisions through the owning services before its process exits.
|
|
43
|
+
An observability signal that should change work must reach the tracker or git host through an explicit task or ticket source.
|
|
44
|
+
|
|
45
|
+
Treat triggers as **accelerators** and checks as **brakes**.
|
|
46
|
+
Deterministic checks establish required behavior; independent automated review examines the change; human review supplies decisions and findings that improve both.
|
|
47
|
+
Honor the consumer's existing merge and release policy rather than adding approval gates.
|
|
48
|
+
Introduce automated triggers individually with an explicit throttle, such as a sampling rate, schedule, or concurrency cap; increase admission only after reviewing failures and accepted outcomes.
|
|
49
|
+
Bound repair cycles by attempts and budget, then record unresolved work for human review.
|
|
50
|
+
|
|
51
|
+
Factory runs never wait for a human.
|
|
52
|
+
Publish the question or review request durably and finish; a later human decision triggers a new run that reads that record.
|
|
53
|
+
An in-run graph gate holds execution and therefore does not implement this factory boundary.
|
|
54
|
+
|
|
55
|
+
Before implementation, answer for every task: what triggers it; which services it reads and writes; what runs next; where humans re-enter; and how overlapping runs avoid duplicate work.
|
|
56
|
+
For each ticket source, name how duplicate tickets are prevented.
|
|
57
|
+
The design is complete when every slot has an owner, every task has those answers, and trigger throttles and repair limits are explicit.
|
|
58
|
+
|
|
21
59
|
## Author the required relationships
|
|
22
60
|
|
|
23
61
|
Define the artifact and independent completion check before choosing roles.
|
|
@@ -10,6 +10,8 @@ that does the work, run it under your granted permissions, and record what happe
|
|
|
10
10
|
Every execution is fully traced like any graph run — the registry plus the run's journal
|
|
11
11
|
is the knowledge.
|
|
12
12
|
|
|
13
|
+
Production designs: search [Factory’s design catalog](https://github.com/tangle-network/factory/blob/main/README.md) before authoring; record a delivered Factory run through `recordGraphRun` like any graph.
|
|
14
|
+
|
|
13
15
|
## The loop (every input)
|
|
14
16
|
|
|
15
17
|
1. Compute the task shape: the durable description you will look this kind of work up by
|
|
@@ -41,6 +43,10 @@ one axis at a time so the next record attributes the difference. When an optimiz
|
|
|
41
43
|
(agent-eval) is available, feed it the losing graph's journal; otherwise your reasoned
|
|
42
44
|
mutation IS the search step.
|
|
43
45
|
|
|
46
|
+
When the registry promotes a winning topology for a task type, retain a case under
|
|
47
|
+
`skills/agent-graphs/cases/` citing the run and its measured outcome. The cited record
|
|
48
|
+
provides the evidence; a descriptive ranking alone does not establish a win.
|
|
49
|
+
|
|
44
50
|
## Profiles improve the same way graphs do
|
|
45
51
|
|
|
46
52
|
A worker profile is named and content-addressed; when a mutation rewrites a node's
|
|
@@ -13,7 +13,7 @@ Do not constrain agents with prohibitions: change what is rewarded and who is in
|
|
|
13
13
|
## A profile that starts
|
|
14
14
|
|
|
15
15
|
A refused profile fails before its first model turn, and it fails the same way on every retry.
|
|
16
|
-
|
|
16
|
+
Discovery lost 20 driver attempts to unpublished tool names and 3 spawns to a missing subscription source.
|
|
17
17
|
Start from a profile that already ran (in a Discovery play, `inputs/profile-examples/<family>.json`) and change only `name`, `description` and `prompt.instructions`.
|
|
18
18
|
|
|
19
19
|
| Field | Rule |
|