@oxagen/cli 2.1.4-640 → 2.1.4-644

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/oxagen.mjs +31 -6
  2. package/package.json +1 -1
package/oxagen.mjs CHANGED
@@ -19707,7 +19707,8 @@ var init_transcript_tailer = __esm({
19707
19707
  * the child chain. The tick has usually read most of it already, so this
19708
19708
  * reads only what landed since. Returns the number of lines this call fed,
19709
19709
  * `0` for a subagent already finished, or undefined when the file is not
19710
- * there or the session is not known.
19710
+ * there or the session is not known. A path that is not there falls back
19711
+ * to the session's own `subagents/` directory (`locateSubagentTranscript`).
19711
19712
  */
19712
19713
  async ingestSubagentTranscript(harnessSessionId, subagentId, path2) {
19713
19714
  const session = this.options.session(harnessSessionId);
@@ -19720,8 +19721,13 @@ var init_transcript_tailer = __esm({
19720
19721
  if (cursor.subagents.includes(subagentId)) return 0;
19721
19722
  let sub = cursor.agents?.[subagentId];
19722
19723
  if (sub === void 0) {
19723
- if (await statIfExists(path2) === void 0) return void 0;
19724
- sub = { path: path2, offset: 0 };
19724
+ const found = await this.locateSubagentTranscript(
19725
+ session,
19726
+ subagentId,
19727
+ path2
19728
+ );
19729
+ if (found === void 0) return void 0;
19730
+ sub = { path: found, offset: 0 };
19725
19731
  cursor.agents = { ...cursor.agents, [subagentId]: sub };
19726
19732
  this.dirty = true;
19727
19733
  }
@@ -19748,6 +19754,23 @@ var init_transcript_tailer = __esm({
19748
19754
  this.persist();
19749
19755
  return fed;
19750
19756
  }
19757
+ /**
19758
+ * Where a finished subagent's transcript is: the path its `SubagentStop`
19759
+ * named, or else `agent-<id>.jsonl` under the session's own `subagents/`
19760
+ * directory, where `findSubagents` looks. The two can differ: the hook's
19761
+ * path can name the project directory of the folder the session works in
19762
+ * now, such as a worktree, while the session's files stay under the
19763
+ * project directory its transcript is in. Undefined when neither is there.
19764
+ */
19765
+ async locateSubagentTranscript(session, subagentId, path2) {
19766
+ if (await statIfExists(path2) !== void 0) return path2;
19767
+ if (session.harness === "codex") return void 0;
19768
+ const dir = session.transcriptPath === void 0 ? void 0 : subagentDirOf(session.transcriptPath);
19769
+ if (dir === void 0) return void 0;
19770
+ const own = join10(dir, `agent-${subagentId}.jsonl`);
19771
+ if (own === path2) return void 0;
19772
+ return await statIfExists(own) === void 0 ? void 0 : own;
19773
+ }
19751
19774
  /**
19752
19775
  * Start tailing a Codex subagent's rollout on a cursor of its own, fed
19753
19776
  * with the subagent id so the child chain receives it. Codex sends the
@@ -24081,7 +24104,7 @@ import { readFileSync as readFileSync11 } from "node:fs";
24081
24104
  import { dirname as dirname9, resolve as resolve3 } from "node:path";
24082
24105
  import { fileURLToPath } from "node:url";
24083
24106
  function readVersion() {
24084
- if (true) return "2.1.4-640";
24107
+ if (true) return "2.1.4-644";
24085
24108
  try {
24086
24109
  const here = dirname9(fileURLToPath(import.meta.url));
24087
24110
  const pkg = JSON.parse(
@@ -51050,7 +51073,9 @@ async function initializeDaemon(options, server, port, ready) {
51050
51073
  path2
51051
51074
  );
51052
51075
  if (fed === void 0)
51053
- log(`subagent transcript ${path2} was not there to read`);
51076
+ log(
51077
+ registry2.get(sessionId) === void 0 ? `subagent transcript ${path2} not read: this collector holds no session ${sessionId}` : `subagent transcript ${path2} was not there to read, nor under the session's own subagents directory`
51078
+ );
51054
51079
  }
51055
51080
  } else {
51056
51081
  const agentId = input["agent_id"];
@@ -55151,7 +55176,7 @@ var init_package = __esm({
55151
55176
  "package.json"() {
55152
55177
  package_default = {
55153
55178
  name: "@oxagen/cli",
55154
- version: "2.1.4-640",
55179
+ version: "2.1.4-644",
55155
55180
  description: "Oxagen governance CLI \u2014 spend, lineage, grounding, credentials, and audit (agentic coding lives in the stella CLI)",
55156
55181
  type: "module",
55157
55182
  main: "./dist/index.js",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@oxagen/cli",
3
- "version": "2.1.4-640",
3
+ "version": "2.1.4-644",
4
4
  "description": "Oxagen governance CLI — spend, lineage, grounding, credentials, and audit (agentic coding lives in the stella CLI)",
5
5
  "type": "module",
6
6
  "bin": {