botschat 0.1.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.
- package/LICENSE +201 -0
- package/README.md +213 -0
- package/migrations/0001_initial.sql +88 -0
- package/migrations/0002_rename_projects_to_channels.sql +53 -0
- package/migrations/0003_messages.sql +14 -0
- package/migrations/0004_jobs.sql +15 -0
- package/migrations/0005_deleted_cron_jobs.sql +6 -0
- package/migrations/0006_tasks_add_model.sql +2 -0
- package/migrations/0007_sessions.sql +25 -0
- package/migrations/0008_remove_openclaw_fields.sql +8 -0
- package/package.json +53 -0
- package/packages/api/package.json +17 -0
- package/packages/api/src/do/connection-do.ts +929 -0
- package/packages/api/src/env.ts +8 -0
- package/packages/api/src/index.ts +297 -0
- package/packages/api/src/routes/agents.ts +68 -0
- package/packages/api/src/routes/auth.ts +105 -0
- package/packages/api/src/routes/channels.ts +185 -0
- package/packages/api/src/routes/jobs.ts +65 -0
- package/packages/api/src/routes/models.ts +22 -0
- package/packages/api/src/routes/pairing.ts +76 -0
- package/packages/api/src/routes/projects.ts +177 -0
- package/packages/api/src/routes/sessions.ts +171 -0
- package/packages/api/src/routes/tasks.ts +375 -0
- package/packages/api/src/routes/upload.ts +52 -0
- package/packages/api/src/utils/auth.ts +101 -0
- package/packages/api/src/utils/id.ts +19 -0
- package/packages/api/tsconfig.json +18 -0
- package/packages/plugin/dist/index.d.ts +19 -0
- package/packages/plugin/dist/index.d.ts.map +1 -0
- package/packages/plugin/dist/index.js +17 -0
- package/packages/plugin/dist/index.js.map +1 -0
- package/packages/plugin/dist/src/accounts.d.ts +12 -0
- package/packages/plugin/dist/src/accounts.d.ts.map +1 -0
- package/packages/plugin/dist/src/accounts.js +103 -0
- package/packages/plugin/dist/src/accounts.js.map +1 -0
- package/packages/plugin/dist/src/channel.d.ts +206 -0
- package/packages/plugin/dist/src/channel.d.ts.map +1 -0
- package/packages/plugin/dist/src/channel.js +1248 -0
- package/packages/plugin/dist/src/channel.js.map +1 -0
- package/packages/plugin/dist/src/runtime.d.ts +3 -0
- package/packages/plugin/dist/src/runtime.d.ts.map +1 -0
- package/packages/plugin/dist/src/runtime.js +18 -0
- package/packages/plugin/dist/src/runtime.js.map +1 -0
- package/packages/plugin/dist/src/types.d.ts +179 -0
- package/packages/plugin/dist/src/types.d.ts.map +1 -0
- package/packages/plugin/dist/src/types.js +6 -0
- package/packages/plugin/dist/src/types.js.map +1 -0
- package/packages/plugin/dist/src/ws-client.d.ts +51 -0
- package/packages/plugin/dist/src/ws-client.d.ts.map +1 -0
- package/packages/plugin/dist/src/ws-client.js +170 -0
- package/packages/plugin/dist/src/ws-client.js.map +1 -0
- package/packages/plugin/openclaw.plugin.json +11 -0
- package/packages/plugin/package.json +39 -0
- package/packages/plugin/tsconfig.json +20 -0
- package/packages/web/dist/assets/index-C-wI8eHy.css +1 -0
- package/packages/web/dist/assets/index-CbPEKHLG.js +93 -0
- package/packages/web/dist/index.html +17 -0
- package/packages/web/index.html +16 -0
- package/packages/web/package.json +29 -0
- package/packages/web/postcss.config.js +6 -0
- package/packages/web/src/App.tsx +827 -0
- package/packages/web/src/api.ts +242 -0
- package/packages/web/src/components/ChatWindow.tsx +864 -0
- package/packages/web/src/components/CronDetail.tsx +943 -0
- package/packages/web/src/components/CronSidebar.tsx +123 -0
- package/packages/web/src/components/DebugLogPanel.tsx +258 -0
- package/packages/web/src/components/IconRail.tsx +163 -0
- package/packages/web/src/components/JobList.tsx +120 -0
- package/packages/web/src/components/LoginPage.tsx +178 -0
- package/packages/web/src/components/MessageContent.tsx +1082 -0
- package/packages/web/src/components/ModelSelect.tsx +87 -0
- package/packages/web/src/components/ScheduleEditor.tsx +403 -0
- package/packages/web/src/components/SessionTabs.tsx +246 -0
- package/packages/web/src/components/Sidebar.tsx +331 -0
- package/packages/web/src/components/TaskBar.tsx +413 -0
- package/packages/web/src/components/ThreadPanel.tsx +212 -0
- package/packages/web/src/debug-log.ts +58 -0
- package/packages/web/src/index.css +170 -0
- package/packages/web/src/main.tsx +10 -0
- package/packages/web/src/store.ts +492 -0
- package/packages/web/src/ws.ts +99 -0
- package/packages/web/tailwind.config.js +65 -0
- package/packages/web/tsconfig.json +18 -0
- package/packages/web/vite.config.ts +20 -0
- package/scripts/dev.sh +122 -0
- package/tsconfig.json +18 -0
- package/wrangler.toml +40 -0
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
const DEFAULT_ACCOUNT_ID = "default";
|
|
2
|
+
/** Extract the botschat section from the full config. */
|
|
3
|
+
function section(cfg) {
|
|
4
|
+
const c = cfg;
|
|
5
|
+
return c?.channels?.botschat ?? {};
|
|
6
|
+
}
|
|
7
|
+
/** List all configured account IDs. */
|
|
8
|
+
export function listBotsChatAccountIds(cfg) {
|
|
9
|
+
const s = section(cfg);
|
|
10
|
+
const ids = [];
|
|
11
|
+
// Top-level counts as "default" if it has cloudUrl
|
|
12
|
+
if (s.cloudUrl) {
|
|
13
|
+
ids.push(DEFAULT_ACCOUNT_ID);
|
|
14
|
+
}
|
|
15
|
+
// Named accounts
|
|
16
|
+
if (s.accounts) {
|
|
17
|
+
for (const id of Object.keys(s.accounts)) {
|
|
18
|
+
if (id !== DEFAULT_ACCOUNT_ID || !s.cloudUrl) {
|
|
19
|
+
ids.push(id);
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
return ids.length > 0 ? ids : [DEFAULT_ACCOUNT_ID];
|
|
24
|
+
}
|
|
25
|
+
/** Resolve default account ID. */
|
|
26
|
+
export function resolveDefaultBotsChatAccountId(cfg) {
|
|
27
|
+
const ids = listBotsChatAccountIds(cfg);
|
|
28
|
+
return ids[0] ?? DEFAULT_ACCOUNT_ID;
|
|
29
|
+
}
|
|
30
|
+
/** Resolve a single account by ID. */
|
|
31
|
+
export function resolveBotsChatAccount(cfg, accountId) {
|
|
32
|
+
const s = section(cfg);
|
|
33
|
+
const id = accountId ?? resolveDefaultBotsChatAccountId(cfg);
|
|
34
|
+
let acct;
|
|
35
|
+
if (id === DEFAULT_ACCOUNT_ID || !s.accounts?.[id]) {
|
|
36
|
+
// Use top-level config
|
|
37
|
+
acct = {
|
|
38
|
+
enabled: s.enabled,
|
|
39
|
+
name: s.name,
|
|
40
|
+
cloudUrl: s.cloudUrl,
|
|
41
|
+
pairingToken: s.pairingToken,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
else {
|
|
45
|
+
acct = s.accounts[id];
|
|
46
|
+
}
|
|
47
|
+
const cloudUrl = acct.cloudUrl ?? "";
|
|
48
|
+
const pairingToken = acct.pairingToken ?? "";
|
|
49
|
+
return {
|
|
50
|
+
accountId: id,
|
|
51
|
+
name: acct.name,
|
|
52
|
+
enabled: acct.enabled !== false,
|
|
53
|
+
configured: !!cloudUrl && !!pairingToken,
|
|
54
|
+
cloudUrl,
|
|
55
|
+
pairingToken,
|
|
56
|
+
config: acct,
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
/** Delete an account from config, returning the updated config. */
|
|
60
|
+
export function deleteBotsChatAccount(cfg, accountId) {
|
|
61
|
+
const c = cfg;
|
|
62
|
+
const botschat = { ...c?.channels?.botschat };
|
|
63
|
+
if (accountId === DEFAULT_ACCOUNT_ID) {
|
|
64
|
+
delete botschat.cloudUrl;
|
|
65
|
+
delete botschat.pairingToken;
|
|
66
|
+
delete botschat.name;
|
|
67
|
+
botschat.enabled = false;
|
|
68
|
+
}
|
|
69
|
+
else if (botschat.accounts) {
|
|
70
|
+
const accounts = { ...botschat.accounts };
|
|
71
|
+
delete accounts[accountId];
|
|
72
|
+
botschat.accounts = accounts;
|
|
73
|
+
}
|
|
74
|
+
return {
|
|
75
|
+
...c,
|
|
76
|
+
channels: {
|
|
77
|
+
...c.channels,
|
|
78
|
+
botschat,
|
|
79
|
+
},
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
/** Enable or disable an account, returning updated config. */
|
|
83
|
+
export function setBotsChatAccountEnabled(cfg, accountId, enabled) {
|
|
84
|
+
const c = cfg;
|
|
85
|
+
const botschat = { ...c?.channels?.botschat };
|
|
86
|
+
if (accountId === DEFAULT_ACCOUNT_ID) {
|
|
87
|
+
botschat.enabled = enabled;
|
|
88
|
+
}
|
|
89
|
+
else if (botschat.accounts) {
|
|
90
|
+
botschat.accounts = {
|
|
91
|
+
...botschat.accounts,
|
|
92
|
+
[accountId]: { ...botschat.accounts[accountId], enabled },
|
|
93
|
+
};
|
|
94
|
+
}
|
|
95
|
+
return {
|
|
96
|
+
...c,
|
|
97
|
+
channels: {
|
|
98
|
+
...c.channels,
|
|
99
|
+
botschat,
|
|
100
|
+
},
|
|
101
|
+
};
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=accounts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../src/accounts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,206 @@
|
|
|
1
|
+
import type { ResolvedBotsChatAccount } from "./types.js";
|
|
2
|
+
import { BotsChatCloudClient } from "./ws-client.js";
|
|
3
|
+
export declare const botschatPlugin: {
|
|
4
|
+
readonly id: "botschat";
|
|
5
|
+
readonly meta: {
|
|
6
|
+
readonly id: "botschat";
|
|
7
|
+
readonly label: "BotsChat";
|
|
8
|
+
readonly selectionLabel: "BotsChat (cloud)";
|
|
9
|
+
readonly docsPath: "/channels/botschat";
|
|
10
|
+
readonly docsLabel: "botschat";
|
|
11
|
+
readonly blurb: "Cloud-based multi-channel chat interface";
|
|
12
|
+
readonly order: 80;
|
|
13
|
+
readonly quickstartAllowFrom: false;
|
|
14
|
+
};
|
|
15
|
+
readonly capabilities: {
|
|
16
|
+
readonly chatTypes: string[];
|
|
17
|
+
readonly polls: false;
|
|
18
|
+
readonly reactions: false;
|
|
19
|
+
readonly threads: true;
|
|
20
|
+
readonly media: true;
|
|
21
|
+
};
|
|
22
|
+
readonly agentPrompt: {
|
|
23
|
+
readonly messageToolHints: () => string[];
|
|
24
|
+
};
|
|
25
|
+
readonly reload: {
|
|
26
|
+
readonly configPrefixes: readonly ["channels.botschat"];
|
|
27
|
+
};
|
|
28
|
+
readonly config: {
|
|
29
|
+
readonly listAccountIds: (cfg: unknown) => string[];
|
|
30
|
+
readonly resolveAccount: (cfg: unknown, accountId?: string | null) => ResolvedBotsChatAccount;
|
|
31
|
+
readonly defaultAccountId: (cfg: unknown) => string;
|
|
32
|
+
readonly setAccountEnabled: ({ cfg, accountId, enabled }: {
|
|
33
|
+
cfg: unknown;
|
|
34
|
+
accountId: string;
|
|
35
|
+
enabled: boolean;
|
|
36
|
+
}) => unknown;
|
|
37
|
+
readonly deleteAccount: ({ cfg, accountId }: {
|
|
38
|
+
cfg: unknown;
|
|
39
|
+
accountId: string;
|
|
40
|
+
}) => unknown;
|
|
41
|
+
readonly isConfigured: (account: ResolvedBotsChatAccount) => boolean;
|
|
42
|
+
readonly isEnabled: (account: ResolvedBotsChatAccount) => boolean;
|
|
43
|
+
readonly describeAccount: (account: ResolvedBotsChatAccount) => {
|
|
44
|
+
accountId: string;
|
|
45
|
+
name: string | undefined;
|
|
46
|
+
enabled: boolean;
|
|
47
|
+
configured: boolean;
|
|
48
|
+
baseUrl: string;
|
|
49
|
+
};
|
|
50
|
+
};
|
|
51
|
+
readonly outbound: {
|
|
52
|
+
readonly deliveryMode: "direct";
|
|
53
|
+
readonly sendText: (ctx: {
|
|
54
|
+
to: string;
|
|
55
|
+
text: string;
|
|
56
|
+
replyToId?: string | null;
|
|
57
|
+
threadId?: string | number | null;
|
|
58
|
+
accountId?: string | null;
|
|
59
|
+
}) => Promise<{
|
|
60
|
+
ok: boolean;
|
|
61
|
+
error: Error;
|
|
62
|
+
} | {
|
|
63
|
+
ok: boolean;
|
|
64
|
+
error?: undefined;
|
|
65
|
+
}>;
|
|
66
|
+
readonly sendMedia: (ctx: {
|
|
67
|
+
to: string;
|
|
68
|
+
text: string;
|
|
69
|
+
mediaUrl?: string;
|
|
70
|
+
accountId?: string | null;
|
|
71
|
+
}) => Promise<{
|
|
72
|
+
ok: boolean;
|
|
73
|
+
error: Error;
|
|
74
|
+
} | {
|
|
75
|
+
ok: boolean;
|
|
76
|
+
error?: undefined;
|
|
77
|
+
}>;
|
|
78
|
+
};
|
|
79
|
+
readonly gateway: {
|
|
80
|
+
readonly startAccount: (ctx: {
|
|
81
|
+
cfg: unknown;
|
|
82
|
+
accountId: string;
|
|
83
|
+
account: ResolvedBotsChatAccount;
|
|
84
|
+
runtime: unknown;
|
|
85
|
+
abortSignal: AbortSignal;
|
|
86
|
+
log?: {
|
|
87
|
+
info: (m: string) => void;
|
|
88
|
+
warn: (m: string) => void;
|
|
89
|
+
error: (m: string) => void;
|
|
90
|
+
};
|
|
91
|
+
getStatus: () => Record<string, unknown>;
|
|
92
|
+
setStatus: (s: Record<string, unknown>) => void;
|
|
93
|
+
}) => Promise<BotsChatCloudClient | undefined>;
|
|
94
|
+
readonly stopAccount: (ctx: {
|
|
95
|
+
accountId: string;
|
|
96
|
+
getStatus: () => Record<string, unknown>;
|
|
97
|
+
setStatus: (s: Record<string, unknown>) => void;
|
|
98
|
+
}) => Promise<void>;
|
|
99
|
+
};
|
|
100
|
+
readonly threading: {
|
|
101
|
+
readonly resolveReplyToMode: () => "all";
|
|
102
|
+
readonly buildToolContext: ({ context, hasRepliedRef }: {
|
|
103
|
+
context: {
|
|
104
|
+
To?: string;
|
|
105
|
+
MessageThreadId?: string | number;
|
|
106
|
+
ReplyToId?: string;
|
|
107
|
+
};
|
|
108
|
+
hasRepliedRef?: {
|
|
109
|
+
value: boolean;
|
|
110
|
+
};
|
|
111
|
+
}) => {
|
|
112
|
+
currentChannelId: string | undefined;
|
|
113
|
+
currentChannelProvider: string;
|
|
114
|
+
currentThreadTs: string | undefined;
|
|
115
|
+
hasRepliedRef: {
|
|
116
|
+
value: boolean;
|
|
117
|
+
} | undefined;
|
|
118
|
+
};
|
|
119
|
+
};
|
|
120
|
+
readonly pairing: {
|
|
121
|
+
readonly idLabel: "botsChatUserId";
|
|
122
|
+
readonly normalizeAllowEntry: (entry: string) => string;
|
|
123
|
+
};
|
|
124
|
+
readonly security: {
|
|
125
|
+
readonly resolveDmPolicy: (_ctx: {
|
|
126
|
+
account: ResolvedBotsChatAccount;
|
|
127
|
+
}) => {
|
|
128
|
+
policy: string;
|
|
129
|
+
allowFrom: string[];
|
|
130
|
+
policyPath: string;
|
|
131
|
+
allowFromPath: string;
|
|
132
|
+
approveHint: string;
|
|
133
|
+
};
|
|
134
|
+
};
|
|
135
|
+
readonly setup: {
|
|
136
|
+
readonly applyAccountConfig: ({ cfg, input }: {
|
|
137
|
+
cfg: unknown;
|
|
138
|
+
accountId: string;
|
|
139
|
+
input: {
|
|
140
|
+
url?: string;
|
|
141
|
+
token?: string;
|
|
142
|
+
name?: string;
|
|
143
|
+
useEnv?: boolean;
|
|
144
|
+
};
|
|
145
|
+
}) => {
|
|
146
|
+
channels: {
|
|
147
|
+
botschat: {
|
|
148
|
+
name?: string;
|
|
149
|
+
enabled: boolean;
|
|
150
|
+
cloudUrl: string;
|
|
151
|
+
pairingToken: string;
|
|
152
|
+
accounts?: Record<string, import("./types.js").BotsChatAccountConfig>;
|
|
153
|
+
};
|
|
154
|
+
};
|
|
155
|
+
};
|
|
156
|
+
readonly validateInput: ({ input }: {
|
|
157
|
+
cfg: unknown;
|
|
158
|
+
accountId: string;
|
|
159
|
+
input: {
|
|
160
|
+
url?: string;
|
|
161
|
+
token?: string;
|
|
162
|
+
useEnv?: boolean;
|
|
163
|
+
};
|
|
164
|
+
}) => "BotsChat requires --url (e.g., --url botschat.app)" | "BotsChat requires --token (pairing token from botschat.app dashboard)" | null;
|
|
165
|
+
};
|
|
166
|
+
readonly status: {
|
|
167
|
+
readonly defaultRuntime: {
|
|
168
|
+
readonly accountId: "default";
|
|
169
|
+
readonly running: false;
|
|
170
|
+
readonly connected: false;
|
|
171
|
+
readonly lastStartAt: null;
|
|
172
|
+
readonly lastStopAt: null;
|
|
173
|
+
readonly lastError: null;
|
|
174
|
+
};
|
|
175
|
+
readonly buildAccountSnapshot: ({ account, runtime }: {
|
|
176
|
+
account: ResolvedBotsChatAccount;
|
|
177
|
+
cfg: unknown;
|
|
178
|
+
runtime?: Record<string, unknown>;
|
|
179
|
+
}) => {
|
|
180
|
+
accountId: string;
|
|
181
|
+
name: string | undefined;
|
|
182
|
+
enabled: boolean;
|
|
183
|
+
configured: boolean;
|
|
184
|
+
baseUrl: string;
|
|
185
|
+
running: boolean;
|
|
186
|
+
connected: boolean;
|
|
187
|
+
lastStartAt: number;
|
|
188
|
+
lastStopAt: number;
|
|
189
|
+
lastError: string;
|
|
190
|
+
lastConnectedAt: number;
|
|
191
|
+
lastDisconnect: {} | null;
|
|
192
|
+
};
|
|
193
|
+
readonly collectStatusIssues: (accounts: Array<{
|
|
194
|
+
accountId: string;
|
|
195
|
+
lastError?: string | null;
|
|
196
|
+
connected?: boolean;
|
|
197
|
+
configured?: boolean;
|
|
198
|
+
}>) => {
|
|
199
|
+
channel: string;
|
|
200
|
+
accountId: string;
|
|
201
|
+
kind: string;
|
|
202
|
+
message: string;
|
|
203
|
+
}[];
|
|
204
|
+
};
|
|
205
|
+
};
|
|
206
|
+
//# sourceMappingURL=channel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"channel.d.ts","sourceRoot":"","sources":["../../src/channel.ts"],"names":[],"mappings":"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"}
|