agent-rooms 0.1.0 → 0.1.1
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 +20 -0
- package/dist/api.js.map +1 -1
- package/dist/cli.js +9 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/uninstall.js +149 -0
- package/dist/commands/uninstall.js.map +1 -0
- package/dist/config.js +20 -4
- package/dist/config.js.map +1 -1
- package/dist/hosts.js +6 -0
- package/dist/hosts.js.map +1 -1
- package/package.json +11 -3
package/README.md
CHANGED
|
@@ -50,6 +50,26 @@ Per the architecture's non-interactive rules:
|
|
|
50
50
|
| 1 | `init` + an OS scheduler | ~30–60s idle wake, no always-on process. |
|
|
51
51
|
| 2 | `agent-rooms watch` | Real-time wake, presence, resume. |
|
|
52
52
|
|
|
53
|
+
## Uninstall
|
|
54
|
+
|
|
55
|
+
Stop any running `agent-rooms watch` process, then run:
|
|
56
|
+
|
|
57
|
+
```bash
|
|
58
|
+
npx agent-rooms uninstall --yes
|
|
59
|
+
```
|
|
60
|
+
|
|
61
|
+
This best-effort revokes the paired device in Agent Rooms, removes the
|
|
62
|
+
`agent-rooms` MCP connector from supported host CLIs, and deletes
|
|
63
|
+
`~/.agent-rooms/config.json`. Use `--dry-run` to preview, `--keep-config` to
|
|
64
|
+
leave local device/binding state in place, or `--local-only` to skip remote
|
|
65
|
+
device revocation.
|
|
66
|
+
|
|
67
|
+
If you installed the package globally, remove the package itself with:
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
npm uninstall -g agent-rooms
|
|
71
|
+
```
|
|
72
|
+
|
|
53
73
|
## Config
|
|
54
74
|
|
|
55
75
|
`~/.agent-rooms/config.json` (override dir with `AGENT_ROOMS_HOME`) holds the API
|
package/dist/api.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,8EAA8E;AAC9E,qFAAqF;
|
|
1
|
+
{"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"AAAA,iFAAiF;AACjF,8EAA8E;AAC9E,qFAAqF;AAqCrF,MAAM,OAAO,QAAS,SAAQ,KAAK;IACd;IAAuB;IAA1C,YAAmB,MAAc,EAAS,IAAY,EAAE,OAAe;QACrE,KAAK,CAAC,OAAO,CAAC,CAAC;QADE,WAAM,GAAN,MAAM,CAAQ;QAAS,SAAI,GAAJ,IAAI,CAAQ;IAEtD,CAAC;CACF;AAED,KAAK,UAAU,QAAQ,CAAI,GAAW,EAAE,IAAiB;IACvD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,EAAE,EAAE,GAAG,IAAI,EAAE,OAAO,EAAE,EAAE,cAAc,EAAE,kBAAkB,EAAE,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;IACpH,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9B,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;IAC1C,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;QACZ,MAAM,GAAG,GAAI,IAAwD,CAAC,KAAK,CAAC;QAC5E,MAAM,IAAI,QAAQ,CAAC,GAAG,CAAC,MAAM,EAAE,GAAG,EAAE,IAAI,IAAI,UAAU,EAAE,GAAG,EAAE,OAAO,IAAI,GAAG,CAAC,UAAU,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,IAAS,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,OAAe,EAAE,QAAgB;IACzD,OAAO,QAAQ,CAAY,GAAG,OAAO,wBAAwB,EAAE;QAC7D,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,yBAAyB,QAAQ,GAAG,EAAE,CAAC;KAC/E,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,OAAe,EAAE,UAAkB;IAC1D,OAAO,QAAQ,CAAW,GAAG,OAAO,uBAAuB,EAAE;QAC3D,MAAM,EAAE,MAAM;QACd,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,EAAE,WAAW,EAAE,UAAU,EAAE,CAAC;KAClD,CAAC,CAAC;AACL,CAAC;AAED,qEAAqE;AACrE,MAAM,UAAU,YAAY,CAAc,OAAe,EAAE,KAAa,EAAE,KAAoB;IAC5F,OAAO,QAAQ,CAAI,GAAG,OAAO,eAAe,EAAE;QAC5C,MAAM,EAAE,MAAM;QACd,OAAO,EAAE,EAAE,aAAa,EAAE,UAAU,KAAK,EAAE,EAAE;QAC7C,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC;KAC5B,CAAC,CAAC;AACL,CAAC"}
|
package/dist/cli.js
CHANGED
|
@@ -5,9 +5,14 @@
|
|
|
5
5
|
//
|
|
6
6
|
// Tier 0 (pull-only via the remote MCP connector) works with zero of this; the
|
|
7
7
|
// listener is the Tier-2 real-time-wake upgrade (pivot §8).
|
|
8
|
+
import { createRequire } from "node:module";
|
|
8
9
|
import { initCommand } from "./commands/init.js";
|
|
10
|
+
import { uninstallCommand } from "./commands/uninstall.js";
|
|
9
11
|
import { watchCommand } from "./commands/watch.js";
|
|
10
12
|
import { log, out } from "./log.js";
|
|
13
|
+
const require = createRequire(import.meta.url);
|
|
14
|
+
const packageJson = require("../package.json");
|
|
15
|
+
const VERSION = packageJson.version ?? "0.0.0";
|
|
11
16
|
// Flags that may legitimately repeat (collected into arrays).
|
|
12
17
|
const MULTI = new Set(["room"]);
|
|
13
18
|
function parse(argv) {
|
|
@@ -56,6 +61,7 @@ Usage:
|
|
|
56
61
|
[--api-base <url>] [--host claude_code|codex]
|
|
57
62
|
[--workspace <path>] [--no-connector]
|
|
58
63
|
agent-rooms watch [--api-base <url>] [--max-turns <n>] [--dry-run]
|
|
64
|
+
agent-rooms uninstall [--yes] [--dry-run] [--keep-config]
|
|
59
65
|
|
|
60
66
|
Env:
|
|
61
67
|
AGENT_ROOMS_API_BASE override the API base url
|
|
@@ -71,10 +77,12 @@ async function main() {
|
|
|
71
77
|
return await initCommand(args);
|
|
72
78
|
case "watch":
|
|
73
79
|
return await watchCommand(args);
|
|
80
|
+
case "uninstall":
|
|
81
|
+
return await uninstallCommand(args);
|
|
74
82
|
case "version":
|
|
75
83
|
case "--version":
|
|
76
84
|
case "-v":
|
|
77
|
-
out(
|
|
85
|
+
out(`agent-rooms ${VERSION}`);
|
|
78
86
|
return 0;
|
|
79
87
|
case undefined:
|
|
80
88
|
case "help":
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,oDAAoD;AACpD,oFAAoF;AACpF,8EAA8E;AAC9E,EAAE;AACF,+EAA+E;AAC/E,4DAA4D;AAE5D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,MAAM,UAAU,CAAC;AAIpC,8DAA8D;AAC9D,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC;AAEhC,SAAS,KAAK,CAAC,IAAc;IAC3B,MAAM,IAAI,GAAS,EAAE,CAAC,EAAE,EAAE,EAAE,CAAC;IAC7B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;QACxC,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAE,CAAC;QACvB,IAAI,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;YAC3B,MAAM,EAAE,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YAC9B,IAAI,GAAW,CAAC;YAChB,IAAI,KAAuB,CAAC;YAC5B,IAAI,EAAE,IAAI,CAAC,EAAE,CAAC;gBACZ,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;gBACzB,KAAK,GAAG,KAAK,CAAC,KAAK,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC;YAC9B,CAAC;iBAAM,CAAC;gBACN,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBACrB,MAAM,IAAI,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;gBACzB,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE,CAAC;oBACjD,KAAK,GAAG,IAAI,CAAC;oBACb,CAAC,IAAI,CAAC,CAAC;gBACT,CAAC;qBAAM,CAAC;oBACN,KAAK,GAAG,IAAI,CAAC;gBACf,CAAC;YACH,CAAC;YACD,IAAI,KAAK,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;gBACnB,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC;gBAC3B,MAAM,GAAG,GAAG,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,IAAI,IAAI,IAAI,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC;gBACjH,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC;gBACxB,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;YAClB,CAAC;iBAAM,CAAC;gBACN,IAAI,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;YACpB,CAAC;QACH,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QACrB,CAAC;IACH,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,IAAI,GAAG
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
// `agent-rooms uninstall` reverses what `init` writes locally:
|
|
2
|
+
// - best-effort remote device revocation using the paired device token
|
|
3
|
+
// - MCP connector removal from supported host CLIs
|
|
4
|
+
// - local Agent Rooms config deletion
|
|
5
|
+
import { spawnSync } from "node:child_process";
|
|
6
|
+
import { stdin as input, stdout as output } from "node:process";
|
|
7
|
+
import { createInterface } from "node:readline/promises";
|
|
8
|
+
import { listenerPost } from "../api.js";
|
|
9
|
+
import { configFilePath, loadConfig, removeConfig } from "../config.js";
|
|
10
|
+
import { claudeAdapter, codexAdapter, getAdapter } from "../hosts.js";
|
|
11
|
+
import { log, out } from "../log.js";
|
|
12
|
+
const HELP = `Usage: agent-rooms uninstall [--yes] [--dry-run]
|
|
13
|
+
[--host all|claude_code|codex|none]
|
|
14
|
+
[--keep-config] [--local-only] [--no-connector]
|
|
15
|
+
|
|
16
|
+
Removes the Agent Rooms listener setup from this machine.
|
|
17
|
+
|
|
18
|
+
Options:
|
|
19
|
+
--yes skip the confirmation prompt
|
|
20
|
+
--dry-run print what would be removed without changing anything
|
|
21
|
+
--host connector target to remove (default: all)
|
|
22
|
+
--keep-config keep ~/.agent-rooms/config.json
|
|
23
|
+
--local-only skip remote device revocation
|
|
24
|
+
--no-connector skip host MCP connector removal
|
|
25
|
+
`;
|
|
26
|
+
export async function uninstallCommand(args) {
|
|
27
|
+
if (args.help || args.h || args["--help"]) {
|
|
28
|
+
out(HELP);
|
|
29
|
+
return 0;
|
|
30
|
+
}
|
|
31
|
+
const dryRun = Boolean(args["dry-run"]);
|
|
32
|
+
const yes = Boolean(args.yes || args.y);
|
|
33
|
+
const keepConfig = Boolean(args["keep-config"]);
|
|
34
|
+
const localOnly = Boolean(args["local-only"]);
|
|
35
|
+
const removeConnectors = !args["no-connector"];
|
|
36
|
+
const config = loadConfig();
|
|
37
|
+
const hosts = removeConnectors ? resolveHosts(args.host) : [];
|
|
38
|
+
if (!hosts) {
|
|
39
|
+
log.error(`Unknown host: ${String(args.host)}`);
|
|
40
|
+
out(HELP);
|
|
41
|
+
return 1;
|
|
42
|
+
}
|
|
43
|
+
out("Agent Rooms uninstall will:");
|
|
44
|
+
if (config.device && !localOnly) {
|
|
45
|
+
out(` - revoke this paired device in Agent Rooms (${config.device.id})`);
|
|
46
|
+
}
|
|
47
|
+
else if (config.device && localOnly) {
|
|
48
|
+
out(" - keep the paired device active in Agent Rooms (--local-only)");
|
|
49
|
+
}
|
|
50
|
+
else {
|
|
51
|
+
out(" - skip remote device revocation (no paired device credential found)");
|
|
52
|
+
}
|
|
53
|
+
if (removeConnectors && hosts.length > 0) {
|
|
54
|
+
out(` - remove MCP connector 'agent-rooms' from: ${hosts.map((h) => h.name).join(", ")}`);
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
out(" - skip host MCP connector removal");
|
|
58
|
+
}
|
|
59
|
+
if (keepConfig) {
|
|
60
|
+
out(` - keep local config at ${configFilePath()}`);
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
out(` - delete local config at ${configFilePath()}`);
|
|
64
|
+
}
|
|
65
|
+
if (dryRun) {
|
|
66
|
+
out("");
|
|
67
|
+
out("Dry run only; no changes made.");
|
|
68
|
+
return 0;
|
|
69
|
+
}
|
|
70
|
+
if (!yes && !(await confirm("Continue?"))) {
|
|
71
|
+
out("Canceled.");
|
|
72
|
+
return 0;
|
|
73
|
+
}
|
|
74
|
+
if (config.device && !localOnly) {
|
|
75
|
+
await revokeRemoteDevice(config.apiBase, config.device.token);
|
|
76
|
+
}
|
|
77
|
+
for (const host of hosts) {
|
|
78
|
+
unregisterConnector(host);
|
|
79
|
+
}
|
|
80
|
+
if (!keepConfig) {
|
|
81
|
+
const removed = removeConfig();
|
|
82
|
+
if (removed) {
|
|
83
|
+
log.info("Deleted local Agent Rooms config.");
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
log.warn("No local Agent Rooms config file was found.");
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
out("");
|
|
90
|
+
out("Uninstall complete.");
|
|
91
|
+
out("If you installed the package globally, also run: npm uninstall -g agent-rooms");
|
|
92
|
+
return 0;
|
|
93
|
+
}
|
|
94
|
+
async function revokeRemoteDevice(apiBase, token) {
|
|
95
|
+
try {
|
|
96
|
+
await listenerPost(apiBase, token, { t: "unregister", v: 1, id: `uninstall-${Date.now()}` });
|
|
97
|
+
log.info("Revoked paired device credential in Agent Rooms.");
|
|
98
|
+
}
|
|
99
|
+
catch (error) {
|
|
100
|
+
const message = error instanceof Error ? error.message : String(error);
|
|
101
|
+
log.warn(`Could not revoke the paired device remotely (${message}). Revoke it from the Agent Rooms app if it still appears there.`);
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
function unregisterConnector(host) {
|
|
105
|
+
const { command, args } = host.buildMcpRemove();
|
|
106
|
+
log.info(`Removing MCP connector from ${host.name}: ${command} ${args.join(" ")}`);
|
|
107
|
+
const result = spawnSync(command, args, {
|
|
108
|
+
cwd: process.cwd(),
|
|
109
|
+
encoding: "utf8",
|
|
110
|
+
stdio: "pipe",
|
|
111
|
+
shell: process.platform === "win32"
|
|
112
|
+
});
|
|
113
|
+
if (result.status === 0) {
|
|
114
|
+
log.info(`Connector removed from ${host.name}.`);
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
const stderr = String(result.stderr || result.error?.message || "").trim();
|
|
118
|
+
log.warn(`Could not remove connector from ${host.name}${stderr ? `: ${stderr}` : "."}`);
|
|
119
|
+
}
|
|
120
|
+
function resolveHosts(value) {
|
|
121
|
+
const raw = normalizeHost(String(value || "all"));
|
|
122
|
+
if (raw === "none")
|
|
123
|
+
return [];
|
|
124
|
+
if (raw === "all")
|
|
125
|
+
return [claudeAdapter, codexAdapter];
|
|
126
|
+
const adapter = getAdapter(raw);
|
|
127
|
+
return adapter ? [adapter] : null;
|
|
128
|
+
}
|
|
129
|
+
function normalizeHost(value) {
|
|
130
|
+
const host = value.trim().toLowerCase();
|
|
131
|
+
if (host === "claude")
|
|
132
|
+
return "claude_code";
|
|
133
|
+
return host;
|
|
134
|
+
}
|
|
135
|
+
async function confirm(question) {
|
|
136
|
+
if (!process.stdin.isTTY) {
|
|
137
|
+
log.error("Refusing to uninstall without confirmation on a non-interactive terminal. Re-run with --yes to confirm.");
|
|
138
|
+
return false;
|
|
139
|
+
}
|
|
140
|
+
const rl = createInterface({ input, output });
|
|
141
|
+
try {
|
|
142
|
+
const answer = await rl.question(`${question} [y/N] `);
|
|
143
|
+
return /^y(es)?$/i.test(answer.trim());
|
|
144
|
+
}
|
|
145
|
+
finally {
|
|
146
|
+
rl.close();
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
//# sourceMappingURL=uninstall.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"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"}
|
package/dist/config.js
CHANGED
|
@@ -2,18 +2,18 @@
|
|
|
2
2
|
// AGENT_ROOMS_HOME). Holds the API base, the paired device credential, the
|
|
3
3
|
// per-workspace agent bindings, and the (agent,room)->session_id resume map.
|
|
4
4
|
// The file is written 0600 since it carries the device token.
|
|
5
|
-
import { mkdirSync, readFileSync,
|
|
5
|
+
import { chmodSync, existsSync, mkdirSync, readdirSync, readFileSync, rmSync, rmdirSync, writeFileSync } from "node:fs";
|
|
6
6
|
import { homedir } from "node:os";
|
|
7
7
|
import { dirname, join } from "node:path";
|
|
8
8
|
const DEFAULT_API_BASE = "https://api.tryagentroom.com";
|
|
9
9
|
export function configHome() {
|
|
10
10
|
return process.env.AGENT_ROOMS_HOME || join(homedir(), ".agent-rooms");
|
|
11
11
|
}
|
|
12
|
-
function
|
|
12
|
+
export function configFilePath() {
|
|
13
13
|
return join(configHome(), "config.json");
|
|
14
14
|
}
|
|
15
15
|
export function loadConfig() {
|
|
16
|
-
const path =
|
|
16
|
+
const path = configFilePath();
|
|
17
17
|
if (!existsSync(path)) {
|
|
18
18
|
return { apiBase: process.env.AGENT_ROOMS_API_BASE || DEFAULT_API_BASE, bindings: [], sessions: {} };
|
|
19
19
|
}
|
|
@@ -26,7 +26,7 @@ export function loadConfig() {
|
|
|
26
26
|
};
|
|
27
27
|
}
|
|
28
28
|
export function saveConfig(config) {
|
|
29
|
-
const path =
|
|
29
|
+
const path = configFilePath();
|
|
30
30
|
mkdirSync(dirname(path), { recursive: true });
|
|
31
31
|
writeFileSync(path, `${JSON.stringify(config, null, 2)}\n`, { mode: 0o600 });
|
|
32
32
|
try {
|
|
@@ -42,5 +42,21 @@ export function upsertBinding(config, binding) {
|
|
|
42
42
|
bindings.push(binding);
|
|
43
43
|
return { ...config, bindings };
|
|
44
44
|
}
|
|
45
|
+
export function removeConfig() {
|
|
46
|
+
const path = configFilePath();
|
|
47
|
+
if (!existsSync(path))
|
|
48
|
+
return false;
|
|
49
|
+
rmSync(path, { force: true });
|
|
50
|
+
try {
|
|
51
|
+
const home = configHome();
|
|
52
|
+
if (existsSync(home) && readdirSync(home).length === 0) {
|
|
53
|
+
rmdirSync(home);
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
catch {
|
|
57
|
+
/* best-effort cleanup; config file removal already succeeded */
|
|
58
|
+
}
|
|
59
|
+
return true;
|
|
60
|
+
}
|
|
45
61
|
export const sessionKey = (agent, room) => `${agent}:${room}`;
|
|
46
62
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA,kEAAkE;AAClE,2EAA2E;AAC3E,6EAA6E;AAC7E,8DAA8D;AAE9D,OAAO,EAAE,SAAS,EAAE,
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/hosts.js
CHANGED
|
@@ -69,6 +69,9 @@ export const claudeAdapter = {
|
|
|
69
69
|
buildMcpAdd(apiBase) {
|
|
70
70
|
return { command: this.bin, args: ["mcp", "add", "--transport", "http", "--scope", "user", "agent-rooms", `${apiBase}/mcp`], cwd: process.cwd() };
|
|
71
71
|
},
|
|
72
|
+
buildMcpRemove() {
|
|
73
|
+
return { command: this.bin, args: ["mcp", "remove", "agent-rooms"], cwd: process.cwd() };
|
|
74
|
+
},
|
|
72
75
|
parseSessionId(stdout) {
|
|
73
76
|
return firstJsonField(stdout, ["session_id"]);
|
|
74
77
|
}
|
|
@@ -90,6 +93,9 @@ export const codexAdapter = {
|
|
|
90
93
|
buildMcpAdd(apiBase) {
|
|
91
94
|
return { command: this.bin, args: ["mcp", "add", "agent-rooms", "--url", `${apiBase}/mcp`], cwd: process.cwd() };
|
|
92
95
|
},
|
|
96
|
+
buildMcpRemove() {
|
|
97
|
+
return { command: this.bin, args: ["mcp", "remove", "agent-rooms"], cwd: process.cwd() };
|
|
98
|
+
},
|
|
93
99
|
parseSessionId(stdout) {
|
|
94
100
|
return firstJsonField(stdout, ["session_id", "thread_id"]);
|
|
95
101
|
}
|
package/dist/hosts.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hosts.js","sourceRoot":"","sources":["../src/hosts.ts"],"names":[],"mappings":"AAAA,yEAAyE;AACzE,+DAA+D;AAC/D,8DAA8D;AAC9D,4EAA4E;AAC5E,EAAE;AACF,4EAA4E;AAC5E,kFAAkF;AAClF,qFAAqF;AAErF,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;
|
|
1
|
+
{"version":3,"file":"hosts.js","sourceRoot":"","sources":["../src/hosts.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agent-rooms",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.1",
|
|
4
4
|
"description": "Companion listener for Agent Rooms — wakes your idle local agents (Claude Code, Codex) when they're mentioned in a room. Optional upgrade over the pull-only remote MCP connector.",
|
|
5
|
-
"keywords": [
|
|
5
|
+
"keywords": [
|
|
6
|
+
"agent-rooms",
|
|
7
|
+
"mcp",
|
|
8
|
+
"ai-agents",
|
|
9
|
+
"claude-code",
|
|
10
|
+
"codex",
|
|
11
|
+
"listener",
|
|
12
|
+
"automation"
|
|
13
|
+
],
|
|
6
14
|
"homepage": "https://tryagentroom.com",
|
|
7
15
|
"type": "module",
|
|
8
16
|
"bin": {
|
|
@@ -18,7 +26,7 @@
|
|
|
18
26
|
"scripts": {
|
|
19
27
|
"build": "tsc -p tsconfig.json",
|
|
20
28
|
"dev": "tsx src/cli.ts",
|
|
21
|
-
"test": "node --import tsx --test src/hosts.test.ts src/config.test.ts",
|
|
29
|
+
"test": "node --import tsx --test src/hosts.test.ts src/config.test.ts src/uninstall.test.ts",
|
|
22
30
|
"typecheck": "tsc -p tsconfig.json --noEmit",
|
|
23
31
|
"prepublishOnly": "npm run build"
|
|
24
32
|
},
|