@sleep2agi/agent-network 2.3.0-preview.138 → 2.3.0-preview.139

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,9 +1,9 @@
1
- export declare const PAIRED_AGENT_NETWORK_VERSION = "2.3.0-preview.138";
2
- export declare const PAIRED_AGENT_NODE_VERSION = "2.5.0-preview.105";
3
- export declare const PAIRED_AGENT_NODE_SPEC = "@sleep2agi/agent-node@2.5.0-preview.105";
4
- export declare const OPENCODE_AGENT_NETWORK_VERSION = "2.3.0-preview.138";
5
- export declare const OPENCODE_AGENT_NODE_VERSION = "2.5.0-preview.105";
6
- export declare const OPENCODE_AGENT_NODE_SPEC = "@sleep2agi/agent-node@2.5.0-preview.105";
1
+ export declare const PAIRED_AGENT_NETWORK_VERSION = "2.3.0-preview.139";
2
+ export declare const PAIRED_AGENT_NODE_VERSION = "2.5.0-preview.106";
3
+ export declare const PAIRED_AGENT_NODE_SPEC = "@sleep2agi/agent-node@2.5.0-preview.106";
4
+ export declare const OPENCODE_AGENT_NETWORK_VERSION = "2.3.0-preview.139";
5
+ export declare const OPENCODE_AGENT_NODE_VERSION = "2.5.0-preview.106";
6
+ export declare const OPENCODE_AGENT_NODE_SPEC = "@sleep2agi/agent-node@2.5.0-preview.106";
7
7
  export type PairedAgentNodeResolution = {
8
8
  spec: string;
9
9
  args: string[];
@@ -2,6 +2,9 @@ export type TmuxSession = {
2
2
  id: string;
3
3
  name: string;
4
4
  };
5
+ /** argv for `execTmux`: `-u list-sessions -F '#{session_id}|ANETSEP|#{session_name}'` (#533). */
6
+ export declare const SESSION_LIST_ARGS: readonly string[];
7
+ /** Parse SESSION_LIST_ARGS output (legacy `id\tname` rows still accepted). */
5
8
  export declare function parseTmuxSessions(output: string): TmuxSession[];
6
9
  /** Resolve by exact decoded session name, then attach by tmux's opaque ID.
7
10
  * This avoids tmux target prefix matching and works for Unicode names. */
@@ -15,7 +15,7 @@ export declare function exactSession(name: string): string;
15
15
  export declare function isExactTarget(target: string): boolean;
16
16
  /** Idempotent form, for call sites that may receive either shape. */
17
17
  export declare function ensureExactSession(nameOrTarget: string): string;
18
- /** One row of `tmux list-panes -a -F '#{session_name}\t#{window_index}.#{pane_index}'`. */
18
+ /** One row of `tmux -u list-panes -a -F PANE_LIST_FORMAT` (session, `window.pane`). */
19
19
  export interface PaneRow {
20
20
  session: string;
21
21
  /** `window.pane`, e.g. `0.0`. */
@@ -31,4 +31,6 @@ export declare function parsePaneRows(listOutput: string): PaneRow[];
31
31
  */
32
32
  export declare function paneTargetFor(listOutput: string, sessionName: string): string | null;
33
33
  /** The format string the two functions above expect. */
34
- export declare const PANE_LIST_FORMAT = "#{session_name}::ANET_PANE::#{window_index}.#{pane_index}";
34
+ export declare const PANE_LIST_FORMAT: string;
35
+ /** Full argv (`-u list-panes -a -F …`) for `execTmux`; locale-proof (#533). */
36
+ export declare const PANE_LIST_ARGS: readonly string[];
@@ -0,0 +1,20 @@
1
+ /** Field separator inside a `-F` format. Printable, so tmux never rewrites it. */
2
+ export declare const TMUX_FIELD_SEP = "|ANETSEP|";
3
+ /** Prefix tmux argv with `-u` so its output keeps UTF-8 names in any locale. */
4
+ export declare function tmuxUtf8Args(args: readonly string[]): string[];
5
+ /** The `-F` format string for these fields. */
6
+ export declare function tmuxFormat(fields: readonly string[]): string;
7
+ /**
8
+ * argv for a tmux listing whose output anet parses:
9
+ * `tmuxListArgs(["list-sessions"], ["#{session_id}", "#{session_name}"])`
10
+ * → `["-u", "list-sessions", "-F", "#{session_id}|ANETSEP|#{session_name}"]`.
11
+ * Pass the result to `execTmux` (which adds `-S` isolation in front).
12
+ */
13
+ export declare function tmuxListArgs(command: readonly string[], fields: readonly string[]): string[];
14
+ /**
15
+ * Split tmux format output into rows of exactly `fieldCount` fields.
16
+ * Lines with a different field count are dropped (never guessed at).
17
+ * A line without the separator is read as a legacy TAB-separated row, so
18
+ * fixtures and callers that captured the old wire shape still parse.
19
+ */
20
+ export declare function parseTmuxRows(output: string, fieldCount: number): string[][];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sleep2agi/agent-network",
3
- "version": "2.3.0-preview.138",
3
+ "version": "2.3.0-preview.139",
4
4
  "description": "AI Agent Network CLI — Local-first multi-agent orchestration across 6 runtimes (Claude Code CLI / Claude Agent SDK / Codex SDK / Codex app-server / Grok Build ACP / OpenCode CLI) and 8+ LLM providers. Apache 2.0.",
5
5
  "type": "module",
6
6
  "main": "dist/src/client.js",