@essentialai/cogent-plugin 3.25.10 → 3.25.11

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cogent",
3
- "version": "3.25.10",
3
+ "version": "3.25.11",
4
4
  "description": "Inter-session communication bridge for Claude Code with Slack integration. Enables CC agents and Slack team members to communicate in real time.",
5
5
  "author": {
6
6
  "name": "Essential AI Solutions",
@@ -26475,8 +26475,8 @@ var init_stdio2 = __esm({
26475
26475
  // src/constants.ts
26476
26476
  import { createRequire } from "node:module";
26477
26477
  function resolveVersion() {
26478
- if ("3.25.10") {
26479
- return "3.25.10";
26478
+ if ("3.25.11") {
26479
+ return "3.25.11";
26480
26480
  }
26481
26481
  try {
26482
26482
  const require2 = createRequire(import.meta.url);
@@ -33173,6 +33173,8 @@ async function _injectTurn(threadId, message, cwd, timeoutMs, deps = {}) {
33173
33173
  await client.waitOpen();
33174
33174
  await client.request("initialize", {
33175
33175
  clientInfo: { name: "cogent-bridge", version: "1" },
33176
+ // Also required by thread/resume `excludeTurns` below: codex 0.145–0.150.1 reject it
33177
+ // without this ("requires experimentalApi capability"); 0.151.0+ accept it either way.
33176
33178
  capabilities: { experimentalApi: true }
33177
33179
  });
33178
33180
  } catch (err) {
@@ -33184,7 +33186,7 @@ async function _injectTurn(threadId, message, cwd, timeoutMs, deps = {}) {
33184
33186
  };
33185
33187
  }
33186
33188
  try {
33187
- await client.request("thread/resume", { threadId, cwd });
33189
+ await client.request("thread/resume", { threadId, cwd, excludeTurns: true });
33188
33190
  const buffered = [];
33189
33191
  let myTurnId;
33190
33192
  const isMine = (msg) => msg.method === "turn/completed" && (myTurnId !== void 0 ? msg.params?.turn?.id === myTurnId : msg.params?.threadId === threadId);
@@ -34359,7 +34361,10 @@ ${message}${formatAttachmentsBlock(attachments)}
34359
34361
  ---
34360
34362
  FYI ONLY \u2014 another agent addressed the whole channel. Take note for context, but do NOT reply and do NOT call any cogent_* tool in response. A human will drive any reply.`;
34361
34363
  }
34362
- function describeWakeFailure(exitCode, stderr, stdout) {
34364
+ function wakeAgentFor(platform) {
34365
+ return platform === "codex" ? "codex" : "claude";
34366
+ }
34367
+ function describeWakeFailure(agent, exitCode, stderr, stdout) {
34363
34368
  const raw = (stderr ?? "").trim();
34364
34369
  if (!raw && exitCode !== 0 && !stdout) return "";
34365
34370
  const firstLine = raw.split("\n").map((l) => l.trim()).find(Boolean) ?? "";
@@ -34371,7 +34376,7 @@ function describeWakeFailure(exitCode, stderr, stdout) {
34371
34376
  }
34372
34377
  if (/CLI_NOT_FOUND/.test(raw)) {
34373
34378
  return truncate(
34374
- `the claude executable was not found \u2014 install Claude Code or set COGENT_CLAUDE_PATH.`
34379
+ agent === "codex" ? `the codex executable was not found \u2014 install the Codex CLI or set COGENT_CODEX_PATH.` : `the claude executable was not found \u2014 install Claude Code or set COGENT_CLAUDE_PATH.`
34375
34380
  );
34376
34381
  }
34377
34382
  const timedOut = /CLI_TIMEOUT: CLI subprocess timed out after (\d+)ms/.exec(raw);
@@ -34393,15 +34398,15 @@ function describeWakeFailure(exitCode, stderr, stdout) {
34393
34398
  }
34394
34399
  if (env.result) bits.push(env.result);
34395
34400
  if (!bits.length && env.isError) bits.push("the run reported is_error with no detail");
34396
- if (bits.length) return truncate(`claude exited ${code}: ${bits.join(" \u2014 ")}`);
34401
+ if (bits.length) return truncate(`${agent} exited ${code}: ${bits.join(" \u2014 ")}`);
34397
34402
  }
34398
34403
  return truncate(
34399
- stdout?.trim() ? `claude exited ${code} with nothing on stderr; its stdout was not a readable result envelope` : `claude exited ${code} with no output at all on stdout or stderr`
34404
+ stdout?.trim() ? `${agent} exited ${code} with nothing on stderr; its stdout was not a readable result envelope` : `${agent} exited ${code} with no output at all on stdout or stderr`
34400
34405
  );
34401
34406
  }
34402
34407
  if (firstLine) {
34403
34408
  const code = exitCode === null || exitCode === void 0 ? "?" : exitCode;
34404
- return truncate(`claude exited ${code}: ${firstLine}`);
34409
+ return truncate(`${agent} exited ${code}: ${firstLine}`);
34405
34410
  }
34406
34411
  if (exitCode === 0) {
34407
34412
  return truncate(`the resume completed successfully but returned no text.`);
@@ -35307,7 +35312,7 @@ var init_auto_relay = __esm({
35307
35312
  */
35308
35313
  async _recordNoReplyFailure(msg, traceId, durationMs, opts) {
35309
35314
  const codexLive = opts?.codexLiveSession === true;
35310
- const message = codexLive ? `\u{1F4E8} Queued for "${this.localPeerId}": it's live in an interactive Codex session, so Cogent can't resume it in real time \u2014 it will see this at its next turn. For real-time replies, launch it via \`cogent-codex\` (COGENT_CODEX_WAKE=app-server). (trace ${traceId})` : `\u26A0\uFE0F Cogent could not capture a reply from "${this.localPeerId}". ${describeWakeFailure(opts?.exitCode, opts?.stderr, opts?.stdout) || "It may have been busy, or the resume produced no output."} Manual response required \u2014 the target agent must reply in its own session. (trace ${traceId})`;
35315
+ const message = codexLive ? `\u{1F4E8} Queued for "${this.localPeerId}": it's live in an interactive Codex session, so Cogent can't resume it in real time \u2014 it will see this at its next turn. For real-time replies, launch it via \`cogent-codex\` (COGENT_CODEX_WAKE=app-server). (trace ${traceId})` : `\u26A0\uFE0F Cogent could not capture a reply from "${this.localPeerId}". ${describeWakeFailure(wakeAgentFor(getConfig().COGENT_PLATFORM), opts?.exitCode, opts?.stderr, opts?.stdout) || "It may have been busy, or the resume produced no output."} Manual response required \u2014 the target agent must reply in its own session. (trace ${traceId})`;
35311
35316
  try {
35312
35317
  await getBackend().recordMessage({
35313
35318
  fromPeerId: this.localPeerId,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@essentialai/cogent-plugin",
3
- "version": "3.25.10",
3
+ "version": "3.25.11",
4
4
  "description": "Cogent — Claude Code plugin (skills + slash-commands + MCP server) for the cross-agent comms fabric.",
5
5
  "author": { "name": "Essential AI Solutions Ltd.", "url": "https://essentialai.uk" },
6
6
  "homepage": "https://cogent.tools",