@dsiloed/silo-link 1.5.4 → 1.6.3
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 +41 -5
- package/dist/cli/claude-md-block.d.ts +3 -1
- package/dist/cli/claude-md-block.d.ts.map +1 -1
- package/dist/cli/claude-md-block.js +10 -39
- package/dist/cli/claude-md-block.js.map +1 -1
- package/dist/cli/commands.d.ts.map +1 -1
- package/dist/cli/commands.js +45 -14
- package/dist/cli/commands.js.map +1 -1
- package/dist/cli/daemon.d.ts +3 -3
- package/dist/cli/daemon.d.ts.map +1 -1
- package/dist/cli/daemon.js +12 -8
- package/dist/cli/daemon.js.map +1 -1
- package/dist/config/config-manager.d.ts +24 -0
- package/dist/config/config-manager.d.ts.map +1 -1
- package/dist/config/config-manager.js +168 -11
- package/dist/config/config-manager.js.map +1 -1
- package/dist/config/jwt-generator.d.ts +11 -6
- package/dist/config/jwt-generator.d.ts.map +1 -1
- package/dist/config/jwt-generator.js +20 -39
- package/dist/config/jwt-generator.js.map +1 -1
- package/dist/core/base-tmux-launcher.d.ts +13 -0
- package/dist/core/base-tmux-launcher.d.ts.map +1 -1
- package/dist/core/base-tmux-launcher.js +96 -4
- package/dist/core/base-tmux-launcher.js.map +1 -1
- package/dist/core/bridge.d.ts.map +1 -1
- package/dist/core/bridge.js +50 -11
- package/dist/core/bridge.js.map +1 -1
- package/dist/core/claude-launcher.d.ts +46 -0
- package/dist/core/claude-launcher.d.ts.map +1 -1
- package/dist/core/claude-launcher.js +259 -29
- package/dist/core/claude-launcher.js.map +1 -1
- package/dist/core/gemini-launcher.d.ts.map +1 -1
- package/dist/core/gemini-launcher.js +36 -13
- package/dist/core/gemini-launcher.js.map +1 -1
- package/dist/mcp/tools/register-tools.d.ts.map +1 -1
- package/dist/mcp/tools/register-tools.js +23 -18
- package/dist/mcp/tools/register-tools.js.map +1 -1
- package/dist/types/index.d.ts +4 -1
- package/dist/types/index.d.ts.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -47,14 +47,50 @@ This installs the `silolink` CLI globally.
|
|
|
47
47
|
silolink config
|
|
48
48
|
```
|
|
49
49
|
|
|
50
|
-
|
|
50
|
+
The wizard first asks whether the daemon is running for a **user** or an **agent** and then collects only what's needed. Your answer is persisted as `identity_type` in the config and changes how the spawned Claude Code session is launched (see below).
|
|
51
|
+
|
|
52
|
+
- **User** (default): prompts for host, tenant, login (email or username) and password. SiloLink calls `POST /api/v1/users/login`, captures the returned JWT, and stores it in `~/.silolink/config.json` (mode `0600`). **Your password is never written to disk** — only the JWT.
|
|
53
|
+
- **Agent**: prompts for host, tenant, agent name (the `sub` claim), and the JWT to paste in. Generate the token from the LLM Manager UI: open the agent's edit dialog, expand **SiloLink Authentication**, and click **Generate SiloLink Token**. The agent path never needs Sorcery credentials, since agents don't have a human login.
|
|
54
|
+
|
|
55
|
+
The token is long-lived. If the server ever rejects it (password change, tenant key rotation, agent rename), re-run `silolink config` to refresh it.
|
|
56
|
+
|
|
57
|
+
### How `identity_type` changes session launches
|
|
58
|
+
|
|
59
|
+
The choice you make in the wizard controls where the spawned Claude Code session starts (which is the same dir CC reads `.mcp.json` from):
|
|
60
|
+
|
|
61
|
+
- **`identity_type: "user"`** — single-env remote-bridge use case. CC launches in `projects_path` (or in `repo_path` if a launch command supplies one). CC inherits any `CLAUDE.md` from your projects dir, and you typically run `silolink setup-claude-md` once to inject the SiloLink protocol section into it. There's only one writer of the `.mcp.json` in `projects_path`, so collisions are not a concern.
|
|
62
|
+
|
|
63
|
+
- **`identity_type: "agent"`** — multi-agent SDLC orchestration where several silolink envs (e.g. `lead-tester`, `vixen`) run on the same laptop. Each env gets its own per-env staging dir at `~/.silolink/staging/<env>/`, and CC launches there so its `.mcp.json` (which includes the env-specific JWT) is **never** shared with a sibling env. A bare `repo_path` in a launch command is treated as informational; the agent's runbook tells the spawned CC where to `cd` for repo work. When a launch supplies both `repo_path` and `branch`, silolink creates a per-ticket worktree under `~/.silolink/worktrees/<repo>/<branch>/` — also identity-isolated.
|
|
64
|
+
|
|
65
|
+
Worktree-mode (`repo_path` + `branch`) is identity-safe in either mode and works the same way for both.
|
|
66
|
+
|
|
67
|
+
If you ever migrate an env from `user` to `agent` (e.g. a personal config that's grown into an agent setup), re-run `silolink config --env <name>` and answer `agent` — the daemon will pick up the new `identity_type` on next restart.
|
|
68
|
+
|
|
69
|
+
### Non-interactive setup
|
|
70
|
+
|
|
71
|
+
For automated installs (e.g. a prompt generated by the DSiloed UI for Claude Code to execute), skip the wizard:
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
silolink config --non-interactive \
|
|
75
|
+
--host https://www.dsiloed.com \
|
|
76
|
+
--tenant <tenant_id> \
|
|
77
|
+
--user-sub <email-or-username> \
|
|
78
|
+
--jwt <pre-issued-jwt> \
|
|
79
|
+
[--mcp-port 3579] \
|
|
80
|
+
[--projects-path /home/user/projects] \
|
|
81
|
+
[--env dev]
|
|
82
|
+
```
|
|
83
|
+
|
|
84
|
+
All four of `--host`, `--tenant`, `--user-sub`, `--jwt` are required when `--non-interactive` is set. The JWT is written to `~/.silolink/config.json` exactly as supplied — generate it via the same flow used by the user's MCP config dialog (or the agent's "Generate SiloLink Token" button).
|
|
85
|
+
|
|
86
|
+
`~/.silolink/config.json` schema:
|
|
51
87
|
|
|
52
88
|
| Field | Description | Default |
|
|
53
89
|
|-------|-------------|---------|
|
|
54
90
|
| `host` | DSiloed server URL | `https://www.dsiloed.com` |
|
|
55
|
-
| `tenant_id` |
|
|
56
|
-
| `shared_key` | Tenant shared key for JWT authentication | — |
|
|
91
|
+
| `tenant_id` | Tenant enterprise identifier | `harmoniq` |
|
|
57
92
|
| `user_sub` | Your username or email | — |
|
|
93
|
+
| `jwt` | JWT obtained at `silolink config` time (do not edit by hand) | — |
|
|
58
94
|
| `mcp_port` | Local port for the MCP server | `3579` |
|
|
59
95
|
| `reconnect_interval_ms` | Base reconnect delay | `5000` |
|
|
60
96
|
| `max_reconnect_attempts` | Max reconnect tries | `20` |
|
|
@@ -65,14 +101,14 @@ Creates `~/.silolink/config.json`:
|
|
|
65
101
|
| `claude_idle_timeout_ms` | Idle threshold before respawn | `30000` |
|
|
66
102
|
| `claude_session_prompt` | Default prompt for spawned sessions | `Register with SiloLink...` |
|
|
67
103
|
|
|
68
|
-
**Example
|
|
104
|
+
**Example config file (after running `silolink config`):**
|
|
69
105
|
|
|
70
106
|
```json
|
|
71
107
|
{
|
|
72
108
|
"host": "https://www.dsiloed.com",
|
|
73
109
|
"tenant_id": "portablemind",
|
|
74
|
-
"shared_key": "your-shared-key",
|
|
75
110
|
"user_sub": "user@example.com",
|
|
111
|
+
"jwt": "eyJhbGciOiJIUzI1NiJ9...",
|
|
76
112
|
"mcp_port": 3579,
|
|
77
113
|
"claude_command": "/home/user/.local/bin/claude",
|
|
78
114
|
"claude_working_directory": "/home/user/projects",
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The SiloLink CLAUDE.md block that instructs Claude Code how to use SiloLink.
|
|
3
3
|
* This is the canonical source — `silolink setup-claude-md` writes it into projects.
|
|
4
|
+
*
|
|
5
|
+
* Keep this block SHORT. It loads into every SiloLink-launched agent's context.
|
|
4
6
|
*/
|
|
5
|
-
export declare const SILOLINK_CLAUDE_MD_BLOCK = "## Remote Communication (SiloLink)\n\
|
|
7
|
+
export declare const SILOLINK_CLAUDE_MD_BLOCK = "## Remote Communication (SiloLink)\n\nApplies only when launched via SiloLink (prompt contains `conversation_id` or tells you to `remote_register`). Ignore otherwise.\n\n- Register with `remote_register({ conversation_id })`.\n- Call `remote_load_context()` ONLY on a fresh session. Skip it when you were resumed \u2014 you already have the history.\n- All communication via `remote_notify` / `remote_ask`. Never print to the terminal; the user is in Harmoniq, not watching.\n- Send a `remote_notify` after every major step (file edits, commits, merges, errors). Going silent = user blind.\n- Poll loop: `remote_poll()` blocks up to 30s. If `{pending:true}`, loop again. After ~10 consecutive pending (~5 min idle), `remote_notify(\"Going idle\")`, `remote_unregister()`, exit.\n- Every polled message is new; the queue drops it on your next call. Never ignore one. `remote_load_context()` is history-only.\n- Prefer small/cheap models for mechanical work (running specs, PR creation, merges). Use one-shot sub-sessions when possible to keep the main polling session's context lean.\n";
|
|
6
8
|
//# sourceMappingURL=claude-md-block.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-md-block.d.ts","sourceRoot":"","sources":["../../src/cli/claude-md-block.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"claude-md-block.d.ts","sourceRoot":"","sources":["../../src/cli/claude-md-block.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,ikCAWpC,CAAC"}
|
|
@@ -1,48 +1,19 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* The SiloLink CLAUDE.md block that instructs Claude Code how to use SiloLink.
|
|
3
3
|
* This is the canonical source — `silolink setup-claude-md` writes it into projects.
|
|
4
|
+
*
|
|
5
|
+
* Keep this block SHORT. It loads into every SiloLink-launched agent's context.
|
|
4
6
|
*/
|
|
5
7
|
export const SILOLINK_CLAUDE_MD_BLOCK = `## Remote Communication (SiloLink)
|
|
6
8
|
|
|
7
|
-
|
|
8
|
-
\`conversation_id\` or tells you to call \`remote_register\`). If started from the
|
|
9
|
-
terminal normally, ignore this section.
|
|
9
|
+
Applies only when launched via SiloLink (prompt contains \`conversation_id\` or tells you to \`remote_register\`). Ignore otherwise.
|
|
10
10
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
- Returns a message: process it, send result via \`remote_notify()\`, loop again.
|
|
19
|
-
- Returns \`{pending:true}\`: no message yet, loop again immediately.
|
|
20
|
-
- After ~10 consecutive pending results (~5 min idle), send "Going idle" via
|
|
21
|
-
\`remote_notify()\`, call \`remote_unregister()\`, then exit. Auto-launch restarts
|
|
22
|
-
on next message.
|
|
23
|
-
6. Between tasks, call \`remote_poll()\` to check for new instructions.
|
|
24
|
-
7. Every \`remote_poll()\` message is NEW — the queue removes it on your next call.
|
|
25
|
-
Never dismiss a polled message. \`remote_load_context()\` returns history only.
|
|
26
|
-
|
|
27
|
-
### Poll loop
|
|
28
|
-
|
|
29
|
-
\`\`\`
|
|
30
|
-
remote_register({ session_name: "my-session", conversation_id: 123 })
|
|
31
|
-
remote_load_context()
|
|
32
|
-
|
|
33
|
-
idle = 0
|
|
34
|
-
while true:
|
|
35
|
-
result = remote_poll() // blocks up to 30s
|
|
36
|
-
if result.pending:
|
|
37
|
-
idle++
|
|
38
|
-
if idle >= 10: // ~5 min
|
|
39
|
-
remote_notify("Going idle")
|
|
40
|
-
remote_unregister()
|
|
41
|
-
exit
|
|
42
|
-
continue
|
|
43
|
-
idle = 0
|
|
44
|
-
handle(result.message)
|
|
45
|
-
remote_notify("Done: ...")
|
|
46
|
-
\`\`\`
|
|
11
|
+
- Register with \`remote_register({ conversation_id })\`.
|
|
12
|
+
- Call \`remote_load_context()\` ONLY on a fresh session. Skip it when you were resumed — you already have the history.
|
|
13
|
+
- All communication via \`remote_notify\` / \`remote_ask\`. Never print to the terminal; the user is in Harmoniq, not watching.
|
|
14
|
+
- Send a \`remote_notify\` after every major step (file edits, commits, merges, errors). Going silent = user blind.
|
|
15
|
+
- Poll loop: \`remote_poll()\` blocks up to 30s. If \`{pending:true}\`, loop again. After ~10 consecutive pending (~5 min idle), \`remote_notify("Going idle")\`, \`remote_unregister()\`, exit.
|
|
16
|
+
- Every polled message is new; the queue drops it on your next call. Never ignore one. \`remote_load_context()\` is history-only.
|
|
17
|
+
- Prefer small/cheap models for mechanical work (running specs, PR creation, merges). Use one-shot sub-sessions when possible to keep the main polling session's context lean.
|
|
47
18
|
`;
|
|
48
19
|
//# sourceMappingURL=claude-md-block.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-md-block.js","sourceRoot":"","sources":["../../src/cli/claude-md-block.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"claude-md-block.js","sourceRoot":"","sources":["../../src/cli/claude-md-block.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG;;;;;;;;;;;CAWvC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2BpC,QAAA,MAAM,OAAO,SAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"commands.d.ts","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA2BpC,QAAA,MAAM,OAAO,SAAgB,CAAC;AAsW9B,OAAO,EAAE,OAAO,EAAE,CAAC"}
|
package/dist/cli/commands.js
CHANGED
|
@@ -3,7 +3,7 @@ import { spawn } from 'node:child_process';
|
|
|
3
3
|
import { fileURLToPath } from 'node:url';
|
|
4
4
|
import path from 'node:path';
|
|
5
5
|
import fs from 'node:fs';
|
|
6
|
-
import { interactiveConfig, configExists, loadConfig } from '../config/config-manager.js';
|
|
6
|
+
import { interactiveConfig, nonInteractiveConfig, configExists, loadConfig } from '../config/config-manager.js';
|
|
7
7
|
import { writePidFile, readPidFile, removePidFile, isProcessRunning } from './daemon.js';
|
|
8
8
|
import { SILOLINK_CLAUDE_MD_BLOCK } from './claude-md-block.js';
|
|
9
9
|
import { Bridge } from '../core/bridge.js';
|
|
@@ -34,10 +34,11 @@ program
|
|
|
34
34
|
.action(async (opts) => {
|
|
35
35
|
const env = opts.env;
|
|
36
36
|
ensureConfig(env);
|
|
37
|
-
// Check if already running
|
|
38
|
-
const existingPid = readPidFile();
|
|
37
|
+
// Check if already running for this env
|
|
38
|
+
const existingPid = readPidFile(env);
|
|
39
39
|
if (existingPid && isProcessRunning(existingPid)) {
|
|
40
|
-
|
|
40
|
+
const label = env ? ` (env: ${env})` : '';
|
|
41
|
+
console.log(`SiloLink already running${label} (PID ${existingPid})`);
|
|
41
42
|
process.exit(0);
|
|
42
43
|
}
|
|
43
44
|
if (opts.daemon) {
|
|
@@ -54,30 +55,32 @@ program
|
|
|
54
55
|
console.log(`SiloLink started in background (PID ${child.pid})`);
|
|
55
56
|
process.exit(0);
|
|
56
57
|
}
|
|
57
|
-
// Foreground mode
|
|
58
|
-
writePidFile();
|
|
59
|
-
process.on('exit', removePidFile);
|
|
58
|
+
// Foreground mode — PID file is per-env so multiple instances coexist.
|
|
59
|
+
writePidFile(env);
|
|
60
|
+
process.on('exit', () => removePidFile(env));
|
|
60
61
|
const bridge = new Bridge(env);
|
|
61
62
|
await bridge.start();
|
|
62
63
|
});
|
|
63
64
|
program
|
|
64
65
|
.command('stop')
|
|
65
66
|
.description('Stop the SiloLink bridge')
|
|
66
|
-
.
|
|
67
|
-
|
|
67
|
+
.option('-e, --env <environment>', 'Environment config to use')
|
|
68
|
+
.action((opts) => {
|
|
69
|
+
const env = opts.env;
|
|
70
|
+
const pid = readPidFile(env);
|
|
68
71
|
if (!pid) {
|
|
69
72
|
console.log('SiloLink is not running (no PID file)');
|
|
70
73
|
return;
|
|
71
74
|
}
|
|
72
75
|
if (!isProcessRunning(pid)) {
|
|
73
76
|
console.log('SiloLink is not running (stale PID file)');
|
|
74
|
-
removePidFile();
|
|
77
|
+
removePidFile(env);
|
|
75
78
|
return;
|
|
76
79
|
}
|
|
77
80
|
try {
|
|
78
81
|
process.kill(pid, 'SIGTERM');
|
|
79
82
|
console.log(`Sent SIGTERM to SiloLink (PID ${pid})`);
|
|
80
|
-
removePidFile();
|
|
83
|
+
removePidFile(env);
|
|
81
84
|
}
|
|
82
85
|
catch (err) {
|
|
83
86
|
console.error(`Failed to stop SiloLink: ${err}`);
|
|
@@ -88,7 +91,7 @@ program
|
|
|
88
91
|
.description('Show SiloLink status')
|
|
89
92
|
.option('-e, --env <environment>', 'Environment config to use')
|
|
90
93
|
.action(async (opts) => {
|
|
91
|
-
const pid = readPidFile();
|
|
94
|
+
const pid = readPidFile(opts.env);
|
|
92
95
|
if (!pid || !isProcessRunning(pid)) {
|
|
93
96
|
console.log('SiloLink is not running');
|
|
94
97
|
return;
|
|
@@ -164,7 +167,7 @@ program
|
|
|
164
167
|
try {
|
|
165
168
|
const { JwtGenerator } = await import('../config/jwt-generator.js');
|
|
166
169
|
const jwt = new JwtGenerator(config);
|
|
167
|
-
const token = jwt.
|
|
170
|
+
const token = jwt.getToken();
|
|
168
171
|
const body = {};
|
|
169
172
|
if (convId)
|
|
170
173
|
body.conversation_id = convId;
|
|
@@ -205,7 +208,7 @@ program
|
|
|
205
208
|
try {
|
|
206
209
|
const { JwtGenerator } = await import('../config/jwt-generator.js');
|
|
207
210
|
const jwt = new JwtGenerator(config);
|
|
208
|
-
const token = jwt.
|
|
211
|
+
const token = jwt.getToken();
|
|
209
212
|
const body = {
|
|
210
213
|
name: opts.name,
|
|
211
214
|
spec: opts.spec,
|
|
@@ -269,7 +272,35 @@ program
|
|
|
269
272
|
.command('config')
|
|
270
273
|
.description('Configure SiloLink')
|
|
271
274
|
.option('-e, --env <environment>', 'Environment config to use (e.g. dev, prod, local)')
|
|
275
|
+
.option('--non-interactive', 'Skip the wizard; requires --host, --tenant, --user-sub, --jwt')
|
|
276
|
+
.option('--host <url>', 'DSiloed host (non-interactive)')
|
|
277
|
+
.option('--tenant <id>', 'Tenant enterprise identifier (non-interactive)')
|
|
278
|
+
.option('--user-sub <sub>', 'User login or agent name — the JWT sub claim (non-interactive)')
|
|
279
|
+
.option('--jwt <token>', 'Pre-issued JWT to store (non-interactive)')
|
|
280
|
+
.option('--identity-type <type>', 'Identity type: "user" (default) or "agent" (non-interactive)')
|
|
281
|
+
.option('--mcp-port <port>', 'Local MCP server port (non-interactive)', (v) => parseInt(v, 10))
|
|
282
|
+
.option('--projects-path <path>', 'Local projects directory (non-interactive)')
|
|
272
283
|
.action(async (opts) => {
|
|
284
|
+
if (opts.nonInteractive) {
|
|
285
|
+
try {
|
|
286
|
+
nonInteractiveConfig({
|
|
287
|
+
env: opts.env,
|
|
288
|
+
host: opts.host,
|
|
289
|
+
tenant_id: opts.tenant,
|
|
290
|
+
user_sub: opts.userSub,
|
|
291
|
+
jwt: opts.jwt,
|
|
292
|
+
identity_type: opts.identityType,
|
|
293
|
+
mcp_port: opts.mcpPort,
|
|
294
|
+
projects_path: opts.projectsPath,
|
|
295
|
+
});
|
|
296
|
+
console.log('SiloLink config written.');
|
|
297
|
+
}
|
|
298
|
+
catch (err) {
|
|
299
|
+
console.error(err.message);
|
|
300
|
+
process.exit(1);
|
|
301
|
+
}
|
|
302
|
+
return;
|
|
303
|
+
}
|
|
273
304
|
await interactiveConfig(opts.env);
|
|
274
305
|
});
|
|
275
306
|
program
|
package/dist/cli/commands.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"commands.js","sourceRoot":"","sources":["../../src/cli/commands.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/daemon.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
export declare function writePidFile(): void;
|
|
2
|
-
export declare function readPidFile(): number | null;
|
|
3
|
-
export declare function removePidFile(): void;
|
|
1
|
+
export declare function writePidFile(env?: string): void;
|
|
2
|
+
export declare function readPidFile(env?: string): number | null;
|
|
3
|
+
export declare function removePidFile(env?: string): void;
|
|
4
4
|
export declare function isProcessRunning(pid: number): boolean;
|
|
5
5
|
//# sourceMappingURL=daemon.d.ts.map
|
package/dist/cli/daemon.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/cli/daemon.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"daemon.d.ts","sourceRoot":"","sources":["../../src/cli/daemon.ts"],"names":[],"mappings":"AASA,wBAAgB,YAAY,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAI/C;AAED,wBAAgB,WAAW,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAOvD;AAED,wBAAgB,aAAa,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAMhD;AAED,wBAAgB,gBAAgB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAOrD"}
|
package/dist/cli/daemon.js
CHANGED
|
@@ -1,23 +1,27 @@
|
|
|
1
1
|
import fs from 'node:fs';
|
|
2
2
|
import path from 'node:path';
|
|
3
3
|
import { getConfigDir } from '../config/config-manager.js';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
fs.writeFileSync(PID_FILE, String(process.pid));
|
|
4
|
+
function pidFilePath(env) {
|
|
5
|
+
const filename = env ? `silolink.${env}.pid` : 'silolink.pid';
|
|
6
|
+
return path.join(getConfigDir(), filename);
|
|
8
7
|
}
|
|
9
|
-
export function
|
|
8
|
+
export function writePidFile(env) {
|
|
9
|
+
const file = pidFilePath(env);
|
|
10
|
+
fs.mkdirSync(path.dirname(file), { recursive: true });
|
|
11
|
+
fs.writeFileSync(file, String(process.pid));
|
|
12
|
+
}
|
|
13
|
+
export function readPidFile(env) {
|
|
10
14
|
try {
|
|
11
|
-
const pid = parseInt(fs.readFileSync(
|
|
15
|
+
const pid = parseInt(fs.readFileSync(pidFilePath(env), 'utf-8').trim(), 10);
|
|
12
16
|
return isNaN(pid) ? null : pid;
|
|
13
17
|
}
|
|
14
18
|
catch {
|
|
15
19
|
return null;
|
|
16
20
|
}
|
|
17
21
|
}
|
|
18
|
-
export function removePidFile() {
|
|
22
|
+
export function removePidFile(env) {
|
|
19
23
|
try {
|
|
20
|
-
fs.unlinkSync(
|
|
24
|
+
fs.unlinkSync(pidFilePath(env));
|
|
21
25
|
}
|
|
22
26
|
catch {
|
|
23
27
|
// Ignore if already removed
|
package/dist/cli/daemon.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/cli/daemon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,
|
|
1
|
+
{"version":3,"file":"daemon.js","sourceRoot":"","sources":["../../src/cli/daemon.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAC;AAE3D,SAAS,WAAW,CAAC,GAAY;IAC/B,MAAM,QAAQ,GAAG,GAAG,CAAC,CAAC,CAAC,YAAY,GAAG,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC;IAC9D,OAAO,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,QAAQ,CAAC,CAAC;AAC7C,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,GAAY;IACvC,MAAM,IAAI,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC;IAC9B,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACtD,EAAE,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC;AAC9C,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,GAAY;IACtC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,QAAQ,CAAC,EAAE,CAAC,YAAY,CAAC,WAAW,CAAC,GAAG,CAAC,EAAE,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;QAC5E,OAAO,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,GAAY;IACxC,IAAI,CAAC;QACH,EAAE,CAAC,UAAU,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,4BAA4B;IAC9B,CAAC;AACH,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,GAAW;IAC1C,IAAI,CAAC;QACH,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QACrB,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC"}
|
|
@@ -3,5 +3,29 @@ export declare function getConfigDir(): string;
|
|
|
3
3
|
export declare function loadConfig(env?: string): SiloLinkConfig;
|
|
4
4
|
export declare function saveConfig(config: SiloLinkConfig, env?: string): void;
|
|
5
5
|
export declare function configExists(env?: string): boolean;
|
|
6
|
+
/**
|
|
7
|
+
* POST {host}/api/v1/users/login with the user's credentials and Tenant-Id
|
|
8
|
+
* header. Returns the JWT on success. Throws with a descriptive message
|
|
9
|
+
* on failure.
|
|
10
|
+
*/
|
|
11
|
+
export declare function login(opts: {
|
|
12
|
+
host: string;
|
|
13
|
+
tenant_id: string;
|
|
14
|
+
user_sub: string;
|
|
15
|
+
password: string;
|
|
16
|
+
}): Promise<{
|
|
17
|
+
token: string;
|
|
18
|
+
requires_password_change?: boolean;
|
|
19
|
+
}>;
|
|
20
|
+
export declare function nonInteractiveConfig(opts: {
|
|
21
|
+
env?: string;
|
|
22
|
+
host: string;
|
|
23
|
+
tenant_id: string;
|
|
24
|
+
user_sub: string;
|
|
25
|
+
jwt: string;
|
|
26
|
+
identity_type?: 'user' | 'agent';
|
|
27
|
+
mcp_port?: number;
|
|
28
|
+
projects_path?: string;
|
|
29
|
+
}): void;
|
|
6
30
|
export declare function interactiveConfig(env?: string): Promise<void>;
|
|
7
31
|
//# sourceMappingURL=config-manager.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-manager.d.ts","sourceRoot":"","sources":["../../src/config/config-manager.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AA4BxD,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,cAAc,
|
|
1
|
+
{"version":3,"file":"config-manager.d.ts","sourceRoot":"","sources":["../../src/config/config-manager.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAC;AA4BxD,wBAAgB,YAAY,IAAI,MAAM,CAErC;AAED,wBAAgB,UAAU,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,cAAc,CAmBvD;AAED,wBAAgB,UAAU,CAAC,MAAM,EAAE,cAAc,EAAE,GAAG,CAAC,EAAE,MAAM,GAAG,IAAI,CAMrE;AAED,wBAAgB,YAAY,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAElD;AASD;;;;GAIG;AACH,wBAAsB,KAAK,CAAC,IAAI,EAAE;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,wBAAwB,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC,CAiCjE;AA+CD,wBAAgB,oBAAoB,CAAC,IAAI,EAAE;IACzC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACjC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,IAAI,CA6BP;AAED,wBAAsB,iBAAiB,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA2FnE"}
|