diff --git a/CHANGELOG.md b/CHANGELOG.md index 8051bb0e..56760f67 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,24 @@ # Changelog +## 0.135.4 + +- Widen the `@tangle-network/agent-interface` peer range to `>=0.53.0 <0.56.0`, which holds three generations. +Interface 0.54.0 took the npm `latest` tag on `2026-08-16T04:30:11Z`, 88 seconds after 0.135.3 merged with a `<0.54.0` cap, and `agent-knowledge` 8.0.2 then moved its own peer to `>=0.54.0 <0.55.0`. +The two ranges were disjoint, so `npm install @tangle-network/agent-runtime@latest @tangle-network/agent-knowledge@latest` could not resolve at all. +Interface 0.55.0 published `2026-08-16T06:44:30Z`, 2 hours 14 minutes after 0.54.0 and before this release could land, and took `latest` in turn. +- Both generations are additive. +0.54.0 adds `isCredentialBearingProfileConfigName` and `isRuntimeProcessControlEnvironmentName`, and widens `RequestedInteractions` from a three-key strict object to a string-keyed boolean record. +0.55.0 adds the `environment-interactive` module, the optional `startInteractive` and `interactive` methods on `AgentEnvironment`, and the optional `interactiveAgent` capability block. +Neither removes a symbol or adds a required field. +Typecheck and the test suite pass against 0.55.0. +- The range holds every generation this release verifies against, rather than only the newest. +A consumer that still carries a package capped below 0.54 resolves against interface 0.53; one that carries `agent-knowledge` 8.0.2 resolves against 0.54; one that carries `agent-core` 0.9.2 resolves against 0.55. +A single-generation window makes every adoption wave atomic, and interface minors publish faster than a wave can finish, which is the condition that produced this break. +A consumer needs no change to adopt this release. +- Move the `@tangle-network/agent-eval` peer floor to 0.145.16, the release `agent-knowledge` 8.0.2 requires (`>=0.145.16`), and the release that depends on interface 0.54.0. +The development catalog moves `agent-knowledge` to 8.0.2, `agent-core` to 0.9.1, and `agent-profile-materialize` to 0.15.2 for the same reason. +No runtime behavior changes. + ## 0.135.3 - Move the `@tangle-network/agent-interface` peer range to `>=0.53.0 <0.54.0`. diff --git a/bench/package.json b/bench/package.json index 632ecebb..bfbb8d81 100644 --- a/bench/package.json +++ b/bench/package.json @@ -1,6 +1,6 @@ { "name": "@tangle-network/agent-bench", - "version": "0.8.11", + "version": "0.8.12", "type": "module", "description": "Benchmark adapters and execution for agent-runtime across coding, tool-use, RAG, memory, browser, and terminal tasks.", "repository": { diff --git a/docs/api/primitive-catalog.md b/docs/api/primitive-catalog.md index 2e3888a3..a69a13c9 100644 --- a/docs/api/primitive-catalog.md +++ b/docs/api/primitive-catalog.md @@ -7,7 +7,7 @@ # Primitive catalog — the never-stale anti-reinvention inventory -> **GENERATED** from `@tangle-network/agent-runtime@0.135.3` and `@tangle-network/agent-eval@0.145.15` by `scripts/gen-primitive-catalog.mjs`. Do NOT hand-edit — run `pnpm run docs:api`. This is the mechanical companion to the JUDGMENT in `canonical-api.md` (§2 decision table + §1.5 AgentProfile law): that doc says WHICH primitive to reach for and what NOT to build; this catalog proves WHAT exists. Per-symbol signatures + `file:line` live in the per-module pages under `docs/api/`. +> **GENERATED** from `@tangle-network/agent-runtime@0.135.4` and `@tangle-network/agent-eval@0.145.16` by `scripts/gen-primitive-catalog.mjs`. Do NOT hand-edit — run `pnpm run docs:api`. This is the mechanical companion to the JUDGMENT in `canonical-api.md` (§2 decision table + §1.5 AgentProfile law): that doc says WHICH primitive to reach for and what NOT to build; this catalog proves WHAT exists. Per-symbol signatures + `file:line` live in the per-module pages under `docs/api/`. ## 1. agent-runtime — own public surface diff --git a/docs/canonical-api.md b/docs/canonical-api.md index caf17b87..985edad2 100644 --- a/docs/canonical-api.md +++ b/docs/canonical-api.md @@ -4,11 +4,11 @@ Generated signatures and the complete export list live in docs/api/. Run pnpm docs:freshness after editing this file. --> -> **Version 0.135.3.** +> **Version 0.135.4.** > [`docs/api/primitive-catalog.md`](./api/primitive-catalog.md) lists every export and import path. -> `agent-eval` must satisfy `>=0.145.15 <0.146.0`. +> `agent-eval` must satisfy `>=0.145.16 <0.146.0`. > `sandbox` must satisfy `>=0.27.0 <0.28.0`. -> Portable profile and tool-part types come from `@tangle-network/agent-interface` `>=0.53.0 <0.54.0`. +> Portable profile and tool-part types come from `@tangle-network/agent-interface` `>=0.53.0 <0.56.0`. > > **`./kernel` is the execution kernel**: `package.json` maps it to `src/runtime/index.ts`. Everything below labelled `/kernel` lives there — the recursive atom (`Scope`/`Supervisor`), the executor registry, budget conservation, the finalizer seam, analyst wiring, and the round-synchronous loop. > diff --git a/package.json b/package.json index 532e17ef..16614ff9 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@tangle-network/agent-runtime", - "version": "0.135.3", + "version": "0.135.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.", "homepage": "https://github.com/tangle-network/agent-runtime#readme", "repository": { @@ -170,8 +170,8 @@ "license": "MIT", "packageManager": "pnpm@11.17.0", "peerDependencies": { - "@tangle-network/agent-eval": ">=0.145.15 <0.146.0", - "@tangle-network/agent-interface": ">=0.53.0 <0.54.0", + "@tangle-network/agent-eval": ">=0.145.16 <0.146.0", + "@tangle-network/agent-interface": ">=0.53.0 <0.56.0", "@tangle-network/sandbox": ">=0.27.0 <0.28.0" }, "peerDependenciesMeta": { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b0dc7ce7..9eb87a42 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -13,20 +13,20 @@ catalogs: specifier: 1.30.0 version: 1.30.0 '@tangle-network/agent-core': - specifier: 0.9.0 - version: 0.9.0 + specifier: 0.9.1 + version: 0.9.1 '@tangle-network/agent-eval': - specifier: 0.145.15 - version: 0.145.15 + specifier: 0.145.16 + version: 0.145.16 '@tangle-network/agent-interface': - specifier: 0.53.0 - version: 0.53.0 + specifier: 0.55.0 + version: 0.55.0 '@tangle-network/agent-knowledge': - specifier: 8.0.1 - version: 8.0.1 + specifier: 8.0.2 + version: 8.0.2 '@tangle-network/agent-profile-materialize': - specifier: 0.15.1 - version: 0.15.1 + specifier: 0.15.2 + version: 0.15.2 '@tangle-network/agent-trace-contract': specifier: ^1.0.2 version: 1.0.2 @@ -55,13 +55,13 @@ importers: dependencies: '@tangle-network/agent-core': specifier: 'catalog:' - version: 0.9.0(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3)) + version: 0.9.1(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3)) '@tangle-network/agent-knowledge': specifier: 'catalog:' - version: 8.0.1(@tangle-network/agent-eval@0.145.15(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3)))(@tangle-network/agent-interface@0.53.0) + version: 8.0.2(@tangle-network/agent-eval@0.145.16(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3)))(@tangle-network/agent-interface@0.55.0) '@tangle-network/agent-profile-materialize': specifier: 'catalog:' - version: 0.15.1(@tangle-network/agent-interface@0.53.0) + version: 0.15.2(@tangle-network/agent-interface@0.55.0) '@tangle-network/agent-trace-contract': specifier: 'catalog:' version: 1.0.2 @@ -80,10 +80,10 @@ importers: version: 1.30.0(supports-color@10.2.2)(zod@4.4.3) '@tangle-network/agent-eval': specifier: 'catalog:' - version: 0.145.15(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3)) + version: 0.145.16(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3)) '@tangle-network/agent-interface': specifier: 'catalog:' - version: 0.53.0 + version: 0.55.0 '@tangle-network/sandbox': specifier: 'catalog:' version: 0.27.0(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))(viem@2.54.6(typescript@6.0.3)(zod@4.4.3)) @@ -128,13 +128,13 @@ importers: dependencies: '@tangle-network/agent-eval': specifier: 'catalog:' - version: 0.145.15(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3)) + version: 0.145.16(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3)) '@tangle-network/agent-interface': specifier: 'catalog:' - version: 0.53.0 + version: 0.55.0 '@tangle-network/agent-knowledge': specifier: 'catalog:' - version: 8.0.1(@tangle-network/agent-eval@0.145.15(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3)))(@tangle-network/agent-interface@0.53.0) + version: 8.0.2(@tangle-network/agent-eval@0.145.16(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3)))(@tangle-network/agent-interface@0.55.0) '@tangle-network/agent-runtime': specifier: workspace:* version: link:.. @@ -1132,24 +1132,38 @@ packages: '@modelcontextprotocol/sdk': optional: true - '@tangle-network/agent-eval@0.145.15': - resolution: {integrity: sha512-VTvbAqhVKpXWsNwASZNcMCmYWTdsXicR3i8yeHa/ViIv1Uo3496VqWXs2FRzkMxrOB6wOI0s5DEnxCZ3qaoRzA==} + '@tangle-network/agent-core@0.9.1': + resolution: {integrity: sha512-Ke6Hh3PiiJjRdWEGkZSnAsSMcJgr6pYJXaV1qNqdh12t7vteTjBod6ehaFRrp7cIWkB3cAwKh0ADHByV2KONWA==} + peerDependencies: + '@modelcontextprotocol/sdk': ^1.30.0 + peerDependenciesMeta: + '@modelcontextprotocol/sdk': + optional: true + + '@tangle-network/agent-eval@0.145.16': + resolution: {integrity: sha512-qcnVAdjvLU5x+Tgy+E4CjcfId22BawepIubl1XE6BYNeyD2VjDiQ9wlZ1CoEpLg6JGmXQWLn8lUFBvS2bATVTw==} engines: {node: '>=20'} hasBin: true '@tangle-network/agent-interface@0.53.0': resolution: {integrity: sha512-XWH+4t9vPkVog9C9P+094USuoO//TJwaI+P6ntAm32wHqZ/kh5a9r6kSkHYMKsXgQjkY3IA5NO21w3rZ7M6U+g==} - '@tangle-network/agent-knowledge@8.0.1': - resolution: {integrity: sha512-H1zMyyNyVeTCijaPGMMbZX7QY7gjE1YyHEgtNtEJ9PgvTYNBuQSh938cIKNQBHM6MPB0Lq3xECgf9ELTVveTEQ==} + '@tangle-network/agent-interface@0.54.0': + resolution: {integrity: sha512-KBWcP2KQzroyjbhsG65OJecyt7AXIV0MWQuqkjUDiSac8Gtach4+oeYlBba6i9euA/8PhlGv9VBgVNiC2D/YuQ==} + + '@tangle-network/agent-interface@0.55.0': + resolution: {integrity: sha512-N92rOPhErm28FoPB9HqA9oFZ+MgTGnmes0NSuir3JqJ6gC42aj3sfhsPdzb/wyYF9PQuxHx+HH5+Ui8+ZBKnKw==} + + '@tangle-network/agent-knowledge@8.0.2': + resolution: {integrity: sha512-KrUsUwhd8mcoR0cW+G2aoUXgcDm8fyAZywcUVBGecVMWcqd3BsAJcmHX9my8G+BrAQXqMN135xl/TkEU8TqzoQ==} engines: {node: '>=20.19.0'} hasBin: true peerDependencies: - '@tangle-network/agent-eval': '>=0.145.14 <0.146.0' - '@tangle-network/agent-interface': '>=0.53.0 <0.54.0' + '@tangle-network/agent-eval': '>=0.145.16 <0.146.0' + '@tangle-network/agent-interface': '>=0.54.0 <0.55.0' - '@tangle-network/agent-profile-materialize@0.15.1': - resolution: {integrity: sha512-+d6IvLnRurmNTpnGkiqBSHTXrFrXfFOjQQzeC74t9gl0+yZABOopqFibOAiX3njSy3WuHeZ04PpdFkZrz16Dvg==} + '@tangle-network/agent-profile-materialize@0.15.2': + resolution: {integrity: sha512-j9ld23ADJRbAIJEkQ0xk49+RYt47WzARquN5S3W5Pyb3rbD++gxf1AKJQ3O613wmkwdcc0V10a5jHruX0SZ1Vg==} peerDependencies: '@tangle-network/agent-interface': '>=0.47.0 <0.54.0' @@ -3177,12 +3191,19 @@ snapshots: optionalDependencies: '@modelcontextprotocol/sdk': 1.30.0(supports-color@10.2.2)(zod@4.4.3) - '@tangle-network/agent-eval@0.145.15(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))': + '@tangle-network/agent-core@0.9.1(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))': + dependencies: + '@tangle-network/agent-interface': 0.54.0 + zod: 4.4.3 + optionalDependencies: + '@modelcontextprotocol/sdk': 1.30.0(supports-color@10.2.2)(zod@4.4.3) + + '@tangle-network/agent-eval@0.145.16(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3))': dependencies: '@asteasolutions/zod-to-openapi': 9.1.0(zod@4.4.3) '@hono/node-server': 2.0.12(hono@4.12.32) - '@tangle-network/agent-core': 0.9.0(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3)) - '@tangle-network/agent-interface': 0.53.0 + '@tangle-network/agent-core': 0.9.1(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3)) + '@tangle-network/agent-interface': 0.54.0 '@tangle-network/agent-trace-contract': 1.0.2 hono: 4.12.32 linear-sum-assignment: 1.0.9 @@ -3197,16 +3218,28 @@ snapshots: spdx-expression-parse: 5.0.0 zod: 4.4.3 - '@tangle-network/agent-knowledge@8.0.1(@tangle-network/agent-eval@0.145.15(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3)))(@tangle-network/agent-interface@0.53.0)': + '@tangle-network/agent-interface@0.54.0': dependencies: - '@tangle-network/agent-eval': 0.145.15(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3)) - '@tangle-network/agent-interface': 0.53.0 + '@noble/hashes': 1.8.0 + spdx-expression-parse: 5.0.0 + zod: 4.4.3 + + '@tangle-network/agent-interface@0.55.0': + dependencies: + '@noble/hashes': 1.8.0 + spdx-expression-parse: 5.0.0 + zod: 4.4.3 + + '@tangle-network/agent-knowledge@8.0.2(@tangle-network/agent-eval@0.145.16(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3)))(@tangle-network/agent-interface@0.55.0)': + dependencies: + '@tangle-network/agent-eval': 0.145.16(@modelcontextprotocol/sdk@1.30.0(supports-color@10.2.2)(zod@4.4.3)) + '@tangle-network/agent-interface': 0.55.0 proper-lockfile: 4.1.2 zod: 4.4.3 - '@tangle-network/agent-profile-materialize@0.15.1(@tangle-network/agent-interface@0.53.0)': + '@tangle-network/agent-profile-materialize@0.15.2(@tangle-network/agent-interface@0.55.0)': dependencies: - '@tangle-network/agent-interface': 0.53.0 + '@tangle-network/agent-interface': 0.55.0 '@tangle-network/agent-trace-contract@1.0.2': {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 94158d3b..6f66f8e7 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -18,12 +18,12 @@ allowBuilds: catalog: '@arethetypeswrong/cli': 0.18.5 '@modelcontextprotocol/sdk': 1.30.0 - '@tangle-network/agent-core': 0.9.0 + '@tangle-network/agent-core': 0.9.1 '@types/node': 26.1.1 - '@tangle-network/agent-eval': 0.145.15 - '@tangle-network/agent-interface': 0.53.0 - '@tangle-network/agent-knowledge': 8.0.1 - '@tangle-network/agent-profile-materialize': 0.15.1 + '@tangle-network/agent-eval': 0.145.16 + '@tangle-network/agent-interface': 0.55.0 + '@tangle-network/agent-knowledge': 8.0.2 + '@tangle-network/agent-profile-materialize': 0.15.2 '@tangle-network/agent-trace-contract': ^1.0.2 '@tangle-network/sandbox': 0.27.0 publint: 0.3.22 diff --git a/src/testing/fixtures/agent-improvement-proposal.json b/src/testing/fixtures/agent-improvement-proposal.json index 523d71b2..7e37489a 100644 --- a/src/testing/fixtures/agent-improvement-proposal.json +++ b/src/testing/fixtures/agent-improvement-proposal.json @@ -1,6 +1,6 @@ { "changedSurfaces": ["prompt"], - "digest": "sha256:07f5feab1f94522b087d74c57cf28ea58fb23529760340eec07e3b5adc22597e", + "digest": "sha256:aa0b9046662d61691324a4afdcb8f244799c04711f350083dc8d4e82e8b9e848", "evaluation": { "decision": { "contributingChecks": [ @@ -4882,7 +4882,7 @@ ], "metadata": { "fixture": "agent-improvement-proposal", - "runtimeVersion": "0.135.3" + "runtimeVersion": "0.135.4" }, "objectives": [ { @@ -4993,8 +4993,8 @@ "baselineContentHash": "sha256:5c21ee53e513fc604cb09754e21c392b24a424da0ef37dbf8f1ee4a8a0b08f09", "candidateContentHash": "sha256:60fcbb1c728194bd51d7d19cb732d1c3f1881dce7e0a6266b41c8b98cfd65693", "kind": "agent-eval-loop", - "recordDigest": "sha256:9822541e4417230ccd66b9472e71b9d8eb9bac4ac1e9d09c4e5e6a3af84e2813", - "runId": "agent-runtime-0.135.3-proposal-fixture", + "recordDigest": "sha256:14f13bfd5e207fd7755131f2d75d8b1177de2b6cb157adacea3842dcf63ef479", + "runId": "agent-runtime-0.135.4-proposal-fixture", "schema": "agent-candidate-experiment" } }, @@ -5021,5 +5021,5 @@ ], "kind": "agent-improvement-proposal", "proposedAt": "2026-07-10T01:00:00.000Z", - "runId": "agent-runtime-0.135.3-proposal-fixture" + "runId": "agent-runtime-0.135.4-proposal-fixture" } diff --git a/src/testing/fixtures/agent-profile-improvement-proposal.json b/src/testing/fixtures/agent-profile-improvement-proposal.json index c5bbaf89..a624728c 100644 --- a/src/testing/fixtures/agent-profile-improvement-proposal.json +++ b/src/testing/fixtures/agent-profile-improvement-proposal.json @@ -1,6 +1,6 @@ { "changedSurfaces": ["prompt", "skills"], - "digest": "sha256:f7c90771a7ffdd312ced71fb40c5b5b135e0bfe48958b4ea63293d9c96c43a56", + "digest": "sha256:31fe07295513b7533b97ca98754d885d24a5fcd446da6c48efaaad2f460e91e9", "evaluation": { "decision": { "contributingChecks": [ @@ -1715,7 +1715,7 @@ ], "metadata": { "fixture": "agent-profile-improvement-proposal", - "runtimeVersion": "0.135.3" + "runtimeVersion": "0.135.4" }, "objectives": [ { @@ -1826,7 +1826,7 @@ "baselineContentHash": "sha256:21c495a37c418c10bde64fbaa188beddeed31f1f051ea60a6a6582a9ee0db704", "candidateContentHash": "sha256:103f77bc8481601eef1ad5fe6ba84a40dffabc3a44f421f8c8559121edab84e9", "kind": "agent-eval-loop", - "recordDigest": "sha256:a4cdb060f9fd6e889591168ff879341052673456d5ef32c53563236f4c7f889b", + "recordDigest": "sha256:0f8bc1f0aad52ccb73ad9c1b148bad56aa33f2e084a95dce8bec3e71b39c6744", "runId": "profile-improvement-1", "schema": "agent-profile-improvement-experiment" }