@agentex/agent 0.0.27 → 0.0.29

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 (199) hide show
  1. package/CHANGELOG.md +138 -0
  2. package/README.md +98 -8
  3. package/dist/derived.d.ts.map +1 -1
  4. package/dist/derived.js +99 -2
  5. package/dist/derived.js.map +1 -1
  6. package/dist/goals/controller.d.ts.map +1 -1
  7. package/dist/goals/controller.js +21 -0
  8. package/dist/goals/controller.js.map +1 -1
  9. package/dist/goals/normalize.d.ts +1 -0
  10. package/dist/goals/normalize.d.ts.map +1 -1
  11. package/dist/goals/normalize.js +5 -0
  12. package/dist/goals/normalize.js.map +1 -1
  13. package/dist/history/fs.d.ts +36 -0
  14. package/dist/history/fs.d.ts.map +1 -0
  15. package/dist/history/fs.js +266 -0
  16. package/dist/history/fs.js.map +1 -0
  17. package/dist/history/index.d.ts +3 -0
  18. package/dist/history/index.d.ts.map +1 -0
  19. package/dist/history/index.js +2 -0
  20. package/dist/history/index.js.map +1 -0
  21. package/dist/history/types.d.ts +75 -0
  22. package/dist/history/types.d.ts.map +1 -0
  23. package/dist/history/types.js +9 -0
  24. package/dist/history/types.js.map +1 -0
  25. package/dist/index.d.ts +3 -2
  26. package/dist/index.d.ts.map +1 -1
  27. package/dist/index.js.map +1 -1
  28. package/dist/providers/claude/attach.d.ts.map +1 -1
  29. package/dist/providers/claude/attach.js +50 -9
  30. package/dist/providers/claude/attach.js.map +1 -1
  31. package/dist/providers/claude/history.d.ts +3 -0
  32. package/dist/providers/claude/history.d.ts.map +1 -0
  33. package/dist/providers/claude/history.js +248 -0
  34. package/dist/providers/claude/history.js.map +1 -0
  35. package/dist/providers/claude/index.d.ts.map +1 -1
  36. package/dist/providers/claude/index.js +26 -0
  37. package/dist/providers/claude/index.js.map +1 -1
  38. package/dist/providers/claude/session.d.ts +2 -0
  39. package/dist/providers/claude/session.d.ts.map +1 -1
  40. package/dist/providers/claude/session.js +17 -10
  41. package/dist/providers/claude/session.js.map +1 -1
  42. package/dist/providers/codex/attach.d.ts +2 -2
  43. package/dist/providers/codex/attach.d.ts.map +1 -1
  44. package/dist/providers/codex/attach.js +44 -7
  45. package/dist/providers/codex/attach.js.map +1 -1
  46. package/dist/providers/codex/history.d.ts +3 -0
  47. package/dist/providers/codex/history.d.ts.map +1 -0
  48. package/dist/providers/codex/history.js +350 -0
  49. package/dist/providers/codex/history.js.map +1 -0
  50. package/dist/providers/codex/index.d.ts.map +1 -1
  51. package/dist/providers/codex/index.js +26 -0
  52. package/dist/providers/codex/index.js.map +1 -1
  53. package/dist/providers/codex/transcript-normalize.d.ts +3 -2
  54. package/dist/providers/codex/transcript-normalize.d.ts.map +1 -1
  55. package/dist/providers/codex/transcript-normalize.js +4 -3
  56. package/dist/providers/codex/transcript-normalize.js.map +1 -1
  57. package/dist/providers/codex/transcript.d.ts +3 -1
  58. package/dist/providers/codex/transcript.d.ts.map +1 -1
  59. package/dist/providers/codex/transcript.js +3 -1
  60. package/dist/providers/codex/transcript.js.map +1 -1
  61. package/dist/providers/cursor/discovery.d.ts +6 -0
  62. package/dist/providers/cursor/discovery.d.ts.map +1 -0
  63. package/dist/providers/cursor/discovery.js +118 -0
  64. package/dist/providers/cursor/discovery.js.map +1 -0
  65. package/dist/providers/cursor/execute.d.ts.map +1 -1
  66. package/dist/providers/cursor/execute.js +83 -45
  67. package/dist/providers/cursor/execute.js.map +1 -1
  68. package/dist/providers/cursor/index.d.ts.map +1 -1
  69. package/dist/providers/cursor/index.js +17 -4
  70. package/dist/providers/cursor/index.js.map +1 -1
  71. package/dist/providers/cursor/parse.js +1 -1
  72. package/dist/providers/cursor/parse.js.map +1 -1
  73. package/dist/providers/cursor/probe.d.ts +3 -0
  74. package/dist/providers/cursor/probe.d.ts.map +1 -0
  75. package/dist/providers/cursor/probe.js +89 -0
  76. package/dist/providers/cursor/probe.js.map +1 -0
  77. package/dist/providers/cursor/runtime.d.ts +4 -0
  78. package/dist/providers/cursor/runtime.d.ts.map +1 -0
  79. package/dist/providers/cursor/runtime.js +12 -0
  80. package/dist/providers/cursor/runtime.js.map +1 -0
  81. package/dist/providers/cursor/session.d.ts +3 -0
  82. package/dist/providers/cursor/session.d.ts.map +1 -0
  83. package/dist/providers/cursor/session.js +14 -0
  84. package/dist/providers/cursor/session.js.map +1 -0
  85. package/dist/providers/opencode/client.d.ts +14 -0
  86. package/dist/providers/opencode/client.d.ts.map +1 -0
  87. package/dist/providers/opencode/client.js +40 -0
  88. package/dist/providers/opencode/client.js.map +1 -0
  89. package/dist/providers/opencode/discovery.d.ts +4 -0
  90. package/dist/providers/opencode/discovery.d.ts.map +1 -0
  91. package/dist/providers/opencode/discovery.js +68 -0
  92. package/dist/providers/opencode/discovery.js.map +1 -0
  93. package/dist/providers/opencode/execute.d.ts.map +1 -1
  94. package/dist/providers/opencode/execute.js +219 -164
  95. package/dist/providers/opencode/execute.js.map +1 -1
  96. package/dist/providers/opencode/history.d.ts +24 -0
  97. package/dist/providers/opencode/history.d.ts.map +1 -0
  98. package/dist/providers/opencode/history.js +242 -0
  99. package/dist/providers/opencode/history.js.map +1 -0
  100. package/dist/providers/opencode/http-session.d.ts.map +1 -1
  101. package/dist/providers/opencode/http-session.js +333 -49
  102. package/dist/providers/opencode/http-session.js.map +1 -1
  103. package/dist/providers/opencode/index.d.ts.map +1 -1
  104. package/dist/providers/opencode/index.js +26 -3
  105. package/dist/providers/opencode/index.js.map +1 -1
  106. package/dist/providers/opencode/manager.d.ts +11 -0
  107. package/dist/providers/opencode/manager.d.ts.map +1 -0
  108. package/dist/providers/opencode/manager.js +240 -0
  109. package/dist/providers/opencode/manager.js.map +1 -0
  110. package/dist/providers/opencode/modes.d.ts +3 -0
  111. package/dist/providers/opencode/modes.d.ts.map +1 -0
  112. package/dist/providers/opencode/modes.js +30 -0
  113. package/dist/providers/opencode/modes.js.map +1 -0
  114. package/dist/providers/opencode/parse.d.ts.map +1 -1
  115. package/dist/providers/opencode/parse.js +2 -22
  116. package/dist/providers/opencode/parse.js.map +1 -1
  117. package/dist/providers/opencode/probe.d.ts +3 -0
  118. package/dist/providers/opencode/probe.d.ts.map +1 -0
  119. package/dist/providers/opencode/probe.js +107 -0
  120. package/dist/providers/opencode/probe.js.map +1 -0
  121. package/dist/providers/opencode/runtime.d.ts +8 -0
  122. package/dist/providers/opencode/runtime.d.ts.map +1 -0
  123. package/dist/providers/opencode/runtime.js +12 -0
  124. package/dist/providers/opencode/runtime.js.map +1 -0
  125. package/dist/providers/opencode/server.d.ts +18 -3
  126. package/dist/providers/opencode/server.d.ts.map +1 -1
  127. package/dist/providers/opencode/server.js +0 -0
  128. package/dist/providers/opencode/server.js.map +1 -1
  129. package/dist/providers/opencode/skill-config.d.ts +11 -0
  130. package/dist/providers/opencode/skill-config.d.ts.map +1 -0
  131. package/dist/providers/opencode/skill-config.js +57 -0
  132. package/dist/providers/opencode/skill-config.js.map +1 -0
  133. package/dist/sessions/exec-backed.d.ts +10 -0
  134. package/dist/sessions/exec-backed.d.ts.map +1 -0
  135. package/dist/sessions/exec-backed.js +141 -0
  136. package/dist/sessions/exec-backed.js.map +1 -0
  137. package/dist/sessions/history.d.ts +4 -0
  138. package/dist/sessions/history.d.ts.map +1 -0
  139. package/dist/sessions/history.js +59 -0
  140. package/dist/sessions/history.js.map +1 -0
  141. package/dist/sessions/index.d.ts +3 -0
  142. package/dist/sessions/index.d.ts.map +1 -1
  143. package/dist/sessions/index.js +2 -0
  144. package/dist/sessions/index.js.map +1 -1
  145. package/dist/types.d.ts +152 -6
  146. package/dist/types.d.ts.map +1 -1
  147. package/dist/types.js.map +1 -1
  148. package/dist/utils/auth.d.ts.map +1 -1
  149. package/dist/utils/auth.js +36 -6
  150. package/dist/utils/auth.js.map +1 -1
  151. package/dist/utils/binary.d.ts.map +1 -1
  152. package/dist/utils/binary.js +3 -0
  153. package/dist/utils/binary.js.map +1 -1
  154. package/dist/utils/endpoint.js +3 -3
  155. package/dist/utils/endpoint.js.map +1 -1
  156. package/package.json +10 -2
  157. package/src/derived.ts +126 -3
  158. package/src/goals/controller.ts +17 -0
  159. package/src/goals/normalize.ts +5 -0
  160. package/src/history/fs.ts +307 -0
  161. package/src/history/index.ts +18 -0
  162. package/src/history/types.ts +104 -0
  163. package/src/index.ts +31 -0
  164. package/src/providers/claude/attach.ts +48 -6
  165. package/src/providers/claude/history.ts +290 -0
  166. package/src/providers/claude/index.ts +26 -0
  167. package/src/providers/claude/session.ts +15 -10
  168. package/src/providers/codex/attach.ts +52 -7
  169. package/src/providers/codex/history.ts +399 -0
  170. package/src/providers/codex/index.ts +26 -0
  171. package/src/providers/codex/transcript-normalize.ts +4 -3
  172. package/src/providers/codex/transcript.ts +5 -1
  173. package/src/providers/cursor/discovery.ts +114 -0
  174. package/src/providers/cursor/execute.ts +67 -30
  175. package/src/providers/cursor/index.ts +19 -5
  176. package/src/providers/cursor/parse.ts +1 -1
  177. package/src/providers/cursor/probe.ts +90 -0
  178. package/src/providers/cursor/runtime.ts +11 -0
  179. package/src/providers/cursor/session.ts +15 -0
  180. package/src/providers/opencode/client.ts +44 -0
  181. package/src/providers/opencode/discovery.ts +69 -0
  182. package/src/providers/opencode/execute.ts +64 -12
  183. package/src/providers/opencode/history.ts +270 -0
  184. package/src/providers/opencode/http-session.ts +319 -50
  185. package/src/providers/opencode/index.ts +26 -3
  186. package/src/providers/opencode/manager.ts +269 -0
  187. package/src/providers/opencode/modes.ts +31 -0
  188. package/src/providers/opencode/parse.ts +2 -22
  189. package/src/providers/opencode/probe.ts +113 -0
  190. package/src/providers/opencode/runtime.ts +13 -0
  191. package/src/providers/opencode/server.ts +0 -0
  192. package/src/providers/opencode/skill-config.ts +64 -0
  193. package/src/sessions/exec-backed.ts +169 -0
  194. package/src/sessions/history.ts +76 -0
  195. package/src/sessions/index.ts +3 -0
  196. package/src/types.ts +163 -4
  197. package/src/utils/auth.ts +35 -6
  198. package/src/utils/binary.ts +3 -0
  199. package/src/utils/endpoint.ts +3 -3
package/CHANGELOG.md CHANGED
@@ -1,5 +1,143 @@
1
1
  # Changelog
2
2
 
3
+ ## 0.0.29 — Local Claude and Codex history import
4
+
5
+ ### Added
6
+
7
+ - Claude and Codex expose `provider.localHistory` for bounded, content-free
8
+ presence probes, main-session discovery, normalized historical reads,
9
+ line-aligned checkpoints, and source fingerprints.
10
+ - Local history includes human messages alongside the normal `StreamEvent`
11
+ vocabulary. `(eventId, partIndex)` is stable across repeated reads when one
12
+ source record produces several normalized events.
13
+ - Codex discovery uses rollout JSONL as its canonical read-only source and
14
+ reads `session_index.jsonl` plus compatible SQLite state databases only for
15
+ optional titles.
16
+ - Added `pnpm --filter @agentex/agent diagnose:history`, which reports only
17
+ structural counts and durations from local stores.
18
+ - Limited discovery orders candidates using file metadata and stops transcript
19
+ inspection once enough eligible sessions are found.
20
+ - `mainSessionsOnly: false` includes Claude nested subagents with stable parent
21
+ identities and inherited project context. Legacy Codex reads retain
22
+ unwrapped tool calls and tool results.
23
+
24
+ ### Changed
25
+
26
+ - File-backed Codex normalization now preserves its deterministic synthetic
27
+ transcript event id through `codexLineToStreamEvents()` and durable session
28
+ catch-up.
29
+ - Strong fingerprints use one file descriptor and verify metadata after
30
+ hashing. Completed transcript reads report `source_changed_during_read` when
31
+ the opened source changes before EOF verification.
32
+
33
+ ## 0.0.28 — OpenCode and Cursor integration contracts
34
+
35
+ Additive release. OpenCode is now a fully managed session provider and Cursor
36
+ is a runtime-probed, exec-backed session provider. Existing provider APIs are
37
+ unchanged. New provider and session members are optional so current consumers
38
+ remain source-compatible.
39
+
40
+ ### Added
41
+
42
+ - **OpenCode authenticated session runtime.** `createSession()` owns a pooled
43
+ password-authenticated loopback `opencode serve` process, consumes SSE, maps
44
+ model, variant, and agent independently, resumes provider session IDs, and
45
+ shuts the daemon down when its final handle closes. Runtime generations are
46
+ retired after credential changes so stale processes cannot keep old auth.
47
+ - **OpenCode permission and question handling.** Pending requests reconcile at
48
+ startup and while a turn runs. Host decisions are cached across failed reply
49
+ attempts, so a transient HTTP failure does not ask the user twice. Allowed
50
+ permissions reply `once`, never persistent `always`. Observed requests use
51
+ the new `inputRequestTimeoutSec` deadline (300 seconds by default) and
52
+ `unattendedPermissionPolicy` controls the no-callback fallback.
53
+ - **OpenCode provider and model management.** `listModels()` returns qualified
54
+ `provider/model` IDs, limits, prices, modalities, tool support, and separate
55
+ provider-native variants. `listModes()` returns primary OpenCode agents.
56
+ `upstreamProviders` lists providers and auth methods, writes API keys, runs
57
+ OAuth, and capability-gates credential removal against the running schema.
58
+ - **OpenCode durable service history.** `session.describeHistory()` and
59
+ `provider.attachHistory()` provide chronological, bounded, opaque-cursor
60
+ pagination with stable message/part checkpoints. Event ordinals prevent
61
+ duplicate replay when one OpenCode part normalizes into multiple events.
62
+ - **Cursor sessions and discovery.** `createSession()` promotes the session ID
63
+ emitted by one turn into `--resume` for the next. `listModels()` uses the
64
+ installed Cursor catalog, including Grok when Cursor exposes it, while
65
+ `listModes()` only returns modes proven by the selected CLI help profile.
66
+ - **Effective runtime probing.** OpenCode and Cursor implement
67
+ `probeCapabilities()` and return binary status, version, protocol profile,
68
+ and per-capability status. Unsupported older Cursor installations report
69
+ `upgrade_required`.
70
+ - **Provider-neutral capability growth.** Added optional runtime capability
71
+ reports, model variants, resumability, permission/question support,
72
+ service-backed durable history, session mutation flags, and the upstream
73
+ provider manager types.
74
+ - **Legacy durable-history bridge.** Claude and Codex implement
75
+ `attachHistory()` adapters over their existing durable session attachment.
76
+
77
+ ### Changed
78
+
79
+ - OpenCode `skillDirs` are staged in an isolated `OPENCODE_CONFIG_DIR` seeded
80
+ from native config. One-shot and session execution no longer mutate the
81
+ user's global skill directories.
82
+ - OpenCode one-shot and session turns emit exactly one normalized terminal
83
+ `result`. Wire `step_finish` records remain non-terminal unknown events.
84
+ - Cursor output is quarantined until the supported `system:init` acceptance
85
+ marker. A failed resume may roll over once only before acceptance. Output is
86
+ never replayed or retried after acceptance, and unsupported marker ordering
87
+ fails explicitly with `protocol_degraded`.
88
+ - Cursor authentication checks only `CURSOR_API_KEY` for API billing and uses
89
+ the selected binary's native `status` command for subscription state.
90
+
91
+ ### Review hardening
92
+
93
+ - OpenCode credential changes now retire every daemon sharing the same
94
+ `XDG_DATA_HOME` or HOME auth store, across projects and config overlays.
95
+ Unrelated isolated auth stores remain running. Abandoned OAuth flows release
96
+ their daemon handle automatically at the advertised expiry time.
97
+ - OpenCode model metadata reads the 1.3.2
98
+ `capabilities.input.image` / `capabilities.toolcall` schema while retaining
99
+ compatibility with older modality fields.
100
+ - Cursor only reports sessions, resume, and its stream-json protocol profile
101
+ when the selected CLI advertises print, resume, and `stream-json` as an
102
+ explicit output format. A generic `--output-format` flag is not sufficient.
103
+ Runtime output quarantine remains the final per-turn protocol check.
104
+ - Every new runtime, history, list-model, and upstream-provider type is exported
105
+ from the package root and covered by a compile-time public-contract test.
106
+ - Claude durable records always persist the effective cwd, attachment resumes
107
+ there unless explicitly overridden, and goal hydration completes before the
108
+ session is exposed. Historical hydration cannot overwrite newer live state
109
+ or restart polling after close.
110
+ - Claude and Codex attachment reject records owned by another provider and
111
+ classify the latest meaningful raw turn boundary, including user prompts
112
+ and Codex `task_started` records that replay normalization intentionally
113
+ drops. Trailing system, rate-limit, goal, and telemetry records are ignored.
114
+ - Rejected goal sentinels now terminate as `blocked` with
115
+ `blockedReason: "sentinel_error"` and an `errorMessage`, rather than escaping
116
+ as an unhandled rejection and leaving the goal active. Codex
117
+ `usageLimited` maps to a budget block.
118
+ - Derived durable providers preserve their derived provider ID across
119
+ `describe`, attachment, and history records. Resume reapplies the derived
120
+ env, command, mode, cwd, and session parameters instead of falling through
121
+ to the unmodified base provider. Upstream provider authentication and
122
+ disconnect operations receive the same derived runtime overlays, keeping
123
+ isolated OpenCode credential stores isolated.
124
+ - Codex endpoint header names are emitted as quoted TOML path segments, so
125
+ valid names containing dots cannot become nested configuration keys.
126
+
127
+ ### Compatibility and limits
128
+
129
+ - OpenCode 1.3.2 is the release-tested server schema. Safe disconnect uses
130
+ `DELETE /auth/{providerID}`. A newer credential-ID schema remains disabled
131
+ until its provider-to-credential mapping can be proved.
132
+ - OpenCode MCP attachment remains disabled. Agentex does not claim it until it
133
+ can exclude ambient OpenCode MCP configuration reliably.
134
+ - Cursor requires a CLI profile with model discovery and the validated
135
+ stream-json `system:init` marker. Older installed binaries remain usable for
136
+ direct one-shot calls where their protocol matches, but runtime probing asks
137
+ the host to upgrade before exposing the new catalog and session UI.
138
+ - Cursor has no permission/question bridge and no mid-session model or mode
139
+ mutation. Changing those selections starts a new host session.
140
+
3
141
  ## 0.0.27 — Codex session reasoning effort
4
142
 
5
143
  ### Fixed
package/README.md CHANGED
@@ -8,7 +8,7 @@ Programmatic execution of AI coding agents. Spawn and manage Claude Code, Codex,
8
8
  npm install @agentex/agent
9
9
  ```
10
10
 
11
- Node.js >= 18. Each provider requires its CLI to be installed and on `$PATH`. The Codex session adapter additionally requires **codex-cli 0.130.0 or newer** (the `app-server` subcommand); older CLIs will fail with `unexpected argument '--json'`.
11
+ Node.js >= 20.19. Each provider requires its CLI to be installed and on `$PATH`. The Codex session adapter additionally requires **codex-cli 0.130.0 or newer** (the `app-server` subcommand); older CLIs will fail with `unexpected argument '--json'`.
12
12
 
13
13
  ## Quick Start
14
14
 
@@ -48,7 +48,7 @@ Providers fall into three tiers:
48
48
 
49
49
  - **Tier 1 — deep native:** `claude`, `codex`. Hand-built adapters over each CLI's richest protocol (Claude's stream-json, Codex's `app-server` JSON-RPC). Subscription-native, fullest feature set.
50
50
  - **Tier 2 — ACP:** `gemini`, `copilot`, plus any agent registered via [`acpProvider`](#custom--byok-providers) or `extends: "acp"` config. One shared, tested base over the open [Agent Client Protocol](https://agentclientprotocol.com) (JSON-RPC over stdio).
51
- - **Tier 3 — bespoke escape hatches:** `opencode` (HTTP/SSE daemon), `pi` (persistent RPC), `cursor` (one-shot), `openclaw` (HTTP gateway), `process` (any executable).
51
+ - **Tier 3 — bespoke escape hatches:** `opencode` (authenticated HTTP/SSE daemon), `pi` (persistent RPC), `cursor` (exec-backed resume), `openclaw` (HTTP gateway), `process` (any executable).
52
52
 
53
53
  | Provider | Transport | Tier | Sessions | Modes | Permissions |
54
54
  | ---------- | -------------------------------------- | ---- | --------- | ----- | ----------- |
@@ -56,13 +56,51 @@ Providers fall into three tiers:
56
56
  | `codex` | `codex app-server` JSON-RPC | 1 | ✅ resume | ✅ | ✅ |
57
57
  | `gemini` | `gemini --acp` (ACP) | 2 | ✅ | ✅ | ✅ |
58
58
  | `copilot` | `copilot --acp` (ACP) | 2 | ✅ | ✅ | ✅ |
59
- | `opencode` | `opencode serve` HTTP + SSE | 3 | ✅ resume | — | — |
59
+ | `opencode` | authenticated `opencode serve` HTTP + SSE | 3 | ✅ resume | ✅ | ✅ |
60
60
  | `pi` | persistent `pi --mode rpc` | 3 | ✅ resume | — | — |
61
- | `cursor` | `cursor-agent` stream-json (one-shot) | 3 | — | — | — |
61
+ | `cursor` | `cursor-agent` stream-json per turn | 3 | ✅ resume | probed | — |
62
62
  | `openclaw` | HTTP gateway | 3 | — | — | — |
63
63
  | `process` | any executable | 3 | — | — | — |
64
64
 
65
- > `cursor` stays one-shot until `cursor-agent` ships an ACP mode; it can then move to Tier 2 via `extends: "acp"`.
65
+ Cursor sessions are exec-backed. Each `send()` starts one CLI process and promotes the returned Cursor session ID into `--resume` for the next turn. `probeCapabilities()` verifies the selected binary's model catalog and advertised modes. Each execution independently validates the supported stream-json acceptance marker before releasing output. Older Cursor CLIs report `upgrade_required` instead of silently advertising discovery features they do not expose.
66
+
67
+ OpenCode sessions use a password-authenticated loopback server, SSE events, permission and question reconciliation, durable service-backed history, runtime model and agent discovery, and upstream provider authentication. `config.mcpServers` remains unsupported for OpenCode because strict isolation from ambient OpenCode MCP configuration is not yet proven.
68
+
69
+ ### OpenCode and Cursor discovery
70
+
71
+ The static `capabilities` object describes the maximum adapter surface. Use the runtime probe before presenting controls that depend on a particular installed CLI version.
72
+
73
+ ```ts
74
+ const opencode = getProvider("opencode");
75
+ const runtime = await opencode.probeCapabilities?.({ cwd });
76
+ const models = runtime?.capabilities.modelDiscovery?.supported
77
+ ? await opencode.listModels?.({ cwd })
78
+ : [];
79
+ const modes = runtime?.capabilities.modes?.supported
80
+ ? await opencode.listModes?.({ cwd })
81
+ : [];
82
+
83
+ const cursor = getProvider("cursor");
84
+ const cursorRuntime = await cursor.probeCapabilities?.({ cwd });
85
+ const cursorModels = cursorRuntime?.capabilities.modelDiscovery?.supported
86
+ ? await cursor.listModels?.({ cwd })
87
+ : [];
88
+ ```
89
+
90
+ OpenCode model IDs are fully qualified as `provider/model`. Provider-native variants are returned separately on `ProviderModel.variants` and selected with `config.modelVariant`. Cursor models are returned exactly as the installed CLI reports them. Grok therefore appears through Cursor discovery when the account and CLI expose it. There is no separate Grok provider or hard-coded Grok catalog.
91
+
92
+ Cursor's runtime report claims sessions and resume only when the selected CLI advertises `--print`, `--resume`, and `stream-json` as an explicit `--output-format` value. A generic output-format flag is not enough. A real turn still validates that `system:init` arrives before releasing any output. This keeps discovery non-billable without treating a successful model-list command as proof of the execution protocol.
93
+
94
+ OpenCode also exposes its upstream providers so an app can build provider-first credential UI without storing keys in agentex:
95
+
96
+ ```ts
97
+ const manager = opencode.upstreamProviders!;
98
+ const providers = await manager.list({ cwd });
99
+ const methods = await manager.authMethods("anthropic", { cwd });
100
+ await manager.setApiKey("anthropic", apiKey, { cwd });
101
+ ```
102
+
103
+ OAuth uses `beginOAuth()` followed by `completeOAuth()`. Disconnect is capability-gated against the running OpenCode schema. The tested OpenCode 1.3.2 profile uses `DELETE /auth/{providerID}`. Unknown credential-ID schemas are reported unsupported instead of guessing which credential to delete.
66
104
 
67
105
  Capabilities (sessions, modes, skills, workspaces, MCP, model discovery, quota probing, instructions, concurrent send, cancel queued messages, stop task) are declared on each module's `capabilities` field — check `provider.capabilities` to branch on what's supported. ACP providers set `dynamicCapabilities: true` (their real capability set is negotiated at the ACP `initialize` handshake). Skill-aware providers also report:
68
106
 
@@ -100,6 +138,14 @@ loadProvidersFromConfig({
100
138
  });
101
139
  ```
102
140
 
141
+ When the base provider supports durable sessions or service history, the
142
+ derived provider keeps that capability without losing its identity. Persisted
143
+ records use the derived provider ID, and attachment/resume reapplies the
144
+ derived command, environment, mode, cwd, and session parameters. Upstream
145
+ provider authentication and disconnect calls also receive the derived runtime
146
+ overlay, so an OpenCode provider configured with an isolated credential home
147
+ continues to use that store for credential management.
148
+
103
149
  **Per-call endpoint (`config.endpoint`).** When the endpoint is chosen per
104
150
  session rather than registered up front — e.g. an app that lets each user bring
105
151
  their own model — set `endpoint` on `ProviderConfig`. The library keeps no state
@@ -209,7 +255,10 @@ interface ExecutionContext {
209
255
  interface ProviderConfig {
210
256
  command?: string; // Override CLI binary path
211
257
  model?: string;
258
+ modelVariant?: string; // OpenCode provider-native variant, separate from effort
212
259
  effort?: string;
260
+ unattendedPermissionPolicy?: "allow" | "deny";
261
+ inputRequestTimeoutSec?: number; // OpenCode permission/question response deadline, default 300
213
262
  maxTurns?: number;
214
263
  timeoutSec?: number;
215
264
  graceSec?: number;
@@ -561,7 +610,48 @@ if (attachment.lastTurn === "interrupted") {
561
610
  }
562
611
  ```
563
612
 
564
- Dedup replayed events against anything you saw live: Claude events carry a stable wire `eventId` (upsert on it); Codex has none (`eventId: null`), so gate replay on your own "not currently running" flag. A runnable end-to-end proof — start a session, crash the host mid-turn, reattach in a fresh process — lives in `scripts/durable-session-demo.ts` (`pnpm demo:durable`).
613
+ Dedup replayed events against anything you saw live: Claude events carry a stable wire `eventId`. File-backed Codex events carry a deterministic synthetic id derived from the rollout session id and line-start byte offset. A runnable end-to-end proof — start a session, crash the host mid-turn, reattach in a fresh process — lives in `scripts/durable-session-demo.ts` (`pnpm demo:durable`).
614
+
615
+ OpenCode exposes the same host-level recovery shape through service-backed history rather than a local JSONL transcript. Persist `session.describeHistory()`, call `provider.attachHistory(record)`, and checkpoint the opaque `HistoryCheckpoint` returned with each event. `catchUp({ mode: "incremental", after })` resumes after that exact normalized event. `catchUp({ mode: "bounded_full_resync" })` performs a bounded rebuild. OpenCode pagination is capped at 100 pages, 10,000 messages, and 25 MiB so a corrupt or unexpectedly large history cannot exhaust the host.
616
+
617
+ ### Discover local history when session ids are unknown
618
+
619
+ Claude and Codex expose `provider.localHistory` for import and migration tools. This is separate from `attachHistory()`: attachment starts from a persisted `SessionRecord`, while local discovery starts with no known session ids.
620
+
621
+ ```typescript
622
+ import { getProvider } from "@agentex/agent";
623
+
624
+ const history = getProvider("claude").localHistory!;
625
+ const presence = await history.probe(); // file presence only, no transcript parsing
626
+
627
+ if (presence.historyAvailable) {
628
+ for await (const session of history.discover({ limit: 50 })) {
629
+ let checkpoint = 0;
630
+ let completedLine: number | undefined;
631
+ for await (const item of history.read(session, { fromOffset: checkpoint })) {
632
+ if (completedLine !== undefined && item.nextOffset !== completedLine) {
633
+ checkpoint = completedLine;
634
+ await saveCheckpoint(checkpoint);
635
+ }
636
+ await ingest(item.event, item.partIndex);
637
+ completedLine = item.nextOffset;
638
+ }
639
+ if (completedLine !== undefined) await saveCheckpoint(completedLine);
640
+ const strongFingerprint = await history.fingerprint(session, { sha256: true });
641
+ await saveFingerprint(strongFingerprint);
642
+ }
643
+ }
644
+ ```
645
+
646
+ Discovery defaults to main sessions with at least one meaningful human message. Claude nested subagents and sidechains are excluded by default. Pass `mainSessionsOnly: false` to include them with a stable parent-session identity and inherited project context. Codex subagent rollouts, environment context, metadata-only threads, and duplicate active/archive copies are excluded by default. Source files are opened read-only and are never changed.
647
+
648
+ `discover({ limit })` first orders candidates by filesystem metadata, then inspects transcripts in bounded batches until it finds enough eligible sessions. A limit bounds transcript parsing, not only returned rows.
649
+
650
+ Strong fingerprints verify the opened file before and after hashing. A strong fingerprint or completed transcript read throws `LocalHistoryError` with code `source_changed_during_read` when the source changes during the operation. Hosts should keep committed line checkpoints and retry from the last completed boundary.
651
+
652
+ `LocalHistoryYield.event.eventId` identifies the provider source record. Use `(providerType, externalSessionId, eventId, partIndex)` as the normalized-event idempotency key because one JSONL record can produce several events. `nextOffset` is line-aligned, so persist it only after every part for that line commits.
653
+
654
+ Codex rollout JSONL is the canonical history and checkpoint source. `session_index.jsonl` and compatible SQLite state databases are optional title sources opened read-only. Local history never starts Codex App Server.
565
655
 
566
656
  ## Plan Mode
567
657
 
@@ -624,7 +714,7 @@ For Codex sessions, the plan-mode preamble is sent once via `developerInstructio
624
714
  ### Caveats
625
715
 
626
716
  - `planMode` and `skipPermissions` are mutually exclusive — if both are set, `planMode` wins and `skipPermissions` is silently ignored.
627
- - Providers with `capabilities.planMode === false` (every provider other than claude/codex) ignore `config.planMode` entirely.
717
+ - Providers with `capabilities.planMode === false` ignore `config.planMode`. OpenCode maps plan mode to its `plan` agent. Cursor maps it to `--mode plan` only when its runtime probe confirms that mode.
628
718
  - Codex's preamble is a heuristic, not a hard guarantee. The sandbox is the enforcement boundary — even if the agent ignored the prompt and tried to write, the sandbox would reject it. The preamble exists so the agent emits a usable plan instead of a sequence of failed write attempts.
629
719
 
630
720
  ## Auth
@@ -699,7 +789,7 @@ await claude.execute({ prompt: "Respond with 'hello'.", config: { timeoutSec: 15
699
789
  | `claude` | `claude auth status --json` · fallback: keychain/creds file | `ANTHROPIC_API_KEY` | Bedrock via `ANTHROPIC_BEDROCK_BASE_URL` or `AWS_ACCESS_KEY_ID`+`AWS_REGION` |
700
790
  | `codex` | `codex login status` · fallback: `$CODEX_HOME/auth.json` | `OPENAI_API_KEY` | — |
701
791
  | `gemini` | `$GEMINI_CONFIG_DIR/oauth_creds.json` | `GEMINI_API_KEY`, `GOOGLE_API_KEY` | — |
702
- | `cursor` | (detected at runtime by the CLI) | `CURSOR_API_KEY`, `OPENAI_API_KEY` | — |
792
+ | `cursor` | selected CLI's `status` command | `CURSOR_API_KEY` | `OPENAI_API_KEY` is intentionally ignored |
703
793
  | `opencode`| — | `OPENAI_API_KEY`, `ANTHROPIC_API_KEY` | — |
704
794
  | `pi` | — | `OPENAI_API_KEY`, `ANTHROPIC_API_KEY` | — |
705
795
 
@@ -1 +1 @@
1
- {"version":3,"file":"derived.d.ts","sourceRoot":"","sources":["../src/derived.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAGV,aAAa,EACb,cAAc,EACf,MAAM,YAAY,CAAC;AAIpB;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB;IACpC,mFAAmF;IACnF,EAAE,EAAE,MAAM,CAAC;IACX;6EACyE;IACzE,OAAO,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;uCACmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;mFAC+E;IAC/E,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,yDAAyD;IACzD,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,oFAAoF;AACpF,qBAAa,4BAA6B,SAAQ,KAAK;IACrD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;gBACX,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;CAK3C;AAED,0EAA0E;AAC1E,MAAM,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,KAAK,cAAc,CAAC;AAIrB;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAE5D;AAED,6BAA6B;AAC7B,wBAAgB,aAAa,IAAI,UAAU,GAAG,IAAI,CAEjD;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,qBAAqB,GAAG,cAAc,CAiEhF;AA+FD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,OAAO,EACZ,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAC/B,cAAc,EAAE,CA0DlB"}
1
+ {"version":3,"file":"derived.d.ts","sourceRoot":"","sources":["../src/derived.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAMV,aAAa,EACb,cAAc,EAIf,MAAM,YAAY,CAAC;AAKpB;;;;;;GAMG;AACH,MAAM,WAAW,qBAAqB;IACpC,mFAAmF;IACnF,EAAE,EAAE,MAAM,CAAC;IACX;6EACyE;IACzE,OAAO,EAAE,MAAM,CAAC;IAChB,qCAAqC;IACrC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,mCAAmC;IACnC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;uCACmC;IACnC,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;mFAC+E;IAC/E,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,yDAAyD;IACzD,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB,uEAAuE;IACvE,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,gEAAgE;IAChE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,oFAAoF;AACpF,qBAAa,4BAA6B,SAAQ,KAAK;IACrD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;gBACX,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;CAK3C;AAED,0EAA0E;AAC1E,MAAM,MAAM,UAAU,GAAG,CAAC,MAAM,EAAE;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAC7B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,aAAa,EAAE,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB,KAAK,cAAc,CAAC;AAIrB;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,UAAU,GAAG,IAAI,CAE5D;AAED,6BAA6B;AAC7B,wBAAgB,aAAa,IAAI,UAAU,GAAG,IAAI,CAEjD;AAkCD;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,GAAG,EAAE,qBAAqB,GAAG,cAAc,CAyIhF;AA2GD;;;;;GAKG;AACH,wBAAgB,uBAAuB,CACrC,GAAG,EAAE,OAAO,EACZ,OAAO,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,OAAO,CAAA;CAAE,GAC/B,cAAc,EAAE,CA0DlB"}
package/dist/derived.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import { getProvider, registerProvider } from "./registry.js";
2
2
  import { acpProvider } from "./providers/acp/index.js";
3
+ import { MalformedSessionRecordError } from "./sessions/record.js";
3
4
  /** Thrown when a provider config object is malformed. Branch on it; don't parse. */
4
5
  export class MalformedProviderConfigError extends Error {
5
6
  path;
@@ -24,6 +25,32 @@ export function registerAcpFactory(factory) {
24
25
  export function getAcpFactory() {
25
26
  return acpFactory;
26
27
  }
28
+ function withProviderType(record, providerType) {
29
+ return record ? { ...record, providerType } : null;
30
+ }
31
+ function wrapDerivedSession(session, providerType) {
32
+ return new Proxy(session, {
33
+ get(target, property) {
34
+ if (property === "describe") {
35
+ return target.describe
36
+ ? () => withProviderType(target.describe(), providerType)
37
+ : undefined;
38
+ }
39
+ if (property === "describeHistory") {
40
+ return target.describeHistory
41
+ ? () => withProviderType(target.describeHistory(), providerType)
42
+ : undefined;
43
+ }
44
+ const value = Reflect.get(target, property, target);
45
+ return typeof value === "function" ? value.bind(target) : value;
46
+ },
47
+ });
48
+ }
49
+ function assertDerivedRecord(record, providerType) {
50
+ if (record.providerType !== providerType) {
51
+ throw new MalformedSessionRecordError(`${providerType} attach requires providerType ${JSON.stringify(providerType)}; got ${JSON.stringify(record.providerType)}`, "providerType");
52
+ }
53
+ }
27
54
  /**
28
55
  * Build a derived `ProviderModule` from a base provider plus an overlay. The
29
56
  * returned module is NOT auto-registered — pass it to `registerProvider`, or
@@ -63,7 +90,7 @@ export function defineDerivedProvider(cfg) {
63
90
  };
64
91
  if (base.createSession) {
65
92
  const baseCreate = base.createSession.bind(base);
66
- derived.createSession = (ctx) => baseCreate({ ...ctx, env: overlayEnv(ctx.env), config: overlayConfig(ctx.config) });
93
+ derived.createSession = async (ctx) => wrapDerivedSession(await baseCreate({ ...ctx, env: overlayEnv(ctx.env), config: overlayConfig(ctx.config) }), cfg.id);
67
94
  }
68
95
  if (cfg.models) {
69
96
  const models = cfg.models;
@@ -71,7 +98,11 @@ export function defineDerivedProvider(cfg) {
71
98
  }
72
99
  else if (base.listModels) {
73
100
  const baseList = base.listModels.bind(base);
74
- derived.listModels = (opts) => baseList(opts);
101
+ derived.listModels = (opts) => baseList({
102
+ ...opts,
103
+ env: overlayEnv(opts?.env),
104
+ config: overlayConfig(opts?.config),
105
+ });
75
106
  }
76
107
  if (base.listModes) {
77
108
  const baseModes = base.listModes.bind(base);
@@ -81,8 +112,74 @@ export function defineDerivedProvider(cfg) {
81
112
  const baseQuota = base.checkQuota.bind(base);
82
113
  derived.checkQuota = (qctx) => baseQuota({ ...qctx, env: overlayEnv(qctx?.env), config: overlayConfig(qctx?.config) });
83
114
  }
115
+ if (base.probeCapabilities) {
116
+ const baseProbe = base.probeCapabilities.bind(base);
117
+ derived.probeCapabilities = (ctx) => baseProbe({
118
+ ...ctx,
119
+ env: overlayEnv(ctx?.env),
120
+ config: overlayConfig(ctx?.config),
121
+ });
122
+ }
123
+ if (base.upstreamProviders) {
124
+ const manager = base.upstreamProviders;
125
+ const runtime = (ctx) => ({
126
+ ...ctx,
127
+ env: overlayEnv(ctx?.env),
128
+ config: overlayConfig(ctx?.config),
129
+ });
130
+ derived.upstreamProviders = {
131
+ list: (ctx) => manager.list(runtime(ctx)),
132
+ authMethods: (providerId, ctx) => manager.authMethods(providerId, runtime(ctx)),
133
+ setApiKey: (providerId, key, ctx) => manager.setApiKey(providerId, key, runtime(ctx)),
134
+ beginOAuth: (providerId, methodId, inputs, ctx) => manager.beginOAuth(providerId, methodId, inputs, runtime(ctx)),
135
+ completeOAuth: (flowId, code, ctx) => manager.completeOAuth(flowId, code, runtime(ctx)),
136
+ canDisconnect: (providerId, ctx) => manager.canDisconnect(providerId, runtime(ctx)),
137
+ disconnect: (providerId, ctx) => manager.disconnect(providerId, runtime(ctx)),
138
+ };
139
+ }
140
+ if (base.attachSession && derived.createSession) {
141
+ const baseAttach = base.attachSession.bind(base);
142
+ derived.attachSession = async (record, opts) => {
143
+ assertDerivedRecord(record, cfg.id);
144
+ const attachment = await baseAttach({ ...record, providerType: base.type }, overlayAttachOptions(opts, overlayEnv, overlayConfig));
145
+ const derivedRecord = withProviderType(attachment.record, cfg.id);
146
+ return {
147
+ ...attachment,
148
+ record: derivedRecord,
149
+ resume: (ctx) => derived.createSession({
150
+ ...ctx,
151
+ cwd: ctx?.cwd ?? derivedRecord.cwd ?? undefined,
152
+ sessionParams: derivedRecord.params,
153
+ }),
154
+ };
155
+ };
156
+ }
157
+ if (base.attachHistory && derived.createSession) {
158
+ const baseAttachHistory = base.attachHistory.bind(base);
159
+ derived.attachHistory = async (record, opts) => {
160
+ assertDerivedRecord(record, cfg.id);
161
+ const attachment = await baseAttachHistory({ ...record, providerType: base.type }, overlayAttachOptions(opts, overlayEnv, overlayConfig));
162
+ const derivedRecord = withProviderType(attachment.record, cfg.id);
163
+ return {
164
+ ...attachment,
165
+ record: derivedRecord,
166
+ resume: (ctx) => derived.createSession({
167
+ ...ctx,
168
+ cwd: ctx?.cwd ?? derivedRecord.cwd ?? undefined,
169
+ sessionParams: derivedRecord.params,
170
+ }),
171
+ };
172
+ };
173
+ }
84
174
  return derived;
85
175
  }
176
+ function overlayAttachOptions(opts, overlayEnv, overlayConfig) {
177
+ return {
178
+ ...opts,
179
+ env: overlayEnv(opts?.env),
180
+ config: overlayConfig(opts?.config),
181
+ };
182
+ }
86
183
  function isRecord(v) {
87
184
  return typeof v === "object" && v !== null && !Array.isArray(v);
88
185
  }
@@ -1 +1 @@
1
- {"version":3,"file":"derived.js","sourceRoot":"","sources":["../src/derived.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"derived.js","sourceRoot":"","sources":["../src/derived.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/goals/controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,WAAW,EAEX,SAAS,EACT,UAAU,EACV,aAAa,EACb,WAAW,EACX,UAAU,EACX,MAAM,aAAa,CAAC;AAerB;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,YAAY,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAClC;;;;OAIG;IACH,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/C;;;;OAIG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACvC,4CAA4C;IAC5C,iBAAiB,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACxC,yEAAyE;IACzE,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,4EAA4E;IAC5E,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAChE;AAID;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,cAMtC,CAAC;AAcF;;;;;GAKG;AACH,qBAAa,cAAc;IAab,OAAO,CAAC,QAAQ,CAAC,IAAI;IAZjC,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,IAAI,CAAgB;IAC5B,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,aAAa,CAAM;IAC3B,OAAO,CAAC,UAAU,CAAK;IACvB,6EAA6E;IAC7E,OAAO,CAAC,UAAU,CAAS;IAC3B,gFAAgF;IAChF,OAAO,CAAC,WAAW,CAAS;IAC5B,0EAA0E;IAC1E,OAAO,CAAC,UAAU,CAAK;gBAEM,IAAI,EAAE,kBAAkB;IAErD,OAAO,IAAI,SAAS,GAAG,IAAI;IAI3B;;;;OAIG;IACH,UAAU,IAAI,OAAO;IAIrB;;;;;OAKG;IACH,iBAAiB,IAAI,IAAI;IAIzB;;;;;OAKG;IACH,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAKzB,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,aAAa,CAAC;IA0G7E,SAAS,CAAC,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;KAAO,GAAG,OAAO,CAAC,eAAe,CAAC;IAuD3F;;;OAGG;IACH,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAuBjC;;;OAGG;IACG,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA2DpD,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,mBAAmB;IAS3B,sEAAsE;IACtE,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,UAAU;CAwBnB"}
1
+ {"version":3,"file":"controller.d.ts","sourceRoot":"","sources":["../../src/goals/controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,eAAe,EACf,cAAc,EACd,WAAW,EAEX,SAAS,EACT,UAAU,EACV,aAAa,EACb,WAAW,EACX,UAAU,EACX,MAAM,aAAa,CAAC;AAerB;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IACjC,oEAAoE;IACpE,YAAY,EAAE,MAAM,CAAC;IACrB,uDAAuD;IACvD,YAAY,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IAClC;;;;OAIG;IACH,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,CAAC,CAAC;IAC/C;;;;OAIG;IACH,QAAQ,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACvC,4CAA4C;IAC5C,iBAAiB,CAAC,EAAE,MAAM,MAAM,GAAG,IAAI,CAAC;IACxC,yEAAyE;IACzE,UAAU,CAAC,EAAE,cAAc,CAAC;IAC5B;;;;;;OAMG;IACH,SAAS,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;IACpD,4EAA4E;IAC5E,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,GAAG,SAAS,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAChE;AAID;;;GAGG;AACH,eAAO,MAAM,wBAAwB,EAAE,cAMtC,CAAC;AAcF;;;;;GAKG;AACH,qBAAa,cAAc;IAab,OAAO,CAAC,QAAQ,CAAC,IAAI;IAZjC,OAAO,CAAC,KAAK,CAA0B;IACvC,OAAO,CAAC,IAAI,CAAgB;IAC5B,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,aAAa,CAAM;IAC3B,OAAO,CAAC,UAAU,CAAK;IACvB,6EAA6E;IAC7E,OAAO,CAAC,UAAU,CAAS;IAC3B,gFAAgF;IAChF,OAAO,CAAC,WAAW,CAAS;IAC5B,0EAA0E;IAC1E,OAAO,CAAC,UAAU,CAAK;gBAEM,IAAI,EAAE,kBAAkB;IAErD,OAAO,IAAI,SAAS,GAAG,IAAI;IAI3B;;;;OAIG;IACH,UAAU,IAAI,OAAO;IAIrB;;;;;OAKG;IACH,iBAAiB,IAAI,IAAI;IAIzB;;;;;OAKG;IACH,OAAO,CAAC,KAAK,EAAE,SAAS,GAAG,IAAI;IAQzB,OAAO,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,GAAE,WAAgB,GAAG,OAAO,CAAC,aAAa,CAAC;IA0G7E,SAAS,CAAC,OAAO,GAAE;QAAE,MAAM,CAAC,EAAE,SAAS,GAAG,SAAS,CAAA;KAAO,GAAG,OAAO,CAAC,eAAe,CAAC;IAuD3F;;;OAGG;IACH,OAAO,CAAC,KAAK,EAAE,WAAW,GAAG,IAAI;IAuBjC;;;OAGG;IACG,aAAa,CAAC,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IAwEpD,OAAO,CAAC,OAAO;IAKf,OAAO,CAAC,mBAAmB;IAS3B,sEAAsE;IACtE,OAAO,CAAC,UAAU;IAMlB,OAAO,CAAC,UAAU;CAyBnB"}
@@ -72,6 +72,10 @@ export class GoalController {
72
72
  * sentinel/loop), call `setGoal` again; hydrate does not restart the loop.
73
73
  */
74
74
  hydrate(state) {
75
+ // Hydration is historical initialization, never an overwrite. A live
76
+ // parser event or caller-set goal that won the race remains authoritative.
77
+ if (this.state !== null)
78
+ return;
75
79
  this.state = state;
76
80
  this.mode = "idle";
77
81
  }
@@ -318,6 +322,21 @@ export class GoalController {
318
322
  const nudge = verdict.nudge ?? defaultNudge(objective, this.iterations);
319
323
  void this.deps.send(nudge).catch(() => { });
320
324
  }
325
+ catch (error) {
326
+ if (gen !== this.generation)
327
+ return;
328
+ this.transition({
329
+ objective,
330
+ status: "blocked",
331
+ met: false,
332
+ enforced: true,
333
+ source: "agentex",
334
+ blockedReason: "sentinel_error",
335
+ errorMessage: error instanceof Error ? error.message : String(error),
336
+ });
337
+ this.mode = "idle";
338
+ this.sentinel = null;
339
+ }
321
340
  finally {
322
341
  this.evaluating = false;
323
342
  }
@@ -361,6 +380,8 @@ export class GoalController {
361
380
  };
362
381
  if (fields.blockedReason !== undefined)
363
382
  event.blockedReason = fields.blockedReason;
383
+ if (fields.errorMessage !== undefined)
384
+ event.errorMessage = fields.errorMessage;
364
385
  if (fields.tokensUsed !== undefined)
365
386
  event.tokensUsed = fields.tokensUsed;
366
387
  if (fields.timeUsedSeconds !== undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/goals/controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"controller.js","sourceRoot":"","sources":["../../src/goals/controller.ts"],"names":[],"mappings":"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"}
@@ -25,6 +25,7 @@ export interface NormalizedGoalFields {
25
25
  enforced: boolean;
26
26
  source: GoalSource;
27
27
  blockedReason?: GoalBlockedReason;
28
+ errorMessage?: string;
28
29
  tokensUsed?: number;
29
30
  timeUsedSeconds?: number;
30
31
  tokenBudget?: number;
@@ -1 +1 @@
1
- {"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../src/goals/normalize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,UAAU,EACV,SAAS,EACT,UAAU,EACV,WAAW,EACZ,MAAM,aAAa,CAAC;AAErB,6EAA6E;AAC7E,eAAO,MAAM,kBAAkB,OAAO,CAAC;AAEvC,yDAAyD;AACzD,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC,CAAC;AAE5E;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,aAAsD,CAAC;AAEpF;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;IACnB,GAAG,EAAE,OAAO,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;IACnB,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,yEAAyE;AACzE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAEhE;AAMD;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,GACrD,oBAAoB,GAAG,IAAI,CAW7B;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG;IACxE,MAAM,EAAE,UAAU,CAAC;IACnB,GAAG,EAAE,OAAO,CAAC;IACb,aAAa,CAAC,EAAE,iBAAiB,CAAC;CACnC,CAqBA;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,EAChD,MAAM,GAAE,UAAoB,GAC3B,oBAAoB,GAAG,IAAI,CAwB7B;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,SAAS,GAAG,IAAI,CAMpF;AAED,8EAA8E;AAC9E,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,eAAe,GAAG,SAAS,CAepE"}
1
+ {"version":3,"file":"normalize.d.ts","sourceRoot":"","sources":["../../src/goals/normalize.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,iBAAiB,EACjB,UAAU,EACV,SAAS,EACT,UAAU,EACV,WAAW,EACZ,MAAM,aAAa,CAAC;AAErB,6EAA6E;AAC7E,eAAO,MAAM,kBAAkB,OAAO,CAAC;AAEvC,yDAAyD;AACzD,MAAM,MAAM,eAAe,GAAG,OAAO,CAAC,WAAW,EAAE;IAAE,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC,CAAC;AAE5E;;;;;;GAMG;AACH,eAAO,MAAM,gBAAgB,aAAsD,CAAC;AAEpF;;;;GAIG;AACH,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;IACnB,GAAG,EAAE,OAAO,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,UAAU,CAAC;IACnB,aAAa,CAAC,EAAE,iBAAiB,CAAC;IAClC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,yEAAyE;AACzE,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,UAAU,GAAG,OAAO,CAEhE;AAMD;;;;;GAKG;AACH,wBAAgB,6BAA6B,CAC3C,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,GACrD,oBAAoB,GAAG,IAAI,CAW7B;AAED;;;;;;GAMG;AACH,wBAAgB,wBAAwB,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG;IACxE,MAAM,EAAE,UAAU,CAAC;IACnB,GAAG,EAAE,OAAO,CAAC;IACb,aAAa,CAAC,EAAE,iBAAiB,CAAC;CACnC,CAwBA;AAED;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CACtC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,GAAG,SAAS,EAChD,MAAM,GAAE,UAAoB,GAC3B,oBAAoB,GAAG,IAAI,CAwB7B;AAED;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,QAAQ,CAAC,WAAW,CAAC,GAAG,SAAS,GAAG,IAAI,CAMpF;AAED,8EAA8E;AAC9E,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,eAAe,GAAG,SAAS,CAgBpE"}