pi-harness-runtime 0.9.18 → 0.9.19

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/index.ts CHANGED
@@ -62,10 +62,7 @@ import {
62
62
  type SharedBlackboard,
63
63
  createBlackboard,
64
64
  } from "./harness/blackboard.ts";
65
- import {
66
- scheduleAutoResume,
67
- cancelAutoResume,
68
- } from "./harness/index.js";
65
+ import { scheduleAutoResume, cancelAutoResume } from "./harness/index.js";
69
66
  import { homedir } from "node:os";
70
67
  import { existsSync, mkdirSync } from "node:fs";
71
68
  import { join } from "node:path";
@@ -121,6 +118,11 @@ function ensureHarnessDir() {
121
118
  if (!existsSync(HARNESS_ROOT_DIR)) {
122
119
  mkdirSync(HARNESS_ROOT_DIR, { recursive: true });
123
120
  }
121
+ // Also ensure the shared cookie drop folder exists
122
+ const cookieDropDir = join(homedir(), ".pi-harness-runtime", "cookies");
123
+ if (!existsSync(cookieDropDir)) {
124
+ mkdirSync(cookieDropDir, { recursive: true });
125
+ }
124
126
  }
125
127
 
126
128
  async function getCheckpointManager(): Promise<CheckpointManager> {
@@ -800,51 +802,51 @@ export default function (pi: ExtensionAPI) {
800
802
  return;
801
803
  }
802
804
 
803
- const checkpoint = currentSession.machine.getCheckpoint();
804
- if (!checkpoint) {
805
- ctx.ui.notify("Failed to get checkpoint.", "error");
806
- return;
807
- }
805
+ const checkpoint = currentSession.machine.getCheckpoint();
806
+ if (!checkpoint) {
807
+ ctx.ui.notify("Failed to get checkpoint.", "error");
808
+ return;
809
+ }
808
810
 
809
- // Read 5h reset epoch from mirror so we can schedule auto-resume
810
- const mirror = mirrorStore.readProvider("minimax");
811
- const resumeAtIso = mirror?.h5_resets_at_epoch
812
- ? new Date(mirror.h5_resets_at_epoch).toISOString()
813
- : undefined;
811
+ // Read 5h reset epoch from mirror so we can schedule auto-resume
812
+ const mirror = mirrorStore.readProvider("minimax");
813
+ const resumeAtIso = mirror?.h5_resets_at_epoch
814
+ ? new Date(mirror.h5_resets_at_epoch).toISOString()
815
+ : undefined;
814
816
 
815
- const result = await currentSession.machine.transition("paused_quota");
816
- if (!result.success) {
817
- ctx.ui.notify(`Failed to pause: ${result.error}`, "error");
818
- return;
819
- }
817
+ const result = await currentSession.machine.transition("paused_quota");
818
+ if (!result.success) {
819
+ ctx.ui.notify(`Failed to pause: ${result.error}`, "error");
820
+ return;
821
+ }
820
822
 
821
- // Persist resumeAt so auto-resume survives worker restart
822
- if (resumeAtIso) {
823
- await currentSession.machine.setResumeTime(resumeAtIso);
824
- }
823
+ // Persist resumeAt so auto-resume survives worker restart
824
+ if (resumeAtIso) {
825
+ await currentSession.machine.setResumeTime(resumeAtIso);
826
+ }
825
827
 
826
- // Schedule auto-resume for 5h quota
827
- if (resumeAtIso) {
828
- const scheduled = scheduleAutoResume(
829
- "minimax",
830
- currentSession.machine,
831
- mirrorStore,
832
- );
833
- ctx.ui.notify(
834
- `Job paused.\n` +
835
- `Auto-resume at ${scheduled ?? resumeAtIso} (5h quota exhausted).\n` +
836
- `Run /harness cancel to abort.`,
837
- "info",
838
- );
839
- } else {
840
- ctx.ui.notify(
841
- `Job ${currentSession.jobId} paused.\n` +
842
- `Current status: paused_quota\n` +
843
- `Run /harness resume to continue.`,
844
- "info",
845
- );
846
- }
847
- }
828
+ // Schedule auto-resume for 5h quota
829
+ if (resumeAtIso) {
830
+ const scheduled = scheduleAutoResume(
831
+ "minimax",
832
+ currentSession.machine,
833
+ mirrorStore,
834
+ );
835
+ ctx.ui.notify(
836
+ `Job paused.\n` +
837
+ `Auto-resume at ${scheduled ?? resumeAtIso} (5h quota exhausted).\n` +
838
+ `Run /harness cancel to abort.`,
839
+ "info",
840
+ );
841
+ } else {
842
+ ctx.ui.notify(
843
+ `Job ${currentSession.jobId} paused.\n` +
844
+ `Current status: paused_quota\n` +
845
+ `Run /harness resume to continue.`,
846
+ "info",
847
+ );
848
+ }
849
+ },
848
850
  });
849
851
 
850
852
  // ─── /harness resume — Resume the harness job ───────────────────────
package/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "pi-harness-runtime",
3
- "version": "0.9.18",
3
+ "version": "0.9.19",
4
4
  "description": "[BETA] Codex-style /usage status + autonomous coding harness for pi. Not production ready — expect breaking changes.",
5
5
  "type": "module",
6
6
  "scripts": {
7
7
  "test": "node --test",
8
+ "postinstall": "mkdir -p ~/.pi-harness-runtime/cookies",
8
9
  "release": "bun scripts/release-all.ts",
9
10
  "release:patch": "bun scripts/release-all.ts --release-as patch",
10
11
  "release:minor": "bun scripts/release-all.ts --release-as minor",
@@ -100,6 +100,8 @@ function ensureDirs(config: MinimaxBrowserAuthConfig): void {
100
100
  const statusPath = config.statusPath ?? getStatusPath();
101
101
  fs.mkdirSync(path.dirname(profileDir), { recursive: true });
102
102
  fs.mkdirSync(path.dirname(statusPath), { recursive: true });
103
+ // Also ensure the cookie drop folder exists
104
+ fs.mkdirSync(path.join(getRuntimeDir(), "cookies"), { recursive: true });
103
105
  }
104
106
 
105
107
  export function saveAuthStatus(
@@ -1 +1 @@
1
- {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAIH,OAAO,KAAK,EAAmB,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAY3E,oCAAoC;AACpC,eAAO,MAAM,gBAAgB,QAI5B,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CACjC,GAAG,EAAE,MAAM,EACX,WAAW,CAAC,EAAE,MAAM,GAClB,MAAM,EAAE,CA6CV;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB,CAmBA;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,IAAI,CAAC,IAAI,GAAE,WAAgB,GAAG,UAAU,CAiHvD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CACjC,OAAO,GAAE,MAAyB,GAChC,OAAO,CAET;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC7B,OAAO,GAAE,MAAyB,GAChC,MAAM,GAAG,IAAI,CAqBf;AAED,OAAO,EACN,aAAa,EACb,yBAAyB,EACzB,wBAAwB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,YAAY,EACX,WAAW,EACX,UAAU,EACV,eAAe,EACf,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,YAAY,GACZ,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"sync.d.ts","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAUH,OAAO,KAAK,EAAmB,WAAW,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAY3E,oCAAoC;AACpC,eAAO,MAAM,gBAAgB,QAI5B,CAAC;AAEF;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CACjC,GAAG,EAAE,MAAM,EACX,WAAW,CAAC,EAAE,MAAM,GAClB,MAAM,EAAE,CA6CV;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG;IAChD,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;CAChB,CAmBA;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,IAAI,CAAC,IAAI,GAAE,WAAgB,GAAG,UAAU,CAmHvD;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CACjC,OAAO,GAAE,MAAyB,GAChC,OAAO,CAET;AAED;;;;GAIG;AACH,wBAAgB,cAAc,CAC7B,OAAO,GAAE,MAAyB,GAChC,MAAM,GAAG,IAAI,CAqBf;AAED,OAAO,EACN,aAAa,EACb,yBAAyB,EACzB,wBAAwB,GACxB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AACxD,YAAY,EACX,WAAW,EACX,UAAU,EACV,eAAe,EACf,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,YAAY,GACZ,MAAM,YAAY,CAAC"}
@@ -14,7 +14,7 @@
14
14
  * Sec-001: Cookie VALUES never appear in any log line. Diagnostics
15
15
  * use file basenames and 64-char previews with values redacted.
16
16
  */
17
- import { readdirSync, readFileSync, statSync, existsSync } from "node:fs";
17
+ import { existsSync, mkdirSync, readdirSync, readFileSync, statSync, } from "node:fs";
18
18
  import { join } from "node:path";
19
19
  import { buildDetectedFile, safePreview } from "./detect-format.js";
20
20
  import { parseNetscape, serializeNetscape } from "./parse-netscape.js";
@@ -125,6 +125,9 @@ export function readInputFile(filePath) {
125
125
  */
126
126
  export function sync(opts = {}) {
127
127
  const dropDir = opts.dropDir ?? DEFAULT_DROP_DIR;
128
+ // Ensure the drop directory exists so users don't need to mkdir manually
129
+ if (!existsSync(dropDir))
130
+ mkdirSync(dropDir, { recursive: true });
128
131
  const tmpResult = {
129
132
  provider: null,
130
133
  processedFiles: [],
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../src/sync.ts"],"names":[],"mappings":"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"}
@@ -15,7 +15,13 @@
15
15
  * use file basenames and 64-char previews with values redacted.
16
16
  */
17
17
 
18
- import { readdirSync, readFileSync, statSync, existsSync } from "node:fs";
18
+ import {
19
+ existsSync,
20
+ mkdirSync,
21
+ readdirSync,
22
+ readFileSync,
23
+ statSync,
24
+ } from "node:fs";
19
25
  import { join } from "node:path";
20
26
  import type { CanonicalCookie, SyncOptions, SyncResult } from "./types.js";
21
27
  import { buildDetectedFile, safePreview } from "./detect-format.js";
@@ -134,6 +140,8 @@ export function readInputFile(filePath: string): {
134
140
  */
135
141
  export function sync(opts: SyncOptions = {}): SyncResult {
136
142
  const dropDir = opts.dropDir ?? DEFAULT_DROP_DIR;
143
+ // Ensure the drop directory exists so users don't need to mkdir manually
144
+ if (!existsSync(dropDir)) mkdirSync(dropDir, { recursive: true });
137
145
 
138
146
  const tmpResult: SyncResult = {
139
147
  provider: null,