kimetsu-pi 0.1.4 → 0.1.5

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/README.md CHANGED
@@ -33,7 +33,15 @@ This package connects Kimetsu through Pi's native extension and skill interfaces
33
33
  to reuse injected context, correct outdated memories, and cite memories that
34
34
  actually helped during a task.
35
35
 
36
- ## What's new in 0.1.4
36
+ ## What's new in 0.1.5
37
+
38
+ - Pi 1.2.0 compatibility: custom-triggered turns expire old memory without
39
+ treating background notifications as user prompts.
40
+ - Integration tests exercise Pi's real loader, event runner, model-message
41
+ conversion, and session saving with the Kimetsu 2.8.0 CLI in isolated fixtures.
42
+ - Refreshed development dependencies and removed the source-map-js advisory.
43
+
44
+ ## Previously in 0.1.4
37
45
 
38
46
  - Fresh memory per task: older raw injections are excluded from model requests
39
47
  and new summaries, including after corrections, queued user messages, and
@@ -172,12 +172,17 @@ export default function (pi: ExtensionAPI) {
172
172
  // --warm-on-first-prompt folds the repo digest and episodic resume into the
173
173
  // first turn of each session.
174
174
  pi.on("before_agent_start", async (event, ctx) => {
175
+ // Pi 1.x also starts turns from custom messages. Those are not user
176
+ // prompts: expire earlier evidence without retrieving for an empty task.
177
+ // Checking the prompt field also preserves pre-1.x user events.
178
+ activeContext = undefined;
179
+ if (!("prompt" in event) || typeof event.prompt !== "string") return;
175
180
  const request = { id: randomUUID(), sessionId: sessionIdOf(ctx) };
176
181
  // Expire the last task immediately, even if retrieval is empty or fails.
177
182
  activeContext = request;
178
183
  const payload = JSON.stringify({
179
184
  session_id: request.sessionId,
180
- prompt: typeof event?.prompt === "string" ? event.prompt : "",
185
+ prompt: event.prompt,
181
186
  });
182
187
  const stdout = await kimetsuRun(
183
188
  ["brain", "context-hook", "--warm-on-first-prompt", ...workspaceArgs(ctx)],
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "kimetsu-pi",
3
- "version": "0.1.4",
3
+ "version": "0.1.5",
4
4
  "description": "Kimetsu brain as a Pi.dev package — local-first, cross-session memory for the Pi coding agent that gets sharper every run.",
5
5
  "keywords": [
6
6
  "pi-package",
@@ -44,7 +44,7 @@
44
44
  "test:integration": "node scripts/test-integration.mjs"
45
45
  },
46
46
  "devDependencies": {
47
- "@earendil-works/pi-coding-agent": "^0.85.1",
47
+ "@earendil-works/pi-coding-agent": "1.2.0",
48
48
  "@types/node": "^26.0.0",
49
49
  "typescript": "^7.0.0",
50
50
  "vitest": "5.0.0"