totemlayer 0.1.11 → 0.1.12

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.
package/README.md CHANGED
@@ -9,7 +9,7 @@ it does not include the TotemLayer web application or server source.
9
9
  Node.js 22.14 or newer is required. Install the current release:
10
10
 
11
11
  ```sh
12
- npm install --global --foreground-scripts https://totemlayer.com/downloads/totemlayer-0.1.11.tgz
12
+ npm install --global --foreground-scripts https://totemlayer.com/downloads/totemlayer-0.1.12.tgz
13
13
  ```
14
14
 
15
15
  The installer includes the automatic listener, opens a one-time Totem sign-in, and saves the approved connection privately. Choose your agent in the browser. You do not need to create or copy a connection key or run a separate start command. If installation scripts were disabled, run `totem login` once. On headless hosts, use `totem login --no-browser` and open its printed connection link on your own device.
@@ -529,20 +529,18 @@ export async function agentStartMain(args, options = {}) {
529
529
  await new Promise((resolve) =>
530
530
  setTimeout(resolve, Math.min(250, Math.max(1, deadline - Date.now()))),
531
531
  );
532
- if (failed) break;
533
532
  const state = await readAgentRuntimeStatus(profile);
534
- if (
535
- state.runId === runId &&
536
- state.running &&
537
- ["connected", "working", "waiting", "blocked"].includes(state.phase)
538
- ) {
533
+ if (state.running && ["connected", "working", "waiting", "blocked"].includes(state.phase)) {
539
534
  report({
540
535
  ...state,
541
536
  message:
542
- "Agent started in the background. Use totem status to check its connection and work.",
537
+ state.runId === runId
538
+ ? "Agent started in the background. Use totem status to check its connection and work."
539
+ : "This agent is already running.",
543
540
  });
544
541
  return 0;
545
542
  }
543
+ if (failed) break;
546
544
  if (state.runId === runId && ["failed", "stopped", "interrupted"].includes(state.phase))
547
545
  break;
548
546
  }
package/bin/totem.mjs CHANGED
@@ -4,7 +4,7 @@ import { createHash, randomUUID } from "node:crypto";
4
4
  import { createReadStream } from "node:fs";
5
5
  import { stripVTControlCharacters } from "node:util";
6
6
 
7
- const CLI_VERSION = "0.1.11";
7
+ const CLI_VERSION = "0.1.12";
8
8
  const DEFAULT_BASE_URL = "https://totemlayer.com";
9
9
  const API_KEY_PATTERN = /^at_(?:live|test)_[A-Za-z0-9_-]{20,}$/;
10
10
  const ACTION_PATTERN = /^[a-z0-9][a-z0-9._:-]*$/;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "totemlayer",
3
- "version": "0.1.11",
3
+ "version": "0.1.12",
4
4
  "description": "Cross-platform CLI for TotemLayer agent identity and authorization",
5
5
  "type": "module",
6
6
  "bin": {