@gobi-ai/cli 2.0.33 → 2.0.34

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.
@@ -4,12 +4,12 @@
4
4
  "name": "gobi-ai"
5
5
  },
6
6
  "description": "Claude Code plugin for the Gobi collaborative knowledge platform CLI",
7
- "version": "2.0.33",
7
+ "version": "2.0.34",
8
8
  "plugins": [
9
9
  {
10
10
  "name": "gobi",
11
11
  "description": "Manage the Gobi collaborative knowledge platform from the command line. Publish vault profiles, create posts and replies, generate images and videos.",
12
- "version": "2.0.33",
12
+ "version": "2.0.34",
13
13
  "author": {
14
14
  "name": "gobi-ai"
15
15
  },
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "gobi",
3
3
  "description": "Manage the Gobi collaborative knowledge platform from the command line",
4
- "version": "2.0.33",
4
+ "version": "2.0.34",
5
5
  "author": {
6
6
  "name": "gobi-ai"
7
7
  },
@@ -71,21 +71,17 @@ export function registerSenseCommand(program) {
71
71
  for (const t of transcriptions) {
72
72
  const rawTurns = (t.turns || []);
73
73
  for (const turn of rawTurns) {
74
- const lines = String(turn.text ?? "").split("\n");
75
- for (const line of lines) {
76
- if (!line.trim() || line.trim() === "uv:")
77
- continue;
78
- // Me@<timestamp>: <text>
79
- const meMatch = line.match(/^Me@(\S+):\s*(.*)/);
80
- if (meMatch) {
81
- allTurns.push({ speaker: "Me", timestamp: meMatch[1], text: meMatch[2] });
82
- continue;
83
- }
84
- allTurns.push({ speaker: turn.speaker, timestamp: turn.timestamp, text: line });
85
- }
74
+ const text = String(turn.text ?? "").trim();
75
+ if (!text)
76
+ continue;
77
+ allTurns.push({
78
+ speaker: String(turn.speaker ?? ""),
79
+ timestamp: String(turn.timestamp ?? ""),
80
+ text,
81
+ });
86
82
  }
87
83
  }
88
- // Filter to requested time range and sort
84
+ // Filter to requested time range and sort by time.
89
85
  const startMs = new Date(opts.startTime).getTime();
90
86
  const endMs = new Date(opts.endTime).getTime();
91
87
  const filtered = allTurns
@@ -94,8 +90,29 @@ export function registerSenseCommand(program) {
94
90
  return ts >= startMs && ts <= endMs;
95
91
  })
96
92
  .sort((a, b) => a.timestamp.localeCompare(b.timestamp));
93
+ // Friendly speaker labels: named voices → their name, the user → "Me",
94
+ // anonymous voices (bare index, Person:/uv:) → a stable "Speaker N"
95
+ // numbered by first appearance across the sorted transcript.
96
+ const anonOrdinals = new Map();
97
+ let nextOrdinal = 1;
98
+ const labelFor = (token) => {
99
+ const named = token.match(/^(.+):(\d+)$/);
100
+ if (named) {
101
+ const name = named[1].trim();
102
+ if (name === "Me")
103
+ return "Me";
104
+ if (name && name !== "Person" && name !== "uv")
105
+ return name;
106
+ }
107
+ if (!anonOrdinals.has(token))
108
+ anonOrdinals.set(token, nextOrdinal++);
109
+ return `Speaker ${anonOrdinals.get(token)}`;
110
+ };
97
111
  if (isJsonMode(sense)) {
98
- jsonOut({ transcriptions: filtered, lastSeenTime });
112
+ jsonOut({
113
+ transcriptions: filtered.map((t) => ({ ...t, speaker: labelFor(t.speaker) })),
114
+ lastSeenTime,
115
+ });
99
116
  return;
100
117
  }
101
118
  if (!filtered.length) {
@@ -104,7 +121,7 @@ export function registerSenseCommand(program) {
104
121
  console.log(`Latest data available: ${lastSeenTime}`);
105
122
  return;
106
123
  }
107
- const lines = filtered.map((t) => `- Speaker ${t.speaker} (${t.timestamp}): ${t.text}`);
124
+ const lines = filtered.map((t) => `- ${labelFor(t.speaker)} (${t.timestamp}): ${t.text}`);
108
125
  console.log(`Transcriptions (${filtered.length} turns):\n` + lines.join("\n"));
109
126
  if (lastSeenTime)
110
127
  console.log(`Latest data available: ${lastSeenTime}`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@gobi-ai/cli",
3
- "version": "2.0.33",
3
+ "version": "2.0.34",
4
4
  "description": "CLI client for the Gobi collaborative knowledge platform",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -9,12 +9,12 @@ description: >-
9
9
  allowed-tools: Bash(gobi:*)
10
10
  metadata:
11
11
  author: gobi-ai
12
- version: "2.0.33"
12
+ version: "2.0.34"
13
13
  ---
14
14
 
15
15
  # gobi-artifact
16
16
 
17
- Gobi artifact commands for versioned, post-attachable creations (v2.0.33).
17
+ Gobi artifact commands for versioned, post-attachable creations (v2.0.34).
18
18
 
19
19
  Requires gobi-cli installed and authenticated. See gobi-core skill for setup.
20
20
 
@@ -8,12 +8,12 @@ description: >-
8
8
  allowed-tools: Bash(gobi:*)
9
9
  metadata:
10
10
  author: gobi-ai
11
- version: "2.0.33"
11
+ version: "2.0.34"
12
12
  ---
13
13
 
14
14
  # gobi-core
15
15
 
16
- Core CLI commands for the Gobi collaborative knowledge platform (v2.0.33).
16
+ Core CLI commands for the Gobi collaborative knowledge platform (v2.0.34).
17
17
 
18
18
  ## Prerequisites
19
19
 
@@ -7,7 +7,7 @@ description: >-
7
7
  allowed-tools: Bash(gobi:*)
8
8
  metadata:
9
9
  author: gobi-ai
10
- version: "2.0.33"
10
+ version: "2.0.34"
11
11
  ---
12
12
 
13
13
  # Gobi Homepage Developer Guide
@@ -10,12 +10,12 @@ description: >-
10
10
  allowed-tools: Bash(gobi:*)
11
11
  metadata:
12
12
  author: gobi-ai
13
- version: "2.0.33"
13
+ version: "2.0.34"
14
14
  ---
15
15
 
16
16
  # gobi-media
17
17
 
18
- Gobi media generation commands (v2.0.33).
18
+ Gobi media generation commands (v2.0.34).
19
19
 
20
20
  Requires gobi-cli installed and authenticated. See gobi-core skill for setup.
21
21
 
@@ -7,12 +7,12 @@ description: >-
7
7
  allowed-tools: Bash(gobi:*)
8
8
  metadata:
9
9
  author: gobi-ai
10
- version: "2.0.33"
10
+ version: "2.0.34"
11
11
  ---
12
12
 
13
13
  # gobi-sense
14
14
 
15
- Gobi sense commands for activity and transcription data (v2.0.33).
15
+ Gobi sense commands for activity and transcription data (v2.0.34).
16
16
 
17
17
  Requires gobi-cli installed and authenticated. See the **gobi-core** skill for setup.
18
18
 
@@ -11,12 +11,12 @@ description: >-
11
11
  allowed-tools: Bash(gobi:*)
12
12
  metadata:
13
13
  author: gobi-ai
14
- version: "2.0.33"
14
+ version: "2.0.34"
15
15
  ---
16
16
 
17
17
  # gobi-space
18
18
 
19
- Gobi space, global, and personal-space posts (v2.0.33).
19
+ Gobi space, global, and personal-space posts (v2.0.34).
20
20
 
21
21
  Requires gobi-cli installed and authenticated. See the **gobi-core** skill for setup.
22
22
 
@@ -8,12 +8,12 @@ description: >-
8
8
  allowed-tools: Bash(gobi:*)
9
9
  metadata:
10
10
  author: gobi-ai
11
- version: "2.0.33"
11
+ version: "2.0.34"
12
12
  ---
13
13
 
14
14
  # gobi-vault
15
15
 
16
- Gobi vault commands for publishing your vault profile and syncing files (v2.0.33).
16
+ Gobi vault commands for publishing your vault profile and syncing files (v2.0.34).
17
17
 
18
18
  Requires gobi-cli installed and authenticated. See gobi-core skill for setup.
19
19