@inerrata-corporation/errata 2.0.6-dev.2272 → 2.0.6-dev.2278

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/errata.mjs +16 -20
  2. package/package.json +1 -1
package/errata.mjs CHANGED
@@ -2286,8 +2286,8 @@ var init_regexes = __esm({
2286
2286
  _emoji = `^(\\p{Extended_Pictographic}|\\p{Emoji_Component})+$`;
2287
2287
  ipv4 = /^(?:(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(?:25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])$/;
2288
2288
  ipv6 = /^(([0-9a-fA-F]{1,4}:){7}[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,7}:|([0-9a-fA-F]{1,4}:){1,6}:[0-9a-fA-F]{1,4}|([0-9a-fA-F]{1,4}:){1,5}(:[0-9a-fA-F]{1,4}){1,2}|([0-9a-fA-F]{1,4}:){1,4}(:[0-9a-fA-F]{1,4}){1,3}|([0-9a-fA-F]{1,4}:){1,3}(:[0-9a-fA-F]{1,4}){1,4}|([0-9a-fA-F]{1,4}:){1,2}(:[0-9a-fA-F]{1,4}){1,5}|[0-9a-fA-F]{1,4}:((:[0-9a-fA-F]{1,4}){1,6})|:((:[0-9a-fA-F]{1,4}){1,7}|:))$/;
2289
- mac = (delimiter) => {
2290
- const escapedDelim = escapeRegex(delimiter ?? ":");
2289
+ mac = (delimiter2) => {
2290
+ const escapedDelim = escapeRegex(delimiter2 ?? ":");
2291
2291
  return new RegExp(`^(?:[0-9A-F]{2}${escapedDelim}){5}[0-9A-F]{2}$|^(?:[0-9a-f]{2}${escapedDelim}){5}[0-9a-f]{2}$`);
2292
2292
  };
2293
2293
  cidrv4 = /^((25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\.){3}(25[0-5]|2[0-4][0-9]|1[0-9][0-9]|[1-9][0-9]|[0-9])\/([0-9]|[1-2][0-9]|3[0-2])$/;
@@ -63559,10 +63559,10 @@ var require_headers = __commonJS({
63559
63559
  const lowercaseName = isLowerCase ? name2 : name2.toLowerCase();
63560
63560
  const exists = this[kHeadersMap].get(lowercaseName);
63561
63561
  if (exists) {
63562
- const delimiter = lowercaseName === "cookie" ? "; " : ", ";
63562
+ const delimiter2 = lowercaseName === "cookie" ? "; " : ", ";
63563
63563
  this[kHeadersMap].set(lowercaseName, {
63564
63564
  name: exists.name,
63565
- value: `${exists.value}${delimiter}${value}`
63565
+ value: `${exists.value}${delimiter2}${value}`
63566
63566
  });
63567
63567
  } else {
63568
63568
  this[kHeadersMap].set(lowercaseName, { name: name2, value });
@@ -73320,7 +73320,7 @@ init_review2();
73320
73320
 
73321
73321
  // src/turn.ts
73322
73322
  import { closeSync, existsSync as existsSync15, fstatSync, openSync, readdirSync as readdirSync6, readSync, realpathSync, statSync as statSync5 } from "node:fs";
73323
- import { basename as basename5, dirname as dirname10, join as join18 } from "node:path";
73323
+ import { basename as basename5, delimiter, dirname as dirname10, join as join18, normalize as normalize3 } from "node:path";
73324
73324
  import { homedir as homedir4 } from "node:os";
73325
73325
  import { createHash as createHash13 } from "node:crypto";
73326
73326
  function readFrom(path2, fromByte, maxBytes) {
@@ -73751,12 +73751,13 @@ function subagentTranscripts(mainTranscriptPath, sessionId) {
73751
73751
  refs.sort((a, b) => b.mtimeMs - a.mtimeMs);
73752
73752
  return refs;
73753
73753
  }
73754
+ function splitPathList(value, sep5 = delimiter) {
73755
+ if (!value) return [];
73756
+ return value.split(sep5).map((d) => d.trim()).filter(Boolean).map((d) => normalize3(d));
73757
+ }
73754
73758
  function codexSessionRoots(env2 = process.env, home = homedir4()) {
73755
73759
  const roots = /* @__PURE__ */ new Set();
73756
- const explicit = env2["ERRATA_CODEX_SESSIONS_DIRS"];
73757
- if (explicit) {
73758
- for (const d of explicit.split(":")) if (d.trim()) roots.add(d.trim());
73759
- }
73760
+ for (const d of splitPathList(env2["ERRATA_CODEX_SESSIONS_DIRS"])) roots.add(d);
73760
73761
  if (env2["CODEX_HOME"]) roots.add(join18(env2["CODEX_HOME"], "sessions"));
73761
73762
  roots.add(join18(home, ".codex", "sessions"));
73762
73763
  return [...roots];
@@ -73838,10 +73839,7 @@ function codexRolloutsForCwd(cwd, opts = {}) {
73838
73839
  }
73839
73840
  function geminiSessionRoots(env2 = process.env, home = homedir4()) {
73840
73841
  const roots = /* @__PURE__ */ new Set();
73841
- const explicit = env2["ERRATA_GEMINI_SESSIONS_DIRS"];
73842
- if (explicit) {
73843
- for (const d of explicit.split(":")) if (d.trim()) roots.add(d.trim());
73844
- }
73842
+ for (const d of splitPathList(env2["ERRATA_GEMINI_SESSIONS_DIRS"])) roots.add(d);
73845
73843
  if (env2["GEMINI_CLI_HOME"]) roots.add(join18(env2["GEMINI_CLI_HOME"], ".gemini", "tmp"));
73846
73844
  roots.add(join18(home, ".gemini", "tmp"));
73847
73845
  return [...roots];
@@ -73919,10 +73917,7 @@ function geminiTranscriptsForCwd(cwd, opts = {}) {
73919
73917
  }
73920
73918
  function opencodeSessionRoots(env2 = process.env, home = homedir4()) {
73921
73919
  const roots = /* @__PURE__ */ new Set();
73922
- const explicit = env2["ERRATA_OPENCODE_SESSIONS_DIRS"];
73923
- if (explicit) {
73924
- for (const d of explicit.split(":")) if (d.trim()) roots.add(d.trim());
73925
- }
73920
+ for (const d of splitPathList(env2["ERRATA_OPENCODE_SESSIONS_DIRS"])) roots.add(d);
73926
73921
  if (env2["XDG_DATA_HOME"]) roots.add(join18(env2["XDG_DATA_HOME"], "opencode", "errata"));
73927
73922
  roots.add(join18(home, ".local", "share", "opencode", "errata"));
73928
73923
  return [...roots];
@@ -78098,7 +78093,7 @@ function createWatchBreaker(deps) {
78098
78093
  }
78099
78094
 
78100
78095
  // src/engine.ts
78101
- var DAEMON_VERSION = true ? "2.0.6-dev.2272" : "2.0.0-alpha.0";
78096
+ var DAEMON_VERSION = true ? "2.0.6-dev.2278" : "2.0.0-alpha.0";
78102
78097
  var IGNORED_PATH = /[\\/](?:\.git|node_modules|\.errata|\.claude|\.codex|\.cursor|\.turbo|\.next|dist|coverage|test-results|playwright-report|__pycache__)(?:[\\/]|$)/;
78103
78098
  var IGNORED_NOISE = /castalia\.db|eventlog\.sqlite|turn-cursors/;
78104
78099
  var GIT_OP_MUTE_MS = 4e3;
@@ -86469,7 +86464,7 @@ function buildOpencodePluginSource(port, opts = {}) {
86469
86464
  // file the errata daemon can parse, and tells the daemon on every turn boundary.
86470
86465
  // It has no dependencies and never throws into OpenCode.
86471
86466
  import { appendFileSync, existsSync, mkdirSync, readFileSync } from "node:fs";
86472
- import { join } from "node:path";
86467
+ import { delimiter, join, normalize } from "node:path";
86473
86468
  import { homedir } from "node:os";
86474
86469
 
86475
86470
  const DAEMON = "http://127.0.0.1:${port}";
@@ -86479,7 +86474,8 @@ const TOOL_FAILURE_NUDGE = ${JSON.stringify(OPENCODE_TOOL_FAILURE_NUDGE)};
86479
86474
 
86480
86475
  function mirrorRoot() {
86481
86476
  const explicit = process.env.ERRATA_OPENCODE_SESSIONS_DIRS;
86482
- if (explicit) { const first = explicit.split(":").map((s) => s.trim()).find(Boolean); if (first) return first; }
86477
+ // Platform delimiter, same as the daemon's splitPathList \u2014 ":" shreds "C:\\x".
86478
+ if (explicit) { const first = explicit.split(delimiter).map((s) => s.trim()).find(Boolean); if (first) return normalize(first); }
86483
86479
  if (process.env.XDG_DATA_HOME) return join(process.env.XDG_DATA_HOME, "opencode", "errata");
86484
86480
  return join(homedir(), ".local", "share", "opencode", "errata");
86485
86481
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inerrata-corporation/errata",
3
- "version": "2.0.6-dev.2272",
3
+ "version": "2.0.6-dev.2278",
4
4
  "description": "errata - local-first observation engine for AI coding agents",
5
5
  "type": "module",
6
6
  "bin": {