beecork 1.4.10 → 1.5.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 (66) hide show
  1. package/dist/channels/admin.d.ts +10 -0
  2. package/dist/channels/admin.js +20 -0
  3. package/dist/channels/command-handler.d.ts +2 -10
  4. package/dist/channels/command-handler.js +47 -73
  5. package/dist/channels/discord.d.ts +1 -3
  6. package/dist/channels/discord.js +28 -28
  7. package/dist/channels/loader.js +0 -1
  8. package/dist/channels/send-helpers.d.ts +19 -0
  9. package/dist/channels/send-helpers.js +21 -0
  10. package/dist/channels/telegram.d.ts +1 -9
  11. package/dist/channels/telegram.js +46 -71
  12. package/dist/channels/types.d.ts +2 -10
  13. package/dist/channels/voice-state.d.ts +29 -0
  14. package/dist/channels/voice-state.js +43 -0
  15. package/dist/channels/webhook.d.ts +1 -1
  16. package/dist/channels/webhook.js +68 -24
  17. package/dist/channels/whatsapp.d.ts +1 -3
  18. package/dist/channels/whatsapp.js +79 -74
  19. package/dist/cli/doctor.js +5 -2
  20. package/dist/cli/handoff.js +6 -6
  21. package/dist/config.d.ts +5 -1
  22. package/dist/config.js +17 -14
  23. package/dist/daemon.js +29 -17
  24. package/dist/dashboard/html.js +20 -8
  25. package/dist/dashboard/routes.d.ts +17 -0
  26. package/dist/dashboard/routes.js +559 -0
  27. package/dist/dashboard/server.js +33 -488
  28. package/dist/db/index.js +16 -2
  29. package/dist/db/migrations.js +44 -8
  30. package/dist/mcp/handlers.d.ts +37 -0
  31. package/dist/mcp/handlers.js +451 -0
  32. package/dist/mcp/server.js +25 -849
  33. package/dist/mcp/tool-definitions.d.ts +1225 -0
  34. package/dist/mcp/tool-definitions.js +364 -0
  35. package/dist/media/index.d.ts +2 -7
  36. package/dist/media/index.js +1 -1
  37. package/dist/observability/analytics.d.ts +7 -1
  38. package/dist/observability/analytics.js +25 -7
  39. package/dist/projects/index.d.ts +3 -2
  40. package/dist/projects/index.js +2 -2
  41. package/dist/projects/manager.d.ts +1 -3
  42. package/dist/projects/manager.js +26 -25
  43. package/dist/projects/router.d.ts +10 -0
  44. package/dist/projects/router.js +28 -0
  45. package/dist/session/manager.d.ts +4 -0
  46. package/dist/session/manager.js +48 -42
  47. package/dist/session/subprocess.d.ts +1 -0
  48. package/dist/session/subprocess.js +21 -0
  49. package/dist/session/tab-store.d.ts +28 -0
  50. package/dist/session/tab-store.js +77 -0
  51. package/dist/tasks/scheduler.d.ts +6 -0
  52. package/dist/tasks/scheduler.js +52 -13
  53. package/dist/tasks/store.js +6 -6
  54. package/dist/timeline/query.js +6 -2
  55. package/dist/types.d.ts +15 -0
  56. package/dist/util/paths.d.ts +1 -0
  57. package/dist/util/paths.js +4 -1
  58. package/dist/util/rate-limiter.js +8 -0
  59. package/dist/util/text.d.ts +21 -1
  60. package/dist/util/text.js +25 -1
  61. package/dist/watchers/scheduler.js +2 -3
  62. package/package.json +1 -1
  63. package/dist/users/index.d.ts +0 -2
  64. package/dist/users/index.js +0 -1
  65. package/dist/users/service.d.ts +0 -17
  66. package/dist/users/service.js +0 -46
@@ -1,2 +0,0 @@
1
- export { resolveUser, registerUser, linkIdentity, listUsers, hasAdmin } from './service.js';
2
- export type { User } from './service.js';
@@ -1 +0,0 @@
1
- export { resolveUser, registerUser, linkIdentity, listUsers, hasAdmin } from './service.js';
@@ -1,17 +0,0 @@
1
- export interface User {
2
- id: string;
3
- name: string;
4
- role: 'admin' | 'user';
5
- budgetUsd: number | null;
6
- createdAt: string;
7
- }
8
- /** Get or create a user from a channel identity */
9
- export declare function resolveUser(channelId: string, peerId: string): User | null;
10
- /** Register a new user */
11
- export declare function registerUser(name: string, channelId: string, peerId: string, role?: 'admin' | 'user'): User;
12
- /** Link an additional channel identity to an existing user */
13
- export declare function linkIdentity(userId: string, channelId: string, peerId: string): boolean;
14
- /** Get all users */
15
- export declare function listUsers(): User[];
16
- /** Check if any admin exists */
17
- export declare function hasAdmin(): boolean;
@@ -1,46 +0,0 @@
1
- import { v4 as uuidv4 } from 'uuid';
2
- import { getDb } from '../db/index.js';
3
- import { logger } from '../util/logger.js';
4
- function rowToUser(row) {
5
- return { id: row.id, name: row.name, role: row.role, budgetUsd: row.budget_usd, createdAt: row.created_at };
6
- }
7
- /** Get or create a user from a channel identity */
8
- export function resolveUser(channelId, peerId) {
9
- const db = getDb();
10
- const identity = db.prepare('SELECT user_id FROM identities WHERE channel_id = ? AND peer_id = ?').get(channelId, peerId);
11
- if (!identity)
12
- return null;
13
- const row = db.prepare('SELECT * FROM users WHERE id = ?').get(identity.user_id);
14
- return row ? rowToUser(row) : null;
15
- }
16
- /** Register a new user */
17
- export function registerUser(name, channelId, peerId, role = 'user') {
18
- const db = getDb();
19
- const id = uuidv4();
20
- db.prepare('INSERT INTO users (id, name, role) VALUES (?, ?, ?)').run(id, name, role);
21
- db.prepare('INSERT INTO identities (user_id, channel_id, peer_id) VALUES (?, ?, ?)').run(id, channelId, peerId);
22
- logger.info(`User registered: ${name} (${role}) via ${channelId}:${peerId}`);
23
- return { id, name, role, budgetUsd: null, createdAt: new Date().toISOString() };
24
- }
25
- /** Link an additional channel identity to an existing user */
26
- export function linkIdentity(userId, channelId, peerId) {
27
- const db = getDb();
28
- try {
29
- db.prepare('INSERT INTO identities (user_id, channel_id, peer_id) VALUES (?, ?, ?)').run(userId, channelId, peerId);
30
- return true;
31
- }
32
- catch {
33
- return false; // Already linked or conflict
34
- }
35
- }
36
- /** Get all users */
37
- export function listUsers() {
38
- const db = getDb();
39
- return db.prepare('SELECT * FROM users ORDER BY created_at').all().map(rowToUser);
40
- }
41
- /** Check if any admin exists */
42
- export function hasAdmin() {
43
- const db = getDb();
44
- const row = db.prepare("SELECT COUNT(*) as c FROM users WHERE role = 'admin'").get();
45
- return row.c > 0;
46
- }