@gajae-code/agent-core 0.12.1 → 0.12.2
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/CHANGELOG.md +3 -0
- package/package.json +4 -4
- package/src/run-resource-ledger.ts +9 -5
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
## [Unreleased]
|
|
4
4
|
|
|
5
|
+
## [0.12.2] - 2026-07-30
|
|
6
|
+
|
|
5
7
|
## [0.12.1] - 2026-07-29
|
|
6
8
|
- Agent session configuration can carry an explicit first-event stream timeout while preserving provider defaults when the setting is absent.
|
|
7
9
|
|
|
@@ -9,6 +11,7 @@
|
|
|
9
11
|
|
|
10
12
|
- The `invalid_prompt` circuit breaker no longer replays the rejected turn on its repaired resend. The streaming path commits the failed assistant message to the context before the breaker runs, so the one repaired resend re-sent that errored turn as if the model had spoken it — re-triggering `Request blocked (code=invalid_prompt)` and leaving a second assistant tail that no continuation can resume from. The breaker now repairs and resends only the history that preceded the rejection.
|
|
11
13
|
- Compaction pruning now protects the newest two user/`bashExecution` turns, uses conservative read supersession, preserves bounded error-first diagnostics, and exposes reversible artifact-backed originals with exact savings accounting.
|
|
14
|
+
- Cancelling a prompt no longer fails its terminal closed. `agent_end` is published before the run resource ledger is sealed, so the event's own handlers register post-prompt work against an already-sealed run; that late registration was treated as an escaped resource and quarantined the run, making `waitForSettlement` report `unfenced` forever. Cancel therefore never obtained settlement proof and the SDK refused to publish a terminal, surfacing over ACP as `-32603 "Prompt resources did not settle before the terminalization grace expired."` Sealing now only freezes admission of genuinely new work; post-seal registration joins ordinary settlement accounting so the run stays unsettled until it actually completes.
|
|
12
15
|
|
|
13
16
|
## [0.11.11] - 2026-07-26
|
|
14
17
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"type": "module",
|
|
3
3
|
"name": "@gajae-code/agent-core",
|
|
4
|
-
"version": "0.12.
|
|
4
|
+
"version": "0.12.2",
|
|
5
5
|
"description": "General-purpose agent with transport abstraction, state management, and attachment support",
|
|
6
6
|
"homepage": "https://gajae-code.com",
|
|
7
7
|
"author": "Yeachan-Heo and Gajae Code Contributors",
|
|
@@ -32,9 +32,9 @@
|
|
|
32
32
|
"fmt": "biome format --write ."
|
|
33
33
|
},
|
|
34
34
|
"dependencies": {
|
|
35
|
-
"@gajae-code/ai": "0.12.
|
|
36
|
-
"@gajae-code/natives": "0.12.
|
|
37
|
-
"@gajae-code/utils": "0.12.
|
|
35
|
+
"@gajae-code/ai": "0.12.2",
|
|
36
|
+
"@gajae-code/natives": "0.12.2",
|
|
37
|
+
"@gajae-code/utils": "0.12.2",
|
|
38
38
|
"@opentelemetry/api": "^1.9.0"
|
|
39
39
|
},
|
|
40
40
|
"devDependencies": {
|
|
@@ -137,11 +137,15 @@ export function createRunResourceLedger(): RunResourceLedger {
|
|
|
137
137
|
}
|
|
138
138
|
|
|
139
139
|
if (state.lifecycle === "sealed") {
|
|
140
|
-
//
|
|
141
|
-
//
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
140
|
+
// Sealing only freezes admission of *new* work; it does not mean the run's
|
|
141
|
+
// resources have all been registered yet. `agent_end` is published before
|
|
142
|
+
// seal(), and its handlers register their own post-prompt work while the
|
|
143
|
+
// event is still draining, so this late registration is the normal
|
|
144
|
+
// lifecycle rather than an escaped resource. Admit it into ordinary
|
|
145
|
+
// settlement accounting so the run stays unsettled until it completes;
|
|
146
|
+
// quarantining here would make every cancel unfenced forever.
|
|
147
|
+
state.resources.set(id, { entry });
|
|
148
|
+
observeSettlement(settled, () => settleTracked(state!, id));
|
|
145
149
|
return;
|
|
146
150
|
}
|
|
147
151
|
|