@sechroom/cli 2026.9.24-rc.4d17fb020 → 2026.9.26-rc.fa5538238

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/index.js +21 -15
  2. package/package.json +1 -1
package/dist/index.js CHANGED
@@ -10061,8 +10061,8 @@ Displaced snapshot recovery surfaces:
10061
10061
  "Sechroom user id being granted read access"
10062
10062
  ).option("--source <source>", "Permission-set source kind", "TenantRole").option(
10063
10063
  "--source-id <sourceId>",
10064
- "Permission-set source id (e.g. a tenant role)",
10065
- "viewer"
10064
+ "Permission-set source id: a tenant role id you can manage (default sechroom:viewer)",
10065
+ "sechroom:viewer"
10066
10066
  ).option("--valid-from <iso>", "Optional ISO-8601 grant start").option("--valid-to <iso>", "Optional ISO-8601 grant expiry").action(async (snapshotId, opts, cmd) => {
10067
10067
  const cfg = resolveConfig(cmd.optsWithGlobals());
10068
10068
  const data = await runApi("Minting grant", async () => {
@@ -10217,7 +10217,7 @@ Examples:
10217
10217
  $ sechroom desk rooms get esper-demo
10218
10218
  $ sechroom desk rooms peer esper-demo 12D3KooWJ1TsijH7H5F74hfAD5XishQz3sxrmAtVY37GtNd9CqYf
10219
10219
  $ sechroom desk rooms invitees esper-demo --json
10220
- $ sechroom desk rooms add-own-lane esper-demo claude-code-chris`
10220
+ $ sechroom desk rooms hold-own-lane esper-demo claude-code-chris "$(date +%s)-laptop-agent-1"`
10221
10221
  );
10222
10222
  rooms.command("get <roomId>").description(
10223
10223
  "Whether the room is governed by Sechroom, its ceiling when you can read it, and whether you may be in it (GET /desk/rooms/{roomId})"
@@ -10255,29 +10255,35 @@ Examples:
10255
10255
  );
10256
10256
  emit(data, cmd.optsWithGlobals().json);
10257
10257
  });
10258
- rooms.command("add-own-lane <roomId> <laneId>").description(
10259
- "Add one of your own lanes (your agent) to a governed room's members, as a member of the room (PUT /desk/rooms/{roomId}/own-lanes/{laneId})"
10260
- ).action(async (roomId, laneId, _opts, cmd) => {
10258
+ rooms.command("hold-own-lane <roomId> <laneId> <holdId>").description(
10259
+ "Hold one of your own lanes (your agent) in a governed room's members under a new hold id (the Unix time it was made, '-', then your own part; good for a day), as a member of the room; the first hold adds the lane (PUT /desk/rooms/{roomId}/own-lanes/{laneId}/holds/{holdId})"
10260
+ ).action(async (roomId, laneId, holdId, _opts, cmd) => {
10261
10261
  const cfg = resolveConfig(cmd.optsWithGlobals());
10262
10262
  const data = await runApi(
10263
- `Adding lane ${laneId} to Desk room ${roomId}`,
10264
- async () => (await makeClient(cfg)).PUT("/desk/rooms/{roomId}/own-lanes/{laneId}", ownLaneRequest(roomId, laneId))
10263
+ `Holding lane ${laneId} in Desk room ${roomId} as ${holdId}`,
10264
+ async () => (await makeClient(cfg)).PUT(
10265
+ "/desk/rooms/{roomId}/own-lanes/{laneId}/holds/{holdId}",
10266
+ ownLaneHoldRequest(roomId, laneId, holdId)
10267
+ )
10265
10268
  );
10266
10269
  emit(data, cmd.optsWithGlobals().json);
10267
10270
  });
10268
- rooms.command("remove-own-lane <roomId> <laneId>").description(
10269
- "Remove one of your own lanes (your agent) from a governed room's members (DELETE /desk/rooms/{roomId}/own-lanes/{laneId})"
10270
- ).action(async (roomId, laneId, _opts, cmd) => {
10271
+ rooms.command("release-own-lane <roomId> <laneId> <holdId>").description(
10272
+ "Release one hold on your own lane in a governed room; the lane leaves with its last hold (DELETE /desk/rooms/{roomId}/own-lanes/{laneId}/holds/{holdId})"
10273
+ ).action(async (roomId, laneId, holdId, _opts, cmd) => {
10271
10274
  const cfg = resolveConfig(cmd.optsWithGlobals());
10272
10275
  const data = await runApi(
10273
- `Removing lane ${laneId} from Desk room ${roomId}`,
10274
- async () => (await makeClient(cfg)).DELETE("/desk/rooms/{roomId}/own-lanes/{laneId}", ownLaneRequest(roomId, laneId))
10276
+ `Releasing hold ${holdId} on lane ${laneId} in Desk room ${roomId}`,
10277
+ async () => (await makeClient(cfg)).DELETE(
10278
+ "/desk/rooms/{roomId}/own-lanes/{laneId}/holds/{holdId}",
10279
+ ownLaneHoldRequest(roomId, laneId, holdId)
10280
+ )
10275
10281
  );
10276
10282
  emit(data, cmd.optsWithGlobals().json);
10277
10283
  });
10278
10284
  }
10279
- function ownLaneRequest(roomId, laneId) {
10280
- return { params: { path: { roomId, laneId } }, body: {} };
10285
+ function ownLaneHoldRequest(roomId, laneId, holdId) {
10286
+ return { params: { path: { roomId, laneId, holdId } }, body: {} };
10281
10287
  }
10282
10288
  function registerDeskWorkspaces(desk) {
10283
10289
  const workspaces = desk.command("workspaces").description("Desk room ceilings: which user a device is, before a room is registered").addHelpText(
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sechroom/cli",
3
- "version": "2026.9.24-rc.4d17fb020",
3
+ "version": "2026.9.26-rc.fa5538238",
4
4
  "description": "Command-line interface for Sechroom — sign in, wire your AI tools, and work with your sechroom from the terminal.",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",