tinker-agent 2.7.0 → 2.8.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/CHANGELOG.md +17 -1
- package/package.json +1 -1
- package/src/agent/runtime-session.ts +16 -0
- package/src/events/types.ts +1 -1
- package/src/tools/bash.ts +1 -1
- package/src/tools/context-maintenance.ts +1 -1
- package/src/tools/read.ts +1 -1
- package/src/tools/wait.ts +1 -3
package/CHANGELOG.md
CHANGED
|
@@ -5,6 +5,21 @@ All notable user-facing changes to Tinker are documented here. The project follo
|
|
|
5
5
|
|
|
6
6
|
## [Unreleased]
|
|
7
7
|
|
|
8
|
+
## [2.8.0] - 2026-09-04
|
|
9
|
+
|
|
10
|
+
### Changed
|
|
11
|
+
|
|
12
|
+
- Refresh built-in tool descriptions so filesystem scope, local command
|
|
13
|
+
execution, waiting, and context swaps are stated more precisely to the model.
|
|
14
|
+
- Remove obsolete implementation roadmaps and reconcile the remaining design
|
|
15
|
+
documents with the behavior already delivered by the runtime.
|
|
16
|
+
|
|
17
|
+
### Fixed
|
|
18
|
+
|
|
19
|
+
- Re-evaluate context pressure after a completed turn so automatic maintenance
|
|
20
|
+
still runs when closing the turn itself moves the active context above its
|
|
21
|
+
configured pressure threshold.
|
|
22
|
+
|
|
8
23
|
## [2.7.0] - 2026-09-04
|
|
9
24
|
|
|
10
25
|
### Added
|
|
@@ -346,7 +361,8 @@ All notable user-facing changes to Tinker are documented here. The project follo
|
|
|
346
361
|
- First formal npm release under the `tinker-agent` package name with the `tinker`
|
|
347
362
|
executable.
|
|
348
363
|
|
|
349
|
-
[Unreleased]: https://github.com/ishowshao/tinker/compare/v2.
|
|
364
|
+
[Unreleased]: https://github.com/ishowshao/tinker/compare/v2.8.0...HEAD
|
|
365
|
+
[2.8.0]: https://github.com/ishowshao/tinker/releases/tag/v2.8.0
|
|
350
366
|
[2.7.0]: https://github.com/ishowshao/tinker/releases/tag/v2.7.0
|
|
351
367
|
[2.6.0]: https://github.com/ishowshao/tinker/releases/tag/v2.6.0
|
|
352
368
|
[2.5.0]: https://github.com/ishowshao/tinker/releases/tag/v2.5.0
|
package/package.json
CHANGED
|
@@ -2499,6 +2499,7 @@ class DefaultRuntimeSession implements RuntimeSession {
|
|
|
2499
2499
|
}
|
|
2500
2500
|
await this.settleClosedTurnSkills();
|
|
2501
2501
|
if (result.status === "completed") {
|
|
2502
|
+
await this.evaluateClosedTurnContextPressure();
|
|
2502
2503
|
await this.performAutomaticContextMaintenance();
|
|
2503
2504
|
}
|
|
2504
2505
|
return result;
|
|
@@ -2522,6 +2523,21 @@ class DefaultRuntimeSession implements RuntimeSession {
|
|
|
2522
2523
|
}
|
|
2523
2524
|
}
|
|
2524
2525
|
|
|
2526
|
+
private async evaluateClosedTurnContextPressure(): Promise<void> {
|
|
2527
|
+
const automation = this.requireContextAutomation();
|
|
2528
|
+
if (!automation.automaticSwapOnly) return;
|
|
2529
|
+
|
|
2530
|
+
const snapshot = this.requireContextManager().measureCurrent();
|
|
2531
|
+
await this.append({
|
|
2532
|
+
type: "context.usage.updated",
|
|
2533
|
+
sessionId: this.sessionId,
|
|
2534
|
+
data: { phase: "turn_close", snapshot },
|
|
2535
|
+
});
|
|
2536
|
+
if (snapshot.pressure !== "normal") {
|
|
2537
|
+
this.pendingAutomaticContextMaintenance = true;
|
|
2538
|
+
}
|
|
2539
|
+
}
|
|
2540
|
+
|
|
2525
2541
|
private async performAutomaticContextMaintenance(): Promise<void> {
|
|
2526
2542
|
if (!this.pendingAutomaticContextMaintenance) return;
|
|
2527
2543
|
this.pendingAutomaticContextMaintenance = false;
|
package/src/events/types.ts
CHANGED
|
@@ -46,7 +46,7 @@ export type SessionStartedData = {
|
|
|
46
46
|
};
|
|
47
47
|
|
|
48
48
|
export type ContextUsageUpdatedData = {
|
|
49
|
-
phase: "initial" | "preflight" | "measured" | "revision";
|
|
49
|
+
phase: "initial" | "preflight" | "measured" | "turn_close" | "revision";
|
|
50
50
|
snapshot: ContextUsageSnapshot;
|
|
51
51
|
};
|
|
52
52
|
|
package/src/tools/bash.ts
CHANGED
|
@@ -44,7 +44,7 @@ export function createBashToolExecutor(options: BashToolOptions): ToolExecutor {
|
|
|
44
44
|
return defineToolExecutor("bash", {
|
|
45
45
|
definition: {
|
|
46
46
|
name: "Bash",
|
|
47
|
-
description: "Run a shell command
|
|
47
|
+
description: "Run a shell command locally.",
|
|
48
48
|
parameters: {
|
|
49
49
|
type: "object",
|
|
50
50
|
additionalProperties: false,
|
|
@@ -53,7 +53,7 @@ export const CONTEXT_SWAP_CANDIDATES_TOOL_DEFINITION: ToolDefinition = Object.fr
|
|
|
53
53
|
export const CONTEXT_SWAP_TOOL_DEFINITION: ToolDefinition = Object.freeze({
|
|
54
54
|
name: "ContextSwap",
|
|
55
55
|
description:
|
|
56
|
-
"Schedule selected ContextSwapCandidates for replacement by compact Recall-backed placeholders
|
|
56
|
+
"Schedule selected ContextSwapCandidates for replacement by compact Recall-backed placeholders and preserve canonical history for RecallGet. Pass only candidate IDs returned by ContextSwapCandidates.",
|
|
57
57
|
parameters: {
|
|
58
58
|
type: "object",
|
|
59
59
|
additionalProperties: false,
|
package/src/tools/read.ts
CHANGED
|
@@ -32,7 +32,7 @@ export function createReadToolExecutor(options: ReadToolOptions): ToolExecutor {
|
|
|
32
32
|
definition: {
|
|
33
33
|
name: "Read",
|
|
34
34
|
description:
|
|
35
|
-
"Read a file from the local
|
|
35
|
+
"Read a file from the local filesystem. Use offset and limit for line ranges.",
|
|
36
36
|
parameters: {
|
|
37
37
|
type: "object",
|
|
38
38
|
additionalProperties: false,
|
package/src/tools/wait.ts
CHANGED
|
@@ -13,9 +13,7 @@ export function createWaitToolExecutor(): ToolExecutor {
|
|
|
13
13
|
return defineToolExecutor("wait", {
|
|
14
14
|
definition: {
|
|
15
15
|
name: "Wait",
|
|
16
|
-
description:
|
|
17
|
-
`Wait for a given number of integer seconds before continuing, from ${MIN_WAIT_SECONDS} to ${MAX_WAIT_SECONDS}. ` +
|
|
18
|
-
"Use this to pause between polling attempts or to give an external process time to make progress.",
|
|
16
|
+
description: `Wait for a given number of integer seconds before continuing, from ${MIN_WAIT_SECONDS} to ${MAX_WAIT_SECONDS}. `,
|
|
19
17
|
parameters: {
|
|
20
18
|
type: "object",
|
|
21
19
|
additionalProperties: false,
|