pi-goosedump 0.12.58 → 0.12.60

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 (2) hide show
  1. package/dist/index.ts +26 -9
  2. package/package.json +2 -2
package/dist/index.ts CHANGED
@@ -484,7 +484,8 @@ function runGoosedumpAsync(args, signal, executablePath = resolveNativeGoosedump
484
484
  execFile(executablePath, args, {
485
485
  encoding: "utf-8",
486
486
  maxBuffer: 16 * 1024 * 1024,
487
- signal
487
+ signal,
488
+ ...process.platform === "linux" ? { env: { ...process.env, APPIMAGE_EXTRACT_AND_RUN: "1" } } : {}
488
489
  }, (err, stdout, stderr) => {
489
490
  if (err) {
490
491
  const message = stderr.trim() || err.message;
@@ -2593,8 +2594,24 @@ async function runSessionsPanel(ctx, executablePath) {
2593
2594
  async function loadSessions() {
2594
2595
  try {
2595
2596
  const all = await goosedumpListSessions(undefined, executablePath);
2596
- const cwdIds = new Set(all.filter((s) => s.cwd === ctx.cwd).map((s) => `${s.provider}:${s.id}`));
2597
- const cwdSessions = all.filter((s) => s.cwd === ctx.cwd || s.parent !== null && cwdIds.has(`${s.provider}:${s.parent}`));
2597
+ const allChildren = buildChildrenMap(all);
2598
+ const cwdSessions = all.filter((session) => session.cwd === ctx.cwd);
2599
+ const included = new Set(cwdSessions.map((session) => `${session.provider}:${session.id}`));
2600
+ const pending = [...cwdSessions];
2601
+ while (pending.length > 0) {
2602
+ const parent = pending.pop();
2603
+ if (!parent)
2604
+ continue;
2605
+ const parentKey = `${parent.provider}:${parent.id}`;
2606
+ for (const child of allChildren.get(parentKey) ?? []) {
2607
+ const childKey = `${child.provider}:${child.id}`;
2608
+ if (included.has(childKey))
2609
+ continue;
2610
+ included.add(childKey);
2611
+ cwdSessions.push(child);
2612
+ pending.push(child);
2613
+ }
2614
+ }
2598
2615
  cwdSessions.sort((a, b) => {
2599
2616
  const timeA = a.from ? new Date(a.from).getTime() : 0;
2600
2617
  const timeB = b.from ? new Date(b.from).getTime() : 0;
@@ -2932,11 +2949,11 @@ function pi_goosedump_default(pi) {
2932
2949
  createGoosedumpIntegration().register(pi);
2933
2950
  }
2934
2951
  export {
2935
- resolveNativeGoosedumpBinary,
2936
- resolveGoosedumpBinaryOverride,
2937
- resolveGoosedumpBinary,
2938
- parsePiMessages,
2939
- pi_goosedump_default as default,
2952
+ GOOSEDUMP_BINARY_ENV,
2940
2953
  createGoosedumpIntegration,
2941
- GOOSEDUMP_BINARY_ENV
2954
+ pi_goosedump_default as default,
2955
+ parsePiMessages,
2956
+ resolveGoosedumpBinary,
2957
+ resolveGoosedumpBinaryOverride,
2958
+ resolveNativeGoosedumpBinary
2942
2959
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "pi-goosedump",
3
- "version": "0.12.58",
3
+ "version": "0.12.60",
4
4
  "description": "Pi extension for goosedump session search, durable memory, session management, and compaction",
5
5
  "keywords": [
6
6
  "compaction",
@@ -37,7 +37,7 @@
37
37
  "ci:test": "npm test"
38
38
  },
39
39
  "dependencies": {
40
- "@jarkkojs/goosedump-api": "^0.12.58"
40
+ "@jarkkojs/goosedump-api": "^0.12.60"
41
41
  },
42
42
  "devDependencies": {
43
43
  "@earendil-works/pi-coding-agent": "^0.84.2",