@sjawhar/pi-legion 8.16.1 → 8.18.0

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/legion.js +22 -8
  2. package/package.json +1 -1
package/dist/legion.js CHANGED
@@ -13917,7 +13917,10 @@ var AGENT_STREAM_LIMITS = {
13917
13917
  modelChars: 200,
13918
13918
  historyMessages: 200,
13919
13919
  historyBytes: 512 * 1024,
13920
- snapshotIntervalMs: 100
13920
+ snapshotIntervalMs: 100,
13921
+ commands: 500,
13922
+ commandNameChars: 100,
13923
+ commandDescriptionChars: 200
13921
13924
  };
13922
13925
  // ../contracts/src/dispatch-text-rules.ts
13923
13926
  var SESSION_ID_PATTERN = "[^/?#\\s\\p{Z}\\p{Cc}<>\"'`\\[\\]|]+";
@@ -15089,7 +15092,7 @@ function writeSessionTitle(dir, title) {
15089
15092
 
15090
15093
  // ../pi-shared/src/interface.ts
15091
15094
  import { logger } from "@oh-my-pi/pi-utils";
15092
- var ENVOY_PLUGIN_INTERFACE_VERSION = 1;
15095
+ var ENVOY_PLUGIN_INTERFACE_VERSION = 2;
15093
15096
  var ENVOY_PLUGIN_INTERFACE_KEY = Symbol.for("legion.pi-shared.envoy-plugin-interface");
15094
15097
  var LEGION_PLUGIN_LOADED_KEY = Symbol.for("legion.pi-legion.loaded");
15095
15098
  var LEGACY_LEGION_LOADED_KEY = Symbol.for("legion.pi-envoy.legion-loaded");
@@ -15145,25 +15148,36 @@ function userMessageText(content) {
15145
15148
  function matchInjectedUserTurn(sessionID, message) {
15146
15149
  if (typeof message !== "object" || message === null)
15147
15150
  return;
15148
- if (!("role" in message) || message.role !== "user")
15151
+ if (!("role" in message) || message.role !== "user" && message.role !== "custom") {
15149
15152
  return;
15153
+ }
15150
15154
  if (!("timestamp" in message) || typeof message.timestamp !== "number")
15151
15155
  return;
15152
15156
  const session = envoyPluginInterface().injectedUserTurns.get(sessionID);
15153
15157
  if (session === undefined)
15154
15158
  return;
15155
- const known = session.found.get(message.timestamp);
15159
+ const tag = messageTag(message);
15160
+ const memo = tag === undefined ? `${message.timestamp}` : `${message.timestamp}:${tag}`;
15161
+ const known = session.found.get(memo);
15156
15162
  if (known !== undefined)
15157
15163
  return known;
15158
- const text = userMessageText("content" in message ? message.content : undefined);
15159
- const index = session.sent.findIndex((sent2) => sent2.body === text);
15164
+ let index = tag === undefined ? -1 : session.sent.findIndex((sent2) => sent2.messageId === tag);
15165
+ if (index === -1 && message.role === "user") {
15166
+ const text = userMessageText("content" in message ? message.content : undefined);
15167
+ index = session.sent.findIndex((sent2) => sent2.via === "text" && sent2.body === text);
15168
+ }
15160
15169
  const sent = session.sent[index];
15161
15170
  if (sent === undefined)
15162
15171
  return;
15163
15172
  session.sent.splice(index, 1);
15164
- session.found.set(message.timestamp, sent.messageId);
15173
+ session.found.set(memo, sent.messageId);
15165
15174
  return sent.messageId;
15166
15175
  }
15176
+ function messageTag(message) {
15177
+ if (typeof message !== "object" || message === null || !("tag" in message))
15178
+ return;
15179
+ return typeof message.tag === "string" ? message.tag : undefined;
15180
+ }
15167
15181
 
15168
15182
  // ../pi-shared/src/subagent-session.ts
15169
15183
  import fs from "fs";
@@ -15627,7 +15641,7 @@ function onEnvoyRoleRegained(listener) {
15627
15641
  // package.json
15628
15642
  var package_default = {
15629
15643
  name: "@sjawhar/pi-legion",
15630
- version: "8.16.1",
15644
+ version: "8.18.0",
15631
15645
  license: "Apache-2.0",
15632
15646
  type: "module",
15633
15647
  omp: {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sjawhar/pi-legion",
3
- "version": "8.16.1",
3
+ "version": "8.18.0",
4
4
  "license": "Apache-2.0",
5
5
  "type": "module",
6
6
  "omp": {