@sjawhar/claude-envoy 1.4.0 → 1.5.1

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.
@@ -2,5 +2,5 @@
2
2
  "name": "claude-envoy",
3
3
  "description": "Deliver Envoy events as Claude Code channel notifications and expose Envoy MCP tools.",
4
4
  "mcpServers": "./.mcp.json",
5
- "version": "1.4.0"
5
+ "version": "1.5.1"
6
6
  }
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-envoy",
3
- "version": "1.4.0",
3
+ "version": "1.5.1",
4
4
  "description": "Deliver Envoy events as Claude Code channel notifications and expose Envoy MCP tools.",
5
5
  "mcpServers": {}
6
6
  }
@@ -52558,8 +52558,8 @@ function createLegionDaemonClient(baseUrl, fetchFn = fetch) {
52558
52558
  return parsed.value;
52559
52559
  };
52560
52560
  const post = (path, request, response, body) => read("POST", path, response, request.parse(body));
52561
- const acknowledge = async (path, body) => {
52562
- const { status, text } = await call("POST", path, body);
52561
+ const acknowledge = async (path, body, signal) => {
52562
+ const { status, text } = await call("POST", path, body, signal);
52563
52563
  if (status !== 204 || text !== "") {
52564
52564
  throw new LegionDaemonContractError("POST", path, status, "the route answers 204 with no body");
52565
52565
  }
@@ -52568,7 +52568,7 @@ function createLegionDaemonClient(baseUrl, fetchFn = fetch) {
52568
52568
  state: (options) => read("GET", "/legion/v1/state", LegionStateResponse, undefined, options?.signal),
52569
52569
  register: (input) => read("POST", "/legion/v1/claims/register", LegionRegisterResponse, input),
52570
52570
  registerController: (input) => read("POST", "/legion/v1/claims/register", LegionControllerRegisterResponse, input),
52571
- ready: (input) => acknowledge("/legion/v1/claims/ready", input),
52571
+ ready: (input, options) => acknowledge("/legion/v1/claims/ready", input, options?.signal),
52572
52572
  readyForUpdate: (input) => acknowledge("/legion/v1/claims/ready-for-update", input),
52573
52573
  exit: (input) => acknowledge("/legion/v1/claims/exit", input),
52574
52574
  activity: (input) => acknowledge("/legion/v1/claims/activity", input),
@@ -55082,7 +55082,7 @@ var import_nats2 = __toESM(require_mod4(), 1);
55082
55082
 
55083
55083
  // package.json
55084
55084
  var name = "@sjawhar/claude-envoy";
55085
- var version2 = "1.4.0";
55085
+ var version2 = "1.5.1";
55086
55086
  var legion = {
55087
55087
  daemonApiVersion: 51
55088
55088
  };
@@ -55921,11 +55921,6 @@ async function bootLegionClaim(host) {
55921
55921
  host.stop();
55922
55922
  return;
55923
55923
  }
55924
- const { measure } = host;
55925
- const measuring = measure === undefined ? undefined : Promise.resolve().then(() => measure(claim)).catch((error) => {
55926
- host.log(`capability measurement failed; ready carries no report: ${messageFor(error)}`);
55927
- return;
55928
- });
55929
55924
  try {
55930
55925
  await host.afterRegister?.(claim);
55931
55926
  host.setCapability({
@@ -55935,16 +55930,15 @@ async function bootLegionClaim(host) {
55935
55930
  tree: claim.tree,
55936
55931
  issue: claim.issue,
55937
55932
  role: claim.role,
55938
- secret: claim.secret
55933
+ secret: claim.secret,
55934
+ promptAgents: claim.promptAgents
55939
55935
  });
55940
55936
  await host.claimRole(claim.claimToken);
55941
- const capabilities = await measuring;
55942
55937
  const ready = {
55943
55938
  claimToken: claim.claimToken,
55944
55939
  sessionId: host.registration.sessionId,
55945
55940
  secret: claim.secret,
55946
- generation: claim.generation,
55947
- ...capabilities === undefined ? {} : { capabilities }
55941
+ generation: claim.generation
55948
55942
  };
55949
55943
  await callReadyWithRetry("claims/ready", () => daemon.ready(ready));
55950
55944
  host.onRoleRegained(async (role, reason) => {
@@ -611,15 +611,16 @@ something to count.
611
611
  gVisor follows with no error. So code that walks a path one component at a time and opens each
612
612
  with `O_NOFOLLOW` is defeated there while every leaf check still passes, and its tests stay
613
613
  green on a developer's kernel. A whole block of such tests failing in a pod is that one
614
- property of the environment, not one defect per test. The fix shape holds on both kernels: the
615
- walk cannot trust the flag, so `lstat` the component, `fstat` the descriptor it opened, compare
616
- `st_dev` and `st_ino`, and refuse when they differ or when the `lstat` says `S_IFLNK`.
617
- `openat2` is not the alternative there: a lane measured it returning `ENOSYS` under gVisor for
618
- every flag combination it tried, so the `lstat` and `fstat` comparison above is the portable
619
- check rather than a fallback. The question is not which tool to use but whether anything you
620
- run calls `openat2`, which you can read off the binary (two builds of one tool reporting an
621
- identical `--version` differed here, and only the package version and the checksum told them
622
- apart):
614
+ property of the environment, not one defect per test. The fix shape holds on both kernels:
615
+ the walk cannot trust `O_DIRECTORY|O_NOFOLLOW` there, so it opens each component with
616
+ `O_PATH|O_NOFOLLOW|O_CLOEXEC`, which opens the entry itself on both kernels, and reads the
617
+ kind from fstat of that handle. The repository's own instance is `mountPointBeneath` in
618
+ `packages/daemon/internal/launcher/roleinit_linux.go`. `openat2` is not the alternative
619
+ there: a lane measured it returning `ENOSYS` under gVisor for every flag combination it
620
+ tried, so the handle rule above is the portable check rather than a fallback. The question
621
+ is not which tool to use but whether anything you run calls `openat2`, which you can read off
622
+ the binary (two builds of one tool reporting an identical `--version` differed here, and only
623
+ the package version and the checksum told them apart):
623
624
 
624
625
  ```sh
625
626
  b=$(readlink -f "$(command -v <tool>)")
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sjawhar/claude-envoy",
3
- "version": "1.4.0",
3
+ "version": "1.5.1",
4
4
  "license": "Apache-2.0",
5
5
  "description": "Claude Code channel plugin for Legion's Envoy bus",
6
6
  "type": "module",