botmux 2.82.0 → 2.82.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.
Files changed (97) hide show
  1. package/dist/adapters/backend/tmux-backend.d.ts +30 -6
  2. package/dist/adapters/backend/tmux-backend.d.ts.map +1 -1
  3. package/dist/adapters/backend/tmux-backend.js +40 -6
  4. package/dist/adapters/backend/tmux-backend.js.map +1 -1
  5. package/dist/adapters/backend/zellij-backend.d.ts +11 -0
  6. package/dist/adapters/backend/zellij-backend.d.ts.map +1 -1
  7. package/dist/adapters/backend/zellij-backend.js +16 -0
  8. package/dist/adapters/backend/zellij-backend.js.map +1 -1
  9. package/dist/adapters/cli/relay.d.ts +16 -22
  10. package/dist/adapters/cli/relay.d.ts.map +1 -1
  11. package/dist/adapters/cli/relay.js +27 -42
  12. package/dist/adapters/cli/relay.js.map +1 -1
  13. package/dist/adapters/cli/seed.d.ts.map +1 -1
  14. package/dist/adapters/cli/seed.js +4 -1
  15. package/dist/adapters/cli/seed.js.map +1 -1
  16. package/dist/adapters/cli/traex.d.ts.map +1 -1
  17. package/dist/adapters/cli/traex.js +4 -1
  18. package/dist/adapters/cli/traex.js.map +1 -1
  19. package/dist/bot-registry.d.ts +12 -0
  20. package/dist/bot-registry.d.ts.map +1 -1
  21. package/dist/bot-registry.js +5 -0
  22. package/dist/bot-registry.js.map +1 -1
  23. package/dist/cli.d.ts.map +1 -1
  24. package/dist/cli.js +1 -84
  25. package/dist/cli.js.map +1 -1
  26. package/dist/config.d.ts +17 -0
  27. package/dist/config.d.ts.map +1 -1
  28. package/dist/config.js +31 -0
  29. package/dist/config.js.map +1 -1
  30. package/dist/core/command-handler.d.ts.map +1 -1
  31. package/dist/core/command-handler.js +8 -2
  32. package/dist/core/command-handler.js.map +1 -1
  33. package/dist/core/cost-calculator.js +2 -2
  34. package/dist/core/dashboard-ipc-server.d.ts.map +1 -1
  35. package/dist/core/dashboard-ipc-server.js +47 -1
  36. package/dist/core/dashboard-ipc-server.js.map +1 -1
  37. package/dist/core/idle-worker-sweeper.d.ts +30 -4
  38. package/dist/core/idle-worker-sweeper.d.ts.map +1 -1
  39. package/dist/core/idle-worker-sweeper.js +32 -12
  40. package/dist/core/idle-worker-sweeper.js.map +1 -1
  41. package/dist/core/persistent-backend.d.ts +12 -0
  42. package/dist/core/persistent-backend.d.ts.map +1 -1
  43. package/dist/core/persistent-backend.js +18 -0
  44. package/dist/core/persistent-backend.js.map +1 -1
  45. package/dist/core/session-manager.d.ts.map +1 -1
  46. package/dist/core/session-manager.js +37 -4
  47. package/dist/core/session-manager.js.map +1 -1
  48. package/dist/core/worker-pool.d.ts.map +1 -1
  49. package/dist/core/worker-pool.js +18 -1
  50. package/dist/core/worker-pool.js.map +1 -1
  51. package/dist/daemon.d.ts.map +1 -1
  52. package/dist/daemon.js +7 -3
  53. package/dist/daemon.js.map +1 -1
  54. package/dist/dashboard/web/bot-defaults.d.ts.map +1 -1
  55. package/dist/dashboard/web/bot-defaults.js +100 -1
  56. package/dist/dashboard/web/bot-defaults.js.map +1 -1
  57. package/dist/dashboard/web/i18n.d.ts.map +1 -1
  58. package/dist/dashboard/web/i18n.js +18 -0
  59. package/dist/dashboard/web/i18n.js.map +1 -1
  60. package/dist/dashboard-web/app.js +371 -354
  61. package/dist/dashboard.js +20 -0
  62. package/dist/dashboard.js.map +1 -1
  63. package/dist/global-config.d.ts +0 -7
  64. package/dist/global-config.d.ts.map +1 -1
  65. package/dist/global-config.js +0 -21
  66. package/dist/global-config.js.map +1 -1
  67. package/dist/i18n/en.js +2 -2
  68. package/dist/i18n/en.js.map +1 -1
  69. package/dist/i18n/zh.js +2 -2
  70. package/dist/i18n/zh.js.map +1 -1
  71. package/dist/im/lark/card-handler.d.ts.map +1 -1
  72. package/dist/im/lark/card-handler.js +3 -1
  73. package/dist/im/lark/card-handler.js.map +1 -1
  74. package/dist/services/bot-config-store.d.ts +4 -4
  75. package/dist/services/bot-config-store.d.ts.map +1 -1
  76. package/dist/services/bot-config-store.js +5 -0
  77. package/dist/services/bot-config-store.js.map +1 -1
  78. package/dist/services/git-worktree.d.ts +19 -4
  79. package/dist/services/git-worktree.d.ts.map +1 -1
  80. package/dist/services/git-worktree.js +47 -2
  81. package/dist/services/git-worktree.js.map +1 -1
  82. package/dist/services/worktree-slug-ai.d.ts +3 -0
  83. package/dist/services/worktree-slug-ai.d.ts.map +1 -0
  84. package/dist/services/worktree-slug-ai.js +80 -0
  85. package/dist/services/worktree-slug-ai.js.map +1 -0
  86. package/dist/skills/definitions.d.ts.map +1 -1
  87. package/dist/skills/definitions.js +4 -25
  88. package/dist/skills/definitions.js.map +1 -1
  89. package/dist/types.d.ts +10 -0
  90. package/dist/types.d.ts.map +1 -1
  91. package/dist/worker.js +10 -2
  92. package/dist/worker.js.map +1 -1
  93. package/package.json +1 -1
  94. package/dist/core/worker-budget.d.ts +0 -19
  95. package/dist/core/worker-budget.d.ts.map +0 -1
  96. package/dist/core/worker-budget.js +0 -50
  97. package/dist/core/worker-budget.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "botmux",
3
- "version": "2.82.0",
3
+ "version": "2.82.1",
4
4
  "description": "Bridge between IM platforms and AI coding CLIs — one topic, one CLI session with live streaming",
5
5
  "type": "module",
6
6
  "main": "dist/index-daemon.js",
@@ -1,19 +0,0 @@
1
- import type { WorkerConfig } from '../global-config.js';
2
- export declare const MIN_AUTO_MAX_LIVE_WORKERS = 4;
3
- export declare const MAX_AUTO_MAX_LIVE_WORKERS = 32;
4
- export declare const DEFAULT_IDLE_SUSPEND_MS: number;
5
- export interface WorkerResources {
6
- cpuCount: number;
7
- memoryBytes: number;
8
- }
9
- export interface ResolvedWorkerBudget {
10
- maxLiveWorkers: number;
11
- idleSuspendMs: number;
12
- autoMaxLiveWorkers: number;
13
- maxLiveWorkersSource: 'auto' | 'config';
14
- idleSuspendMsSource: 'default' | 'config';
15
- }
16
- export declare function detectWorkerResources(): WorkerResources;
17
- export declare function autoMaxLiveWorkers(resources?: WorkerResources): number;
18
- export declare function resolveWorkerBudget(workerConfig?: WorkerConfig, resources?: WorkerResources): ResolvedWorkerBudget;
19
- //# sourceMappingURL=worker-budget.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"worker-budget.d.ts","sourceRoot":"","sources":["../../src/core/worker-budget.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAExD,eAAO,MAAM,yBAAyB,IAAI,CAAC;AAC3C,eAAO,MAAM,yBAAyB,KAAK,CAAC;AAC5C,eAAO,MAAM,uBAAuB,QAAc,CAAC;AAEnD,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,cAAc,EAAE,MAAM,CAAC;IACvB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,oBAAoB,EAAE,MAAM,GAAG,QAAQ,CAAC;IACxC,mBAAmB,EAAE,SAAS,GAAG,QAAQ,CAAC;CAC3C;AAwBD,wBAAgB,qBAAqB,IAAI,eAAe,CAMvD;AAED,wBAAgB,kBAAkB,CAAC,SAAS,GAAE,eAAyC,GAAG,MAAM,CAI/F;AAED,wBAAgB,mBAAmB,CACjC,YAAY,CAAC,EAAE,YAAY,EAC3B,SAAS,GAAE,eAAyC,GACnD,oBAAoB,CAStB"}
@@ -1,50 +0,0 @@
1
- import { existsSync, readFileSync } from 'node:fs';
2
- import { availableParallelism, totalmem } from 'node:os';
3
- export const MIN_AUTO_MAX_LIVE_WORKERS = 4;
4
- export const MAX_AUTO_MAX_LIVE_WORKERS = 32;
5
- export const DEFAULT_IDLE_SUSPEND_MS = 30 * 60_000;
6
- function clamp(n, min, max) {
7
- return Math.max(min, Math.min(max, n));
8
- }
9
- function readMemoryLimitFile(path) {
10
- if (!existsSync(path))
11
- return undefined;
12
- const raw = readFileSync(path, 'utf-8').trim();
13
- if (!raw || raw === 'max')
14
- return undefined;
15
- const n = Number(raw);
16
- return Number.isFinite(n) && n > 0 ? n : undefined;
17
- }
18
- function cgroupMemoryLimitBytes(hostMemoryBytes) {
19
- const limits = [
20
- readMemoryLimitFile('/sys/fs/cgroup/memory.max'),
21
- readMemoryLimitFile('/sys/fs/cgroup/memory/memory.limit_in_bytes'),
22
- ].filter((n) => n !== undefined);
23
- if (limits.length === 0)
24
- return undefined;
25
- const limit = Math.min(...limits);
26
- return limit < hostMemoryBytes ? limit : undefined;
27
- }
28
- export function detectWorkerResources() {
29
- const hostMemoryBytes = totalmem();
30
- return {
31
- cpuCount: Math.max(1, availableParallelism?.() ?? 1),
32
- memoryBytes: cgroupMemoryLimitBytes(hostMemoryBytes) ?? hostMemoryBytes,
33
- };
34
- }
35
- export function autoMaxLiveWorkers(resources = detectWorkerResources()) {
36
- const cpuBudget = Math.max(1, resources.cpuCount) * 2;
37
- const memoryBudget = Math.max(1, Math.round(resources.memoryBytes / 1024 ** 3));
38
- return clamp(Math.min(cpuBudget, memoryBudget), MIN_AUTO_MAX_LIVE_WORKERS, MAX_AUTO_MAX_LIVE_WORKERS);
39
- }
40
- export function resolveWorkerBudget(workerConfig, resources = detectWorkerResources()) {
41
- const auto = autoMaxLiveWorkers(resources);
42
- return {
43
- maxLiveWorkers: workerConfig?.maxLiveWorkers ?? auto,
44
- idleSuspendMs: workerConfig?.idleSuspendMs ?? DEFAULT_IDLE_SUSPEND_MS,
45
- autoMaxLiveWorkers: auto,
46
- maxLiveWorkersSource: workerConfig?.maxLiveWorkers === undefined ? 'auto' : 'config',
47
- idleSuspendMsSource: workerConfig?.idleSuspendMs === undefined ? 'default' : 'config',
48
- };
49
- }
50
- //# sourceMappingURL=worker-budget.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"worker-budget.js","sourceRoot":"","sources":["../../src/core/worker-budget.ts"],"names":[],"mappings":"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"}