@nylorun/runtime 0.37.0-beta → 0.39.0-beta

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.
Files changed (51) hide show
  1. package/CHANGELOG.md +91 -0
  2. package/dist/api/components.d.ts +1732 -80
  3. package/dist/api/http/routes/agents.js +3 -3
  4. package/dist/core/turn-manifest.d.ts +23 -0
  5. package/dist/core/turn-manifest.js +36 -1
  6. package/dist/gates/policy.d.ts +13 -3
  7. package/dist/gates/policy.js +17 -4
  8. package/dist/harness/executors.d.ts +4 -2
  9. package/dist/harness/executors.js +26 -4
  10. package/dist/harness/image-engine.d.ts +14 -0
  11. package/dist/harness/image-engine.js +16 -0
  12. package/dist/harness/pod.d.ts +2 -0
  13. package/dist/harness/pod.js +5 -0
  14. package/dist/harness-api/record.js +4 -2
  15. package/dist/harness-api/server.js +37 -13
  16. package/dist/harness-api/start.js +43 -5
  17. package/dist/harness-api/ws-server.js +7 -1
  18. package/dist/keys/keys.d.ts +6 -3
  19. package/dist/keys/keys.js +1 -1
  20. package/dist/management-openapi.json +38 -4
  21. package/dist/mcp/pool.d.ts +5 -0
  22. package/dist/mcp/pool.js +1 -1
  23. package/dist/mcp/snapshot.d.ts +3 -1
  24. package/dist/mcp/snapshot.js +5 -3
  25. package/dist/openapi.json +1636 -563
  26. package/dist/sandbox/join.d.ts +7 -1
  27. package/dist/sandbox/join.js +5 -1
  28. package/dist/sandbox/pods/builtin.d.ts +18 -0
  29. package/dist/sandbox/pods/builtin.js +33 -0
  30. package/dist/sandbox/pods/client.d.ts +5 -4
  31. package/dist/sandbox/pods/spec.js +14 -1
  32. package/dist/store/postgres/drizzle/0042_worker_engine_image.sql +1 -0
  33. package/dist/store/postgres/drizzle/meta/_journal.json +7 -0
  34. package/dist/store/postgres/schema.d.ts +19 -0
  35. package/dist/store/postgres/schema.js +2 -0
  36. package/dist/store/postgres/store.js +16 -0
  37. package/dist/store/types.d.ts +18 -0
  38. package/dist/tenant/agent-versions.d.ts +13 -5
  39. package/dist/tenant/agent-versions.js +30 -6
  40. package/dist/tenant/agents.d.ts +14 -2
  41. package/dist/tenant/agents.js +51 -13
  42. package/dist/tenant/commands.js +16 -8
  43. package/dist/tenant/context.d.ts +30 -1
  44. package/dist/tenant/session-model.d.ts +35 -6
  45. package/dist/tenant/session-model.js +77 -9
  46. package/dist/tenant/sessions.js +13 -3
  47. package/dist/vault/service.d.ts +44 -3
  48. package/dist/vault/service.js +68 -27
  49. package/dist/version.d.ts +1 -1
  50. package/dist/version.js +1 -1
  51. package/package.json +3 -3
package/CHANGELOG.md CHANGED
@@ -1,5 +1,96 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.39.0-beta
4
+
5
+ ### Minor Changes
6
+
7
+ - 67ed2ea: A version that sets `harness.memory.index: false` (`agent-folder/2`, ADR-100) gets no memory index
8
+ rendered: `turn.start.memory` comes without `index`. The harness may claim `engine.diagnostic`,
9
+ which the OpenAPI document lists.
10
+ - 67ed2ea: An MCP server that failed at a session's first discovery is tried again at each later turn's first
11
+ segment, and joins the session's snapshot once it answers: its tools are offered from that turn on,
12
+ its diagnostic is replaced, and `mcp.discovered` names it again with `rejoined: true`. `session.mcp`
13
+ takes a later snapshot of servers the session lacks and merges them within `mcpSnapshotBytes`.
14
+ - 67ed2ea: The memory index a session pinned is refreshed at its next turn's first segment (never mid-turn)
15
+ when another session of the Agent, or the API, wrote the Agent's memory since its last turn started:
16
+ `turn.start.memory.refresh` (Harness API), and our engine pins the index again (`runDurable`'s
17
+ `refreshPinned`). The Runtime keeps the newest memory version a turn saw on the session
18
+ (`Session.memoryIndex`, `memoryWritesSince`). A session's own writes leave its index as pinned.
19
+ - 67ed2ea: A tool policy rule whose `agent` names the session's root agent (its manifest's name) also matches
20
+ the MCP and HTTP calls of the agents it uses as tools; a rule naming the subagent's id still matches
21
+ them. `PolicyCall.root` carries the root for a subagent's call. The `agent` selector's contract
22
+ comments say so.
23
+ - 67ed2ea: A message's `removeTools` (Host feature `remove-tools`): the tools its turn may not use, by name. A
24
+ declared tool or an agent used as a tool by its name (in the agent and the agents it uses as tools),
25
+ an MCP server's tool as `<server>__<tool>`, a whole server by its name. The Runtime applies it to the
26
+ version the turn runs, after the turn's first segment re-pins the session to its Agent's version, so
27
+ a session that always sends it still moves to new versions; names that version lacks are ignored.
28
+ A message's turn manifest is validated again against the version a re-pin moves to; one that is no
29
+ variant of it keeps the turn on the version it pinned (`turn.version_kept`). A variant may narrow an
30
+ agent it uses as a tool (`isVariantOf`; `withoutTools` in `@nylorun/core/define`). An HTTP tool call
31
+ is checked against the turn's manifest. `session.input` and `session.inputParts` take
32
+ `removeTools`.
33
+ - 67ed2ea: Secret routing: the agent folder names, the installation routes (Host feature `secret-routing`, no
34
+ protocol change). A `bearer` or `headers` secret slot (`runtime.json`, `runtime.secrets`) takes the
35
+ gateway's `toolPrefix`, with or without `via`, and a slot's value write
36
+ (`PUT /v1/agents/{id}/secrets/{name}` with `{ value }` or `{ headers }`) takes `via`, with the same
37
+ URL rules as a slot's. At each request the secret's `via` wins, else the slot's in the version the
38
+ Agent runs, else none (the slot's `url`); the slot's `toolPrefix` wins over the secret's and
39
+ applies only with a `via`; the slot's `url` still picks the credential, for MCP servers and HTTP
40
+ tools alike, and an HTTP tool whose URL has `{field}` parameters still fails behind a `via`. A
41
+ write whose `toolPrefix` differs from its slot's is accepted, with a warning in the log. A `via` a
42
+ write copied from its slot follows the slot when the Agent moves, and a fork keeps a secret's own
43
+ `via`. Secret views show the `via` and `toolPrefix` in force, never a value.
44
+ `client.agents.secrets.put` takes `{ value | headers, via?, toolPrefix? }` (`AgentSecretRouting`),
45
+ and `nylorun agents secrets put` takes `--via` and `--tool-prefix`, and a slot's JSON without a
46
+ `type`. The JSON Schemas that gained the slot's `toolPrefix` are published as
47
+ `agent-manifest/v8.2`, `runtime-manifest/v1.1` and `agent-folder/v1/runtime.1`, which `nylorun init`
48
+ maps; the old `$schema` URLs are still read.
49
+ - 67ed2ea: A session records the model its turns call and why (`SessionModelRecord`): `model` on `GET
50
+ /v1/sessions/{id}` is `{provider, model, source: "manifest" | "session" | "tenant", reason?,
51
+ requested?}`, with the fallback's `reason` (`provider_not_connected`, `not_in_catalog`,
52
+ `invalid_model`) and the model `requested` by the manifest or the session. It is set when the
53
+ session opens, chooses or clears its model, and again at each segment's start, and each change
54
+ writes the new `session.model` event with the `previous` record. `SessionView.model` in
55
+ `@nylorun/agents`.
56
+
57
+ ### Patch Changes
58
+
59
+ - Pin core to the tested release.
60
+ - Pin harness to the tested release.
61
+ - Updated dependencies [67ed2ea]
62
+ - Updated dependencies [67ed2ea]
63
+ - Updated dependencies [67ed2ea]
64
+ - Updated dependencies [67ed2ea]
65
+ - Updated dependencies [67ed2ea]
66
+ - Updated dependencies [67ed2ea]
67
+ - Updated dependencies [67ed2ea]
68
+ - Updated dependencies [67ed2ea]
69
+ - Updated dependencies
70
+ - @nylorun/core@0.34.0-beta
71
+ - @nylorun/harness@0.31.0-beta
72
+
73
+ ## 0.38.0-beta
74
+
75
+ ### Minor Changes
76
+
77
+ - 63a6217: An image can carry the Runtime's engine (ADR-99). A pod of an image the Tenant lists in
78
+ `engine.images` (`PUT /v1/tenant/sandbox`) runs the engine under `/opt/nylorun` with nothing copied
79
+ in: the sandboxes service's new `entrypoint: "builtin"`, without the `nylo-copy` init container and
80
+ the `/nylo` volume. Such an engine reports its Runtime version at join (header
81
+ `nylorun-image-engine`), the Agent's record keeps it beside its pinned image digest, and a pod runs
82
+ it only while it is the Runtime's own version; otherwise the engine is copied in as for any image.
83
+ New column `agents.engine_image` (migration 0042).
84
+
85
+ ### Patch Changes
86
+
87
+ - Pin core to the tested release.
88
+ - Pin harness to the tested release.
89
+ - Updated dependencies [63a6217]
90
+ - Updated dependencies
91
+ - @nylorun/core@0.33.0-beta
92
+ - @nylorun/harness@0.30.1-beta
93
+
3
94
  ## 0.37.0-beta
4
95
 
5
96
  ### Minor Changes