@oh-my-pi/pi-agent-core 17.2.15 → 17.3.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 CHANGED
@@ -2,6 +2,12 @@
2
2
 
3
3
  ## [Unreleased]
4
4
 
5
+ ## [17.3.0] - 2026-08-13
6
+
7
+ ### Fixed
8
+
9
+ - Improved the manual `/shake` command to retain a small history of recent tool results, preventing the agent from losing its active working context.
10
+
5
11
  ## [17.2.13] - 2026-08-11
6
12
 
7
13
  ### Fixed
@@ -32,8 +32,10 @@ export interface ShakeConfig {
32
32
  /** Auto-shake config: protects the live tail, conservative thresholds. */
33
33
  export declare const DEFAULT_SHAKE_CONFIG: ShakeConfig;
34
34
  /**
35
- * Manual `/shake`: aggressive — drops every eligible region across history,
36
- * artifact recovery reads included (the user's full escape hatch).
35
+ * Manual `/shake`: aggressive — no savings threshold and drops eligible
36
+ * regions across history, artifact recovery reads included (the user's full
37
+ * escape hatch). Still keeps a small recent tail so it cannot strip the tool
38
+ * results the agent is currently working from (#7776).
37
39
  */
38
40
  export declare const AGGRESSIVE_SHAKE_CONFIG: ShakeConfig;
39
41
  /** Compaction dead-end rescue: aggressive reach, but artifact recovery reads stay protected. */
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "@oh-my-pi/pi-agent-core",
4
- "version": "17.2.15",
4
+ "version": "17.3.0",
5
5
  "description": "General-purpose agent with transport abstraction, state management, and attachment support",
6
6
  "homepage": "https://omp.sh",
7
7
  "author": "Can Boluk",
@@ -35,16 +35,16 @@
35
35
  "fmt": "biome format --write ."
36
36
  },
37
37
  "dependencies": {
38
- "@oh-my-pi/pi-ai": "17.2.15",
39
- "@oh-my-pi/pi-catalog": "17.2.15",
40
- "@oh-my-pi/pi-natives": "17.2.15",
41
- "@oh-my-pi/pi-utils": "17.2.15",
42
- "@oh-my-pi/pi-wire": "17.2.15",
43
- "@oh-my-pi/snapcompact": "17.2.15",
38
+ "@oh-my-pi/pi-ai": "17.3.0",
39
+ "@oh-my-pi/pi-catalog": "17.3.0",
40
+ "@oh-my-pi/pi-natives": "17.3.0",
41
+ "@oh-my-pi/pi-utils": "17.3.0",
42
+ "@oh-my-pi/pi-wire": "17.3.0",
43
+ "@oh-my-pi/snapcompact": "17.3.0",
44
44
  "@opentelemetry/api": "^1.9.1"
45
45
  },
46
46
  "devDependencies": {
47
- "@oh-my-pi/omptype": "17.2.15",
47
+ "@oh-my-pi/omptype": "17.3.0",
48
48
  "@opentelemetry/context-async-hooks": "^2.9.0",
49
49
  "@opentelemetry/sdk-trace-base": "^2.9.0",
50
50
  "@types/bun": "^1.3.14"
@@ -52,11 +52,13 @@ export const DEFAULT_SHAKE_CONFIG: ShakeConfig = {
52
52
  };
53
53
 
54
54
  /**
55
- * Manual `/shake`: aggressive — drops every eligible region across history,
56
- * artifact recovery reads included (the user's full escape hatch).
55
+ * Manual `/shake`: aggressive — no savings threshold and drops eligible
56
+ * regions across history, artifact recovery reads included (the user's full
57
+ * escape hatch). Still keeps a small recent tail so it cannot strip the tool
58
+ * results the agent is currently working from (#7776).
57
59
  */
58
60
  export const AGGRESSIVE_SHAKE_CONFIG: ShakeConfig = {
59
- protectTokens: 0,
61
+ protectTokens: 4_000,
60
62
  minSavings: 0,
61
63
  protectedTools: ["skill", isSkillReadToolResult],
62
64
  fenceMinTokens: 400,
@@ -65,6 +67,10 @@ export const AGGRESSIVE_SHAKE_CONFIG: ShakeConfig = {
65
67
  /** Compaction dead-end rescue: aggressive reach, but artifact recovery reads stay protected. */
66
68
  export const RESCUE_SHAKE_CONFIG: ShakeConfig = {
67
69
  ...AGGRESSIVE_SHAKE_CONFIG,
70
+ // Rescue must be able to elide the newest oversized result even inside the
71
+ // manual preset's recent-tail window (#7776) — a dead-end recovery that
72
+ // cannot drop its blocker is not a recovery.
73
+ protectTokens: 0,
68
74
  protectedTools: [...AGGRESSIVE_SHAKE_CONFIG.protectedTools, isArtifactRecoveryToolResult],
69
75
  };
70
76