@kartik.doda/openclaw-plugin-test 1.0.0

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.
Files changed (95) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +128 -0
  3. package/dist/cli/admin-api.d.ts +58 -0
  4. package/dist/cli/admin-api.d.ts.map +1 -0
  5. package/dist/cli/admin-api.js +242 -0
  6. package/dist/cli/admin-api.js.map +1 -0
  7. package/dist/cli/auth.d.ts +5 -0
  8. package/dist/cli/auth.d.ts.map +1 -0
  9. package/dist/cli/auth.js +184 -0
  10. package/dist/cli/auth.js.map +1 -0
  11. package/dist/cli/bot.d.ts +3 -0
  12. package/dist/cli/bot.d.ts.map +1 -0
  13. package/dist/cli/bot.js +100 -0
  14. package/dist/cli/bot.js.map +1 -0
  15. package/dist/cli/config-updater.d.ts +70 -0
  16. package/dist/cli/config-updater.d.ts.map +1 -0
  17. package/dist/cli/config-updater.js +277 -0
  18. package/dist/cli/config-updater.js.map +1 -0
  19. package/dist/cli/credentials.d.ts +14 -0
  20. package/dist/cli/credentials.d.ts.map +1 -0
  21. package/dist/cli/credentials.js +45 -0
  22. package/dist/cli/credentials.js.map +1 -0
  23. package/dist/cli/rate-limiter.d.ts +17 -0
  24. package/dist/cli/rate-limiter.d.ts.map +1 -0
  25. package/dist/cli/rate-limiter.js +78 -0
  26. package/dist/cli/rate-limiter.js.map +1 -0
  27. package/dist/cli/setup.d.ts +2 -0
  28. package/dist/cli/setup.d.ts.map +1 -0
  29. package/dist/cli/setup.js +292 -0
  30. package/dist/cli/setup.js.map +1 -0
  31. package/dist/cli/ui.d.ts +30 -0
  32. package/dist/cli/ui.d.ts.map +1 -0
  33. package/dist/cli/ui.js +202 -0
  34. package/dist/cli/ui.js.map +1 -0
  35. package/dist/client/ddp.d.ts +31 -0
  36. package/dist/client/ddp.d.ts.map +1 -0
  37. package/dist/client/ddp.js +86 -0
  38. package/dist/client/ddp.js.map +1 -0
  39. package/dist/client/rest.d.ts +49 -0
  40. package/dist/client/rest.d.ts.map +1 -0
  41. package/dist/client/rest.js +347 -0
  42. package/dist/client/rest.js.map +1 -0
  43. package/dist/config/access-store.d.ts +29 -0
  44. package/dist/config/access-store.d.ts.map +1 -0
  45. package/dist/config/access-store.js +71 -0
  46. package/dist/config/access-store.js.map +1 -0
  47. package/dist/config/schema.d.ts +33 -0
  48. package/dist/config/schema.d.ts.map +1 -0
  49. package/dist/config/schema.js +52 -0
  50. package/dist/config/schema.js.map +1 -0
  51. package/dist/config/store.d.ts +11 -0
  52. package/dist/config/store.d.ts.map +1 -0
  53. package/dist/config/store.js +82 -0
  54. package/dist/config/store.js.map +1 -0
  55. package/dist/index.d.ts +4 -0
  56. package/dist/index.d.ts.map +1 -0
  57. package/dist/index.js +17 -0
  58. package/dist/index.js.map +1 -0
  59. package/dist/plugin.d.ts +5 -0
  60. package/dist/plugin.d.ts.map +1 -0
  61. package/dist/plugin.js +164 -0
  62. package/dist/plugin.js.map +1 -0
  63. package/dist/service/attachments.d.ts +10 -0
  64. package/dist/service/attachments.d.ts.map +1 -0
  65. package/dist/service/attachments.js +105 -0
  66. package/dist/service/attachments.js.map +1 -0
  67. package/dist/service/channel.d.ts +25 -0
  68. package/dist/service/channel.d.ts.map +1 -0
  69. package/dist/service/channel.js +747 -0
  70. package/dist/service/channel.js.map +1 -0
  71. package/dist/service/gateway.d.ts +7 -0
  72. package/dist/service/gateway.d.ts.map +1 -0
  73. package/dist/service/gateway.js +621 -0
  74. package/dist/service/gateway.js.map +1 -0
  75. package/dist/service/group-history.d.ts +8 -0
  76. package/dist/service/group-history.d.ts.map +1 -0
  77. package/dist/service/group-history.js +24 -0
  78. package/dist/service/group-history.js.map +1 -0
  79. package/dist/service/inbound.d.ts +16 -0
  80. package/dist/service/inbound.d.ts.map +1 -0
  81. package/dist/service/inbound.js +189 -0
  82. package/dist/service/inbound.js.map +1 -0
  83. package/dist/service/runtime-state.d.ts +8 -0
  84. package/dist/service/runtime-state.d.ts.map +1 -0
  85. package/dist/service/runtime-state.js +3 -0
  86. package/dist/service/runtime-state.js.map +1 -0
  87. package/dist/types.d.ts +220 -0
  88. package/dist/types.d.ts.map +1 -0
  89. package/dist/types.js +2 -0
  90. package/dist/types.js.map +1 -0
  91. package/dist/utils.d.ts +15 -0
  92. package/dist/utils.d.ts.map +1 -0
  93. package/dist/utils.js +68 -0
  94. package/dist/utils.js.map +1 -0
  95. package/package.json +57 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config-updater.js","sourceRoot":"","sources":["../../src/cli/config-updater.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export interface AdminCredentials {
2
+ serverUrl: string;
3
+ userId: string;
4
+ authToken: string;
5
+ }
6
+ export interface BotCredentials {
7
+ userId: string;
8
+ password: string;
9
+ }
10
+ export declare function saveAdmin(admin: AdminCredentials): Promise<void>;
11
+ export declare function loadAdmin(serverUrl?: string): Promise<AdminCredentials | null>;
12
+ export declare function saveBotCredentials(username: string, creds: BotCredentials): Promise<void>;
13
+ export declare function loadBotCredentials(username: string): Promise<BotCredentials | null>;
14
+ //# sourceMappingURL=credentials.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credentials.d.ts","sourceRoot":"","sources":["../../src/cli/credentials.ts"],"names":[],"mappings":"AAKA,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;CAClB;AAuBD,wBAAsB,SAAS,CAAC,KAAK,EAAE,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,CAMtE;AAED,wBAAsB,SAAS,CAAC,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,GAAG,IAAI,CAAC,CAMpF;AAED,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CAE/F;AAED,wBAAsB,kBAAkB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,CAEzF"}
@@ -0,0 +1,45 @@
1
+ import { mkdir, readFile, writeFile } from "node:fs/promises";
2
+ import { existsSync } from "node:fs";
3
+ import { resolve, dirname } from "node:path";
4
+ import { homedir } from "node:os";
5
+ const CREDS_DIR = resolve(homedir(), ".openclaw", "credentials", "rocketchat");
6
+ const ADMIN_FILE = resolve(CREDS_DIR, "admin.json");
7
+ function botFile(username) {
8
+ return resolve(CREDS_DIR, `bot-${username}.json`);
9
+ }
10
+ async function writeJson(path, data) {
11
+ await mkdir(dirname(path), { recursive: true });
12
+ await writeFile(path, JSON.stringify(data, null, 2), { mode: 0o600 });
13
+ }
14
+ async function readJson(path) {
15
+ if (!existsSync(path))
16
+ return null;
17
+ try {
18
+ return JSON.parse(await readFile(path, "utf-8"));
19
+ }
20
+ catch {
21
+ return null;
22
+ }
23
+ }
24
+ export async function saveAdmin(admin) {
25
+ if (existsSync(ADMIN_FILE)) {
26
+ await mkdir(dirname(ADMIN_FILE), { recursive: true });
27
+ await writeFile(ADMIN_FILE + ".bak", await readFile(ADMIN_FILE), { mode: 0o600 });
28
+ }
29
+ await writeJson(ADMIN_FILE, admin);
30
+ }
31
+ export async function loadAdmin(serverUrl) {
32
+ const admin = await readJson(ADMIN_FILE);
33
+ if (!admin)
34
+ return null;
35
+ if (serverUrl && admin.serverUrl && admin.serverUrl !== serverUrl)
36
+ return null;
37
+ return admin;
38
+ }
39
+ export async function saveBotCredentials(username, creds) {
40
+ await writeJson(botFile(username), creds);
41
+ }
42
+ export async function loadBotCredentials(username) {
43
+ return readJson(botFile(username));
44
+ }
45
+ //# sourceMappingURL=credentials.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"credentials.js","sourceRoot":"","sources":["../../src/cli/credentials.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC7C,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAalC,MAAM,SAAS,GAAG,OAAO,CAAC,OAAO,EAAE,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,CAAC,CAAC;AAC/E,MAAM,UAAU,GAAG,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC;AAEpD,SAAS,OAAO,CAAC,QAAgB;IAC/B,OAAO,OAAO,CAAC,SAAS,EAAE,OAAO,QAAQ,OAAO,CAAC,CAAC;AACpD,CAAC;AAED,KAAK,UAAU,SAAS,CAAC,IAAY,EAAE,IAAa;IAClD,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,MAAM,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;AACxE,CAAC;AAED,KAAK,UAAU,QAAQ,CAAI,IAAY;IACrC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,CAAC;QACH,OAAO,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,CAAM,CAAC;IACxD,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,KAAuB;IACrD,IAAI,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC3B,MAAM,KAAK,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACtD,MAAM,SAAS,CAAC,UAAU,GAAG,MAAM,EAAE,MAAM,QAAQ,CAAC,UAAU,CAAC,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACpF,CAAC;IACD,MAAM,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;AACrC,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,SAAS,CAAC,SAAkB;IAChD,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAmB,UAAU,CAAC,CAAC;IAC3D,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IAExB,IAAI,SAAS,IAAI,KAAK,CAAC,SAAS,IAAI,KAAK,CAAC,SAAS,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAC/E,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,QAAgB,EAAE,KAAqB;IAC9E,MAAM,SAAS,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;AAC5C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,QAAgB;IACvD,OAAO,QAAQ,CAAiB,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;AACrD,CAAC"}
@@ -0,0 +1,17 @@
1
+ export declare const DEFAULT_MAX_ACCOUNTS = 10;
2
+ export declare const DEFAULT_MAX_BOTS_PER_SERVER = 5;
3
+ export declare const DEFAULT_COOLDOWN_MS = 60000;
4
+ export declare const DEFAULT_MAX_RECONNECTS = 20;
5
+ export interface BotCreationLimit {
6
+ allowed: boolean;
7
+ reason?: string;
8
+ remainingCooldownMs?: number;
9
+ }
10
+ export declare function checkBotCreationLimit(source: "cli" | "inline", options?: {
11
+ maxAccounts?: number;
12
+ maxBotsPerServer?: number;
13
+ cooldownMs?: number;
14
+ serverUrl?: string;
15
+ }): BotCreationLimit;
16
+ export declare function recordBotCreation(username: string, source: "cli" | "inline"): void;
17
+ //# sourceMappingURL=rate-limiter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rate-limiter.d.ts","sourceRoot":"","sources":["../../src/cli/rate-limiter.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,oBAAoB,KAAK,CAAC;AACvC,eAAO,MAAM,2BAA2B,IAAI,CAAC;AAC7C,eAAO,MAAM,mBAAmB,QAAS,CAAC;AAC1C,eAAO,MAAM,sBAAsB,KAAK,CAAC;AAsCzC,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAC9B;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,KAAK,GAAG,QAAQ,EACxB,OAAO,CAAC,EAAE;IACR,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB,GACA,gBAAgB,CAwClB;AAED,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,GAAG,QAAQ,GAAG,IAAI,CASlF"}
@@ -0,0 +1,78 @@
1
+ import { resolve, dirname } from "node:path";
2
+ import { homedir } from "node:os";
3
+ import { existsSync, readFileSync, writeFileSync, mkdirSync } from "node:fs";
4
+ import { readAllAccounts } from "./config-updater.js";
5
+ export const DEFAULT_MAX_ACCOUNTS = 10;
6
+ export const DEFAULT_MAX_BOTS_PER_SERVER = 5;
7
+ export const DEFAULT_COOLDOWN_MS = 60_000;
8
+ export const DEFAULT_MAX_RECONNECTS = 20;
9
+ const STATE_DIR = resolve(homedir(), ".openclaw", "rocketchat");
10
+ const STATE_FILE = resolve(STATE_DIR, "rate-limit.json");
11
+ function readState() {
12
+ if (!existsSync(STATE_FILE)) {
13
+ return { lastBotCreatedAt: 0, botCreations: [] };
14
+ }
15
+ try {
16
+ return JSON.parse(readFileSync(STATE_FILE, "utf-8"));
17
+ }
18
+ catch {
19
+ return { lastBotCreatedAt: 0, botCreations: [] };
20
+ }
21
+ }
22
+ function writeState(state) {
23
+ try {
24
+ mkdirSync(dirname(STATE_FILE), { recursive: true });
25
+ writeFileSync(STATE_FILE, JSON.stringify(state, null, 2), { mode: 0o600 });
26
+ }
27
+ catch {
28
+ // best-effort
29
+ }
30
+ }
31
+ function pruneOldEntries(entries, windowMs) {
32
+ const cutoff = Date.now() - windowMs;
33
+ return entries.filter((e) => e.timestamp > cutoff);
34
+ }
35
+ export function checkBotCreationLimit(source, options) {
36
+ const maxAccounts = options?.maxAccounts ?? DEFAULT_MAX_ACCOUNTS;
37
+ const maxBotsPerServer = options?.maxBotsPerServer ?? DEFAULT_MAX_BOTS_PER_SERVER;
38
+ const cooldownMs = options?.cooldownMs ?? DEFAULT_COOLDOWN_MS;
39
+ const serverUrl = options?.serverUrl;
40
+ const allAccounts = readAllAccounts();
41
+ if (allAccounts.length >= maxAccounts) {
42
+ return {
43
+ allowed: false,
44
+ reason: `Maximum ${maxAccounts} bot accounts reached. Remove an existing bot with !remove-bot or increase the limit in openclaw.json.`,
45
+ };
46
+ }
47
+ if (serverUrl) {
48
+ const botsForServer = allAccounts.filter((a) => a.serverUrl === serverUrl).length;
49
+ if (botsForServer >= maxBotsPerServer) {
50
+ return {
51
+ allowed: false,
52
+ reason: `Maximum ${maxBotsPerServer} bots per server reached for ${serverUrl}. Remove an existing bot or increase the limit.`,
53
+ };
54
+ }
55
+ }
56
+ const state = readState();
57
+ const recent = pruneOldEntries(state.botCreations, cooldownMs);
58
+ if (recent.length > 0) {
59
+ const lastEntry = recent[recent.length - 1];
60
+ const elapsed = Date.now() - lastEntry.timestamp;
61
+ if (elapsed < cooldownMs) {
62
+ return {
63
+ allowed: false,
64
+ reason: `Bot creation cooldown active. Wait ${Math.ceil((cooldownMs - elapsed) / 1000)}s or adjust cooldownMs in openclaw.json.`,
65
+ remainingCooldownMs: cooldownMs - elapsed,
66
+ };
67
+ }
68
+ }
69
+ return { allowed: true };
70
+ }
71
+ export function recordBotCreation(username, source) {
72
+ const state = readState();
73
+ const now = Date.now();
74
+ state.lastBotCreatedAt = now;
75
+ state.botCreations = pruneOldEntries([...state.botCreations, { timestamp: now, username, source }], 600_000);
76
+ writeState(state);
77
+ }
78
+ //# sourceMappingURL=rate-limiter.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rate-limiter.js","sourceRoot":"","sources":["../../src/cli/rate-limiter.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,2 @@
1
+ export declare function runSetup(): Promise<void>;
2
+ //# sourceMappingURL=setup.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"AAuGA,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAmP9C"}
@@ -0,0 +1,292 @@
1
+ import { resolve, dirname } from "node:path";
2
+ import { fileURLToPath } from "node:url";
3
+ import { homedir } from "node:os";
4
+ import { checkServerHealth, createDirectMessage, getUserInfo, getGroupByName, inviteToGroup, sendMessage, } from "./admin-api.js";
5
+ import { addBinding, ensureAgentForBot, isAgentBound, readAllAccounts, updateConfig, } from "./config-updater.js";
6
+ import { resolveAdminAuth } from "./auth.js";
7
+ import { resolveBotAuth } from "./bot.js";
8
+ import { color, normalizeRocketChatUrl, printNextSteps, printSummary, promptConfirm, promptSelect, promptText, prompts as p, showServerStatus, withSpinner, } from "./ui.js";
9
+ const __dirname = dirname(fileURLToPath(import.meta.url));
10
+ const PLUGIN_PATH = resolve(__dirname, "..", "..");
11
+ const OC_CONFIG_PATH = resolve(homedir(), ".openclaw", "openclaw.json");
12
+ const DOC_LINK = "https://openclaw.ai/docs/rocketchat";
13
+ async function promptServerUrl(defaultValue) {
14
+ const urlInput = await promptText({
15
+ message: "Rocket.Chat URL",
16
+ placeholder: "https://chat.example.com",
17
+ defaultValue,
18
+ validate: (value) => {
19
+ const normalized = normalizeRocketChatUrl(value ?? "");
20
+ if (!normalized)
21
+ return "Enter a valid http(s) URL";
22
+ return undefined;
23
+ },
24
+ });
25
+ const url = normalizeRocketChatUrl(urlInput);
26
+ const online = await showServerStatus(url, () => checkServerHealth(url));
27
+ if (!online) {
28
+ p.log.error("Rocket.Chat server is unreachable. Check the URL and try again.");
29
+ p.outro(color.dim("Setup aborted."));
30
+ process.exit(1);
31
+ }
32
+ return url;
33
+ }
34
+ async function promptAddToGroup(rcUrl, adminAuth, botUsername) {
35
+ p.log.step("Add to group");
36
+ while (true) {
37
+ const typedName = await promptText({
38
+ message: `Which group should @${botUsername} join? (leave empty to skip)`,
39
+ validate: () => undefined,
40
+ });
41
+ const trimmed = (typedName ?? "").trim();
42
+ if (!trimmed) {
43
+ p.log.info("Skipped group invite.");
44
+ return;
45
+ }
46
+ const group = await getGroupByName(rcUrl, adminAuth, trimmed);
47
+ if (!group) {
48
+ p.log.warn(`Group "${trimmed}" not found. Try again or leave empty to skip.`);
49
+ continue;
50
+ }
51
+ const confirm = await promptConfirm({
52
+ message: `Add @${botUsername} to #${group.name}?`,
53
+ initialValue: true,
54
+ });
55
+ if (!confirm)
56
+ return;
57
+ try {
58
+ await withSpinner("Inviting bot", () => inviteToGroup(rcUrl, adminAuth, group._id, botUsername, group.isPrivate ?? false));
59
+ p.log.success(`Added @${botUsername} to #${group.name}`);
60
+ }
61
+ catch (e) {
62
+ p.log.warn(`Could not add bot to group: ${e instanceof Error ? e.message : String(e)}`);
63
+ }
64
+ return;
65
+ }
66
+ }
67
+ export async function runSetup() {
68
+ p.intro(`${color.bgCyan(color.black(" OpenClaw "))} ${color.dim("×")} Rocket.Chat Setup`);
69
+ const allAccounts = readAllAccounts();
70
+ const serversMap = new Map();
71
+ for (const a of allAccounts) {
72
+ const list = serversMap.get(a.serverUrl) ?? [];
73
+ list.push(a);
74
+ serversMap.set(a.serverUrl, list);
75
+ }
76
+ const uniqueServers = [...serversMap.entries()].map(([url, accs]) => ({ url, accounts: accs }));
77
+ const hasExisting = uniqueServers.length > 0;
78
+ let action;
79
+ if (hasExisting) {
80
+ action = await promptSelect({
81
+ message: "What would you like to do?",
82
+ options: [
83
+ { value: "create", label: "Create new bot" },
84
+ { value: "relogin", label: "Login as different admin" },
85
+ { value: "delete", label: "Delete account data" },
86
+ { value: "cancel", label: "Exit" },
87
+ ],
88
+ });
89
+ }
90
+ else {
91
+ action = "create";
92
+ }
93
+ if (action === "cancel") {
94
+ p.outro(color.dim("Setup aborted."));
95
+ return;
96
+ }
97
+ if (action === "delete") {
98
+ p.note(`To delete account data, visit:\n${color.cyan(DOC_LINK)}`, "Delete account data");
99
+ p.outro(color.dim("Setup aborted."));
100
+ return;
101
+ }
102
+ let rcUrl;
103
+ let serverAccounts = null;
104
+ if (action === "create" || action === "relogin") {
105
+ if (uniqueServers.length > 1) {
106
+ const serverOptions = uniqueServers.map((s, i) => ({
107
+ value: String(i),
108
+ label: `${i + 1}. ${s.url} (${s.accounts.length} bot${s.accounts.length === 1 ? "" : "s"})`,
109
+ }));
110
+ serverOptions.push({
111
+ value: "new",
112
+ label: `${uniqueServers.length + 1}. New server`,
113
+ });
114
+ const choice = await promptSelect({
115
+ message: "Which server?",
116
+ options: serverOptions,
117
+ });
118
+ if (choice === "new") {
119
+ rcUrl = await promptServerUrl("http://localhost:3000");
120
+ }
121
+ else {
122
+ const selected = uniqueServers[Number(choice)];
123
+ rcUrl = selected.url;
124
+ serverAccounts = selected.accounts;
125
+ }
126
+ }
127
+ else if (uniqueServers.length === 1) {
128
+ rcUrl = uniqueServers[0].url;
129
+ serverAccounts = uniqueServers[0].accounts;
130
+ }
131
+ else {
132
+ rcUrl = await promptServerUrl("http://localhost:3000");
133
+ }
134
+ }
135
+ else {
136
+ rcUrl = await promptServerUrl("http://localhost:3000");
137
+ }
138
+ let adminAuth = null;
139
+ if (serverAccounts) {
140
+ const online = await showServerStatus(rcUrl, () => checkServerHealth(rcUrl));
141
+ if (!online) {
142
+ const recovery = await promptSelect({
143
+ message: "Saved server is unreachable. What would you like to do?",
144
+ options: [
145
+ { value: "newurl", label: "Enter a different Rocket.Chat URL" },
146
+ { value: "cancel", label: "Exit" },
147
+ ],
148
+ });
149
+ if (recovery === "cancel") {
150
+ p.outro(color.dim("Setup aborted."));
151
+ return;
152
+ }
153
+ rcUrl = await promptServerUrl("https://chat.example.com");
154
+ adminAuth = await resolveAdminAuth(rcUrl, true);
155
+ }
156
+ else if (action === "relogin") {
157
+ adminAuth = await resolveAdminAuth(rcUrl, true);
158
+ }
159
+ else {
160
+ adminAuth = await resolveAdminAuth(rcUrl);
161
+ }
162
+ }
163
+ if (!adminAuth) {
164
+ adminAuth = await resolveAdminAuth(rcUrl);
165
+ if (!adminAuth) {
166
+ p.log.error("Admin authentication failed. Setup aborted.");
167
+ return;
168
+ }
169
+ }
170
+ p.log.step("Bot account");
171
+ const botUsername = await promptText({
172
+ message: "Bot Rocket.Chat username",
173
+ placeholder: "rocketbot",
174
+ defaultValue: serverAccounts?.[0]?.mentionNames[0] ?? "rocketbot",
175
+ validate: (value) => {
176
+ const trimmed = (value ?? "").trim();
177
+ if (!trimmed)
178
+ return "Username is required";
179
+ if (!/^[a-zA-Z0-9._-]+$/.test(trimmed))
180
+ return "Use letters, numbers, dots, dashes, or underscores";
181
+ return undefined;
182
+ },
183
+ });
184
+ const botAuth = await resolveBotAuth(rcUrl, adminAuth, botUsername);
185
+ if (!botAuth) {
186
+ p.log.error("Bot authentication failed. Setup aborted.");
187
+ return;
188
+ }
189
+ const accountId = botUsername;
190
+ const dedicatedId = `rc-${accountId}`;
191
+ const mainAlreadyBound = isAgentBound("main");
192
+ const agentChoices = [];
193
+ if (!mainAlreadyBound) {
194
+ agentChoices.push({
195
+ value: "main",
196
+ label: "main (shared default agent)",
197
+ hint: "Recommended for the first bot",
198
+ });
199
+ }
200
+ agentChoices.push({
201
+ value: dedicatedId,
202
+ label: `${dedicatedId} (dedicated agent, auto-created)`,
203
+ hint: mainAlreadyBound ? "Recommended — isolates memory" : "Isolates memory per bot",
204
+ });
205
+ let chosenAgent;
206
+ if (agentChoices.length === 1) {
207
+ chosenAgent = agentChoices[0].value;
208
+ }
209
+ else {
210
+ chosenAgent =
211
+ (await promptSelect({
212
+ message: `Which agent should @${accountId} use?`,
213
+ options: agentChoices,
214
+ initialValue: "main",
215
+ })) ?? dedicatedId;
216
+ }
217
+ const agentResult = chosenAgent === "main"
218
+ ? { agentId: "main", created: false, fallback: false }
219
+ : ensureAgentForBot(accountId);
220
+ try {
221
+ await withSpinner("Sending welcome DM", async () => {
222
+ const dmRoomId = await createDirectMessage(rcUrl, adminAuth, botUsername);
223
+ await sendMessage(rcUrl, botAuth, dmRoomId, `Hi! I'm @${botUsername}, your new Rocket.Chat bot connected to OpenClaw (agent \`${agentResult.agentId}\`). ` +
224
+ `Once you see status online, confirm with \`!status\` or \`!help\` to know more.`);
225
+ });
226
+ p.log.success(`Welcome message sent to ${color.cyan(`@${botUsername}`)}`);
227
+ }
228
+ catch (e) {
229
+ p.log.warn(`Welcome message skipped: ${e instanceof Error ? e.message : String(e)}`);
230
+ }
231
+ let ownerUsername;
232
+ try {
233
+ ownerUsername = (await getUserInfo(rcUrl, adminAuth, { userId: adminAuth.userId }))?.username;
234
+ }
235
+ catch {
236
+ // owner can be set later in openclaw.json
237
+ }
238
+ try {
239
+ await withSpinner("Updating openclaw.json", async () => {
240
+ updateConfig({
241
+ pluginPath: PLUGIN_PATH,
242
+ pluginId: "rocketchat",
243
+ accountId,
244
+ serverUrl: rcUrl,
245
+ transport: { mode: "websocket" },
246
+ mentionNames: [botUsername],
247
+ auth: { mode: "token", userId: botAuth.userId, accessToken: botAuth.authToken },
248
+ replaceConnection: !serverAccounts || !serverAccounts.some((a) => a.serverUrl === rcUrl),
249
+ ...(ownerUsername ? { owner: ownerUsername } : {}),
250
+ });
251
+ });
252
+ p.log.success(`Updated ${color.cyan(OC_CONFIG_PATH)}`);
253
+ }
254
+ catch (e) {
255
+ p.log.warn(`Config update skipped: ${e instanceof Error ? e.message : String(e)}`);
256
+ }
257
+ if (agentResult.fallback) {
258
+ p.log.warn(`Could not auto-create dedicated agent 'rc-${accountId}'. Bound to 'main' — ` +
259
+ `memory is isolated per-bot via session keys, but shares the main agent workspace.`);
260
+ }
261
+ else if (agentResult.created) {
262
+ p.log.success(`agent — ${agentResult.agentId} (auto-created dedicated agent '${agentResult.agentId}')`);
263
+ }
264
+ else {
265
+ p.log.success(`agent — ${agentResult.agentId}`);
266
+ }
267
+ try {
268
+ addBinding({ channel: "rocketchat", accountId, agentId: agentResult.agentId });
269
+ p.log.success(`Bound @${botUsername} to agent '${agentResult.agentId}'`);
270
+ }
271
+ catch (e) {
272
+ p.log.warn(`Could not create binding: ${e instanceof Error ? e.message : String(e)}`);
273
+ }
274
+ const addToGroup = await promptConfirm({
275
+ message: `Add @${botUsername} to a Rocket.Chat group/channel?`,
276
+ initialValue: false,
277
+ });
278
+ if (addToGroup) {
279
+ await promptAddToGroup(rcUrl, adminAuth, botUsername);
280
+ }
281
+ printSummary([
282
+ { label: "Server", value: rcUrl },
283
+ { label: "Bot", value: `@${botUsername}` },
284
+ { label: "Config", value: OC_CONFIG_PATH },
285
+ { label: "Transport", value: "websocket" },
286
+ ]);
287
+ printNextSteps([
288
+ `Message ${color.cyan(`@${botUsername}`)} in Rocket.Chat — OpenClaw reloads the config automatically, so the bot comes online on its own`,
289
+ ]);
290
+ p.outro(color.green("Setup complete"));
291
+ }
292
+ //# sourceMappingURL=setup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../src/cli/setup.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ import * as p from "@clack/prompts";
2
+ import color from "picocolors";
3
+ export declare function normalizeRocketChatUrl(input: string): string | null;
4
+ export declare function isLocalRocketChatUrl(input: string): boolean;
5
+ export declare function handleCancel(value: unknown): never | void;
6
+ export declare function promptText(opts: Parameters<typeof p.text>[0]): Promise<string>;
7
+ type ValidateFn = (value: string | undefined) => string | Error | undefined;
8
+ export declare function promptPassword(opts: {
9
+ message: string;
10
+ validate?: ValidateFn | Parameters<typeof p.text>[0]["validate"];
11
+ }): Promise<string>;
12
+ export declare function promptPasswordConfirm(opts: Parameters<typeof p.text>[0]): Promise<string>;
13
+ export declare function promptTwoFactorCode(opts: {
14
+ message?: string;
15
+ method?: string;
16
+ allowEmpty?: boolean;
17
+ }): Promise<string>;
18
+ export declare function promptConfirm(opts: Parameters<typeof p.confirm>[0]): Promise<boolean>;
19
+ export declare function promptSelect<T>(opts: Parameters<typeof p.select>[0]): Promise<T>;
20
+ export declare function promptAutocomplete<T>(opts: Parameters<typeof p.autocomplete>[0]): Promise<T>;
21
+ export declare function promptAutocompleteMultiselect<T>(opts: Parameters<typeof p.autocompleteMultiselect>[0]): Promise<T[]>;
22
+ export declare function withSpinner<T>(message: string, task: () => Promise<T>): Promise<T>;
23
+ export declare function printSummary(rows: Array<{
24
+ label: string;
25
+ value: string;
26
+ }>): void;
27
+ export declare function printNextSteps(steps: string[]): void;
28
+ export declare function showServerStatus(url: string, check: () => Promise<boolean>): Promise<boolean>;
29
+ export { p as prompts, color };
30
+ //# sourceMappingURL=ui.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ui.d.ts","sourceRoot":"","sources":["../../src/cli/ui.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AACpC,OAAO,KAAK,MAAM,YAAY,CAAC;AAI/B,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAenE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAQ3D;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,GAAG,IAAI,CAKzD;AAED,wBAAsB,UAAU,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAIpF;AAmBD,KAAK,UAAU,GAAG,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,KAAK,MAAM,GAAG,KAAK,GAAG,SAAS,CAAC;AA8D5E,wBAAsB,cAAc,CAAC,IAAI,EAAE;IACzC,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,UAAU,GAAG,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC;CAClE,GAAG,OAAO,CAAC,MAAM,CAAC,CAQlB;AAED,wBAAsB,qBAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,MAAM,CAAC,CAe/F;AAED,wBAAsB,mBAAmB,CAAC,IAAI,EAAE;IAC9C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB,GAAG,OAAO,CAAC,MAAM,CAAC,CAkBlB;AAED,wBAAsB,aAAa,CAAC,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,CAI3F;AAED,wBAAsB,YAAY,CAAC,CAAC,EAAE,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAItF;AAED,wBAAsB,kBAAkB,CAAC,CAAC,EACxC,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,GACzC,OAAO,CAAC,CAAC,CAAC,CAIZ;AAED,wBAAsB,6BAA6B,CAAC,CAAC,EACnD,IAAI,EAAE,UAAU,CAAC,OAAO,CAAC,CAAC,uBAAuB,CAAC,CAAC,CAAC,CAAC,GACpD,OAAO,CAAC,CAAC,EAAE,CAAC,CAId;AAED,wBAAsB,WAAW,CAAC,CAAC,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC,CAWxF;AAED,wBAAgB,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC,GAAG,IAAI,CAGhF;AAED,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,IAAI,CAEpD;AAED,wBAAsB,gBAAgB,CACpC,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,MAAM,OAAO,CAAC,OAAO,CAAC,GAC5B,OAAO,CAAC,OAAO,CAAC,CAQlB;AAED,OAAO,EAAE,CAAC,IAAI,OAAO,EAAE,KAAK,EAAE,CAAC"}