@chrysb/alphaclaw 0.8.3-beta.5 → 0.8.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.
|
@@ -266,7 +266,7 @@ export const kProviderOrder = [
|
|
|
266
266
|
"vllm",
|
|
267
267
|
];
|
|
268
268
|
|
|
269
|
-
export const kCoreProviders = new Set(["anthropic", "openai", "google"]);
|
|
269
|
+
export const kCoreProviders = new Set(["anthropic", "openai", "google", "openrouter"]);
|
|
270
270
|
|
|
271
271
|
export const kProviderFeatures = {
|
|
272
272
|
anthropic: ["Agent Model"],
|
package/lib/server/slack-api.js
CHANGED
|
@@ -233,6 +233,72 @@ const createSlackApi = (getToken) => {
|
|
|
233
233
|
});
|
|
234
234
|
};
|
|
235
235
|
|
|
236
|
+
/**
|
|
237
|
+
* Update an existing message
|
|
238
|
+
* @param {string} channel - Channel ID
|
|
239
|
+
* @param {string} timestamp - Message timestamp
|
|
240
|
+
* @param {string} text - New message text
|
|
241
|
+
* @returns {Promise<object>} Update response
|
|
242
|
+
* @requires chat:write OAuth scope
|
|
243
|
+
*/
|
|
244
|
+
const updateMessage = (channel, timestamp, text) => {
|
|
245
|
+
return call("chat.update", {
|
|
246
|
+
channel,
|
|
247
|
+
ts: timestamp,
|
|
248
|
+
text: String(text || ""),
|
|
249
|
+
});
|
|
250
|
+
};
|
|
251
|
+
|
|
252
|
+
/**
|
|
253
|
+
* Delete a message
|
|
254
|
+
* @param {string} channel - Channel ID
|
|
255
|
+
* @param {string} timestamp - Message timestamp
|
|
256
|
+
* @requires chat:write OAuth scope
|
|
257
|
+
*/
|
|
258
|
+
const deleteMessage = (channel, timestamp) => {
|
|
259
|
+
return call("chat.delete", { channel, ts: timestamp });
|
|
260
|
+
};
|
|
261
|
+
|
|
262
|
+
/**
|
|
263
|
+
* Pin a message to a channel
|
|
264
|
+
* @param {string} channel - Channel ID
|
|
265
|
+
* @param {string} timestamp - Message timestamp
|
|
266
|
+
* @requires pins:write OAuth scope
|
|
267
|
+
*/
|
|
268
|
+
const pinMessage = (channel, timestamp) => {
|
|
269
|
+
return call("pins.add", { channel, timestamp });
|
|
270
|
+
};
|
|
271
|
+
|
|
272
|
+
/**
|
|
273
|
+
* Unpin a message from a channel
|
|
274
|
+
* @param {string} channel - Channel ID
|
|
275
|
+
* @param {string} timestamp - Message timestamp
|
|
276
|
+
* @requires pins:write OAuth scope
|
|
277
|
+
*/
|
|
278
|
+
const unpinMessage = (channel, timestamp) => {
|
|
279
|
+
return call("pins.remove", { channel, timestamp });
|
|
280
|
+
};
|
|
281
|
+
|
|
282
|
+
/**
|
|
283
|
+
* Get user information
|
|
284
|
+
* @param {string} userId - User ID
|
|
285
|
+
* @returns {Promise<object>} User info (name, real_name, email, etc.)
|
|
286
|
+
* @requires users:read OAuth scope
|
|
287
|
+
*/
|
|
288
|
+
const getUserInfo = (userId) => {
|
|
289
|
+
return call("users.info", { user: userId });
|
|
290
|
+
};
|
|
291
|
+
|
|
292
|
+
/**
|
|
293
|
+
* Get channel information
|
|
294
|
+
* @param {string} channelId - Channel ID
|
|
295
|
+
* @returns {Promise<object>} Channel info (name, topic, purpose, etc.)
|
|
296
|
+
* @requires channels:read or groups:read OAuth scope (depending on channel type)
|
|
297
|
+
*/
|
|
298
|
+
const getChannelInfo = (channelId) => {
|
|
299
|
+
return call("conversations.info", { channel: channelId });
|
|
300
|
+
};
|
|
301
|
+
|
|
236
302
|
return {
|
|
237
303
|
authTest,
|
|
238
304
|
postMessage,
|
|
@@ -241,6 +307,12 @@ const createSlackApi = (getToken) => {
|
|
|
241
307
|
removeReaction,
|
|
242
308
|
uploadFile,
|
|
243
309
|
uploadTextSnippet,
|
|
310
|
+
updateMessage,
|
|
311
|
+
deleteMessage,
|
|
312
|
+
pinMessage,
|
|
313
|
+
unpinMessage,
|
|
314
|
+
getUserInfo,
|
|
315
|
+
getChannelInfo,
|
|
244
316
|
};
|
|
245
317
|
};
|
|
246
318
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@chrysb/alphaclaw",
|
|
3
|
-
"version": "0.8.3
|
|
3
|
+
"version": "0.8.3",
|
|
4
4
|
"publishConfig": {
|
|
5
5
|
"access": "public"
|
|
6
6
|
},
|
|
@@ -36,7 +36,7 @@
|
|
|
36
36
|
"dependencies": {
|
|
37
37
|
"express": "^4.21.0",
|
|
38
38
|
"http-proxy": "^1.18.1",
|
|
39
|
-
"openclaw": "
|
|
39
|
+
"openclaw": "2026.3.28",
|
|
40
40
|
"patch-package": "^8.0.1",
|
|
41
41
|
"ws": "^8.19.0"
|
|
42
42
|
},
|
|
@@ -1,50 +0,0 @@
|
|
|
1
|
-
### Prioritized Implementation Order
|
|
2
|
-
|
|
3
|
-
1. **[P0 | S] Unify toast type mapping in one place so callers consistently use semantic levels.**
|
|
4
|
-
- [x] Update `lib/public/js/components/toast.js` (`showToast`, `ToastContainer`) to normalize legacy values.
|
|
5
|
-
- [x] Normalize highest-impact callers first: `lib/public/js/components/providers.js`, `lib/public/js/components/models.js`, `lib/public/js/components/google.js`, `lib/public/js/components/gateway.js`, `lib/public/js/components/envars.js`, `lib/public/js/components/webhooks.js`.
|
|
6
|
-
- Current inconsistency snapshot:
|
|
7
|
-
- Legacy color callers: `lib/public/js/components/providers.js`, `lib/public/js/components/models.js`, `lib/public/js/components/google.js`.
|
|
8
|
-
- Semantic callers: `lib/public/js/components/envars.js`, `lib/public/js/components/webhooks.js`, `lib/public/js/components/gateway.js`, `lib/public/js/components/telegram-workspace.js`.
|
|
9
|
-
|
|
10
|
-
2. **[P0 | M] Add a shared restart banner component (and/or restart hook) for restart-required flows.**
|
|
11
|
-
- [x] Extract shared banner + handler state from: `lib/public/js/components/envars.js`, `lib/public/js/components/providers.js`, `lib/public/js/components/webhooks.js`.
|
|
12
|
-
- [x] Keep `restartGateway` integration aligned with existing gateway action UI in `lib/public/js/components/gateway.js`.
|
|
13
|
-
- Current inconsistency snapshot:
|
|
14
|
-
- Duplicate banner + state + handler logic in the same 3 files above.
|
|
15
|
-
|
|
16
|
-
3. **[P1 | S] Add a small shared loading spinner component to replace repeated inline SVG.**
|
|
17
|
-
- [x] Replace inline spinners in: `lib/public/js/app.js`, `lib/public/js/components/providers.js`, `lib/public/js/components/models.js`, `lib/public/js/components/onboarding/welcome-setup-step.js`.
|
|
18
|
-
- [x] Evaluate whether `lib/public/js/components/update-action-button.js` should consume the shared spinner as well.
|
|
19
|
-
- Current inconsistency snapshot:
|
|
20
|
-
- Spinner markup shape and sizing differ slightly by file.
|
|
21
|
-
|
|
22
|
-
4. **[P1 | M] Standardize button styles around `ac-btn-*` + common disabled treatment.**
|
|
23
|
-
- [x] Convert ad-hoc utility button patterns in: `lib/public/js/components/pairings.js` (Reject), `lib/public/js/components/device-pairings.js` (Reject), `lib/public/js/components/webhooks.js` (Create/Delete), `lib/public/js/components/google.js` (disconnect action), `lib/public/js/components/providers.js` (Codex reconnect/disconnect/restart).
|
|
24
|
-
- [x] Align onboarding variants in: `lib/public/js/components/onboarding/welcome-setup-step.js`, `lib/public/js/components/onboarding/welcome-form-step.js`, `lib/public/js/components/onboarding/welcome-pairing-step.js`.
|
|
25
|
-
- Current inconsistency snapshot:
|
|
26
|
-
- Mixed custom classes vs ad-hoc border utility buttons.
|
|
27
|
-
|
|
28
|
-
5. **[P1 | S] Normalize disabled opacity usage to one convention.**
|
|
29
|
-
- [x] Standardize `opacity-50` vs `opacity-60` in:
|
|
30
|
-
- `lib/public/js/components/envars.js`
|
|
31
|
-
- `lib/public/js/components/providers.js`
|
|
32
|
-
- `lib/public/js/components/webhooks.js`
|
|
33
|
-
- `lib/public/js/components/telegram-workspace.js`
|
|
34
|
-
- `lib/public/js/components/onboarding/welcome-setup-step.js`
|
|
35
|
-
- `lib/public/js/components/onboarding/welcome-pairing-step.js`
|
|
36
|
-
- Current inconsistency snapshot:
|
|
37
|
-
- `opacity-50` and `opacity-60` both used for disabled states.
|
|
38
|
-
|
|
39
|
-
6. **[P2 | M] Consider a shared action button wrapper for common save/create/delete states.**
|
|
40
|
-
- [x] Evaluate extraction points in: `lib/public/js/components/envars.js`, `lib/public/js/components/providers.js`, `lib/public/js/components/webhooks.js`, `lib/public/js/components/models.js`, `lib/public/js/components/pairings.js`, `lib/public/js/components/device-pairings.js`.
|
|
41
|
-
- Current inconsistency snapshot:
|
|
42
|
-
- Repeated action-label + loading-label + disabled-guard patterns.
|
|
43
|
-
|
|
44
|
-
7. **[P2 | M] Extract a shared modal shell wrapper for non-confirm custom modals.**
|
|
45
|
-
- [x] Factor shared overlay/panel shell from:
|
|
46
|
-
- `lib/public/js/components/webhooks.js` (`CreateWebhookModal`)
|
|
47
|
-
- `lib/public/js/components/credentials-modal.js`
|
|
48
|
-
- [x] Keep parity with `lib/public/js/components/confirm-dialog.js` behavior (overlay click + Escape semantics).
|
|
49
|
-
- Current inconsistency snapshot:
|
|
50
|
-
- Same modal shell classes/structure repeated with minor differences.
|