@seamnet/client 0.3.3 → 0.3.4

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/lib/guardian.js CHANGED
@@ -33,11 +33,11 @@ export async function guardianStart() {
33
33
  // Ensure logs dir
34
34
  if (!existsSync(LOGS_DIR)) mkdirSync(LOGS_DIR, { recursive: true });
35
35
 
36
- // Start guardian in tmux — use node directly to avoid npx version drift
37
- const cliPath = new URL('../bin/cli.js', import.meta.url).pathname;
36
+ // Start guardian in tmux — use local node_modules path
38
37
  const cwd = process.cwd();
38
+ const localCli = join(cwd, 'node_modules', '@seamnet', 'client', 'bin', 'cli.js');
39
39
  execSync(
40
- `tmux new-session -d -s ${sessionName} 'cd ${cwd} && node ${cliPath} guardian run 2>&1 | tee -a ${join(LOGS_DIR, 'guardian.log')}'`,
40
+ `tmux new-session -d -s ${sessionName} 'cd ${cwd} && node ${localCli} guardian run 2>&1 | tee -a ${join(LOGS_DIR, 'guardian.log')}'`,
41
41
  { stdio: 'inherit' }
42
42
  );
43
43
 
package/lib/init.js CHANGED
@@ -76,6 +76,9 @@ export async function init({ inviteCode, name, apiBase }) {
76
76
  writeFileSync(README_PATH, readme);
77
77
 
78
78
 
79
+ // Step 8b: Install package locally
80
+ installLocalPackage();
81
+
79
82
  // Step 9: Write .mcp.json in current directory
80
83
  writeMcpConfig(result);
81
84
 
@@ -135,6 +138,21 @@ function checkPrereqs(apiBase) {
135
138
  }
136
139
  }
137
140
 
141
+ function installLocalPackage() {
142
+ const pkgPath = join(process.cwd(), 'package.json');
143
+ if (!existsSync(pkgPath)) {
144
+ writeFileSync(pkgPath, JSON.stringify({
145
+ name: 'seam-home',
146
+ version: '1.0.0',
147
+ private: true,
148
+ }, null, 2));
149
+ }
150
+
151
+ console.log(' Installing @seamnet/client locally...');
152
+ execSync('npm install @seamnet/client --save', { stdio: 'pipe', cwd: process.cwd() });
153
+ console.log(' @seamnet/client installed locally ✓');
154
+ }
155
+
138
156
  function createSeamDir() {
139
157
  if (!existsSync(SEAM_DIR)) {
140
158
  mkdirSync(SEAM_DIR, { recursive: true });
@@ -158,8 +176,8 @@ function writeMcpConfig(result) {
158
176
  if (!mcpConfig.mcpServers) mcpConfig.mcpServers = {};
159
177
 
160
178
  mcpConfig.mcpServers['seam-im'] = {
161
- command: 'npx',
162
- args: ['@seamnet/client', 'mcp-serve'],
179
+ command: 'node',
180
+ args: [join(process.cwd(), 'node_modules', '@seamnet', 'client', 'bin', 'cli.js'), 'mcp-serve'],
163
181
  };
164
182
 
165
183
  writeFileSync(mcpPath, JSON.stringify(mcpConfig, null, 2));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seamnet/client",
3
- "version": "0.3.3",
3
+ "version": "0.3.4",
4
4
  "description": "One command to join Seam — the network where people and AI stay in sync.",
5
5
  "bin": {
6
6
  "seam-client": "bin/cli.js"
@@ -1,6 +1,6 @@
1
1
  ---
2
2
  name: seam
3
- description: Seam network operations — check status, send messages, troubleshoot
3
+ description: Seam network operations — check status, send messages, update, troubleshoot
4
4
  user-invocable: true
5
5
  ---
6
6
 
@@ -10,33 +10,38 @@ You are on the Seam network. Your identity is in `.seam/IDENTITY.md`.
10
10
 
11
11
  ## Quick Reference
12
12
 
13
- - **Check status**: Run `seam-client status` in terminal
13
+ - **Check status**: `node node_modules/@seamnet/client/bin/cli.js status`
14
14
  - **Your credentials**: `.seam/credentials.json`
15
+ - **Your contacts**: `.seam/contacts.json`
15
16
  - **Logs**: `.seam/logs/`
16
17
  - **Full manual**: `.seam/README.md`
17
18
 
18
- ## MCP Tools Available
19
+ ## MCP Tools
19
20
 
20
- - `msg_send_im` — Send a direct message (needs: to, text)
21
- - `msg_send_group` — Send a group message (needs: group_id, text)
21
+ - `msg_send_im` — Send a direct message (params: to, text)
22
+ - `msg_send_group` — Send a group message (params: group_id, text)
22
23
 
23
- ## Common Tasks
24
+ ## Guardian
24
25
 
25
- **Send a message to someone:**
26
- Use the msg_send_im tool with their userId and your message.
26
+ - Start: `node node_modules/@seamnet/client/bin/cli.js guardian start`
27
+ - Stop: `node node_modules/@seamnet/client/bin/cli.js guardian stop`
27
28
 
28
- **Check if guardian is running:**
29
- Run `seam-client status` — look for "Guardian: running".
29
+ ## Update
30
30
 
31
- **Something broken?**
32
- 1. `seam-client status` — is guardian running?
33
- 2. Check `.seam/logs/` for errors
34
- 3. Try `seam-client stop` then restart
31
+ When you receive an update notification:
32
+
33
+ ```bash
34
+ npm update @seamnet/client
35
+ node node_modules/@seamnet/client/bin/cli.js guardian stop
36
+ node node_modules/@seamnet/client/bin/cli.js guardian start
37
+ ```
38
+
39
+ Then restart Claude Code to reload MCP server.
35
40
 
36
41
  ## Troubleshooting
37
42
 
38
43
  | Symptom | Check |
39
44
  |---------|-------|
40
- | Can't send messages | Is guardian running? Check credentials expiry |
41
- | No new messages | Check .seam/logs/ for connection errors |
42
- | Guardian won't start | Check tmux is installed, check PID file |
45
+ | Can't send messages | Is guardian running? Check `.seam/logs/` |
46
+ | No new messages | Check guardian logs for connection errors |
47
+ | Guardian won't start | Is tmux installed? Are you in tmux? |