agentlas 1.0.12 → 1.0.15

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 (54) hide show
  1. package/CHANGELOG.md +53 -0
  2. package/README.md +4 -2
  3. package/bin/agentlas.cjs +17 -3
  4. package/engine/agentlas-cloud-runtime.cjs +8 -2
  5. package/engine/agentlas-config.cjs +25 -18
  6. package/engine/agentlas-core-harness.cjs +14 -1
  7. package/engine/agentlas-i18n.cjs +2 -0
  8. package/engine/agentlas-input.cjs +1 -1
  9. package/engine/agentlas-memory-governance.cjs +10 -0
  10. package/engine/agentlas-onboard.cjs +22 -5
  11. package/engine/agentlas-sqlite-policy.cjs +18 -7
  12. package/engine/agentlas-workforce.cjs +136 -19
  13. package/engine/agentlas-workload-routing.cjs +32 -4
  14. package/engine/agentlas.cjs +8 -0
  15. package/engine/automation/daemon.cjs +67 -30
  16. package/engine/automation/schedule.cjs +16 -0
  17. package/engine/automation/store.cjs +70 -12
  18. package/engine/bootstrap-schema.sql +788 -53
  19. package/engine/cloud-assets/cas.cjs +7 -2
  20. package/engine/cloud-assets/commands.cjs +2 -0
  21. package/engine/cloud-assets/package.cjs +49 -1
  22. package/engine/cloud-assets/state.cjs +35 -0
  23. package/engine/commands/automation.cjs +8 -0
  24. package/engine/commands/chats.cjs +6 -1
  25. package/engine/commands/firm.cjs +7 -0
  26. package/engine/commands/help.cjs +23 -2
  27. package/engine/commands/hep-cloud.cjs +31 -0
  28. package/engine/commands/hep-hub.cjs +30 -0
  29. package/engine/commands/hep-local.cjs +32 -0
  30. package/engine/commands/hep-network.cjs +43 -0
  31. package/engine/commands/index.cjs +38 -7
  32. package/engine/commands/open.cjs +5 -1
  33. package/engine/commands/run.cjs +12 -2
  34. package/engine/commands/setup.cjs +12 -11
  35. package/engine/commands/storm.cjs +5 -9
  36. package/engine/commands/swarm.cjs +4 -4
  37. package/engine/commands/uninstall.cjs +36 -2
  38. package/engine/commands/version.cjs +29 -0
  39. package/engine/commands/workforce.cjs +10 -10
  40. package/engine/core/schema-ensure.cjs +75 -0
  41. package/engine/experience/variant.cjs +46 -2
  42. package/engine/hephaestus/runtime.cjs +7 -0
  43. package/engine/memory-cli/curate.cjs +3 -7
  44. package/engine/project/memory-context.cjs +3 -7
  45. package/engine/project/state.cjs +7 -6
  46. package/engine/sessions/orchestrator.cjs +41 -3
  47. package/engine/sessions/prompt.cjs +4 -7
  48. package/engine/sessions/session.cjs +32 -0
  49. package/engine/storm/swarm.cjs +12 -0
  50. package/engine/ui/palette.cjs +14 -2
  51. package/engine/ui/renderer.cjs +37 -0
  52. package/engine/ui/repl.cjs +7 -1
  53. package/engine/workforce/concurrency.cjs +41 -0
  54. package/package.json +1 -1
@@ -0,0 +1,41 @@
1
+ "use strict";
2
+ /*
3
+ * workforce/concurrency — 워크포스 워커 동시 실행 수(스웜 크기)의 사양 기반 추천값.
4
+ *
5
+ * 워커 1명 = captureRuntime을 통해 스폰되는 실제 CLI 자식 프로세스(engine/workforce/
6
+ * capture.cjs)다. 이전에는 사용자가 --parallel/-n을 안 주면 컴퓨터 사양과 무관하게
7
+ * 고정 3(상한 8)을 썼다 — 코어 2개짜리 저사양 기기에서 3개 CLI 자식이 한꺼번에 뜨면
8
+ * 과다 산정, 32코어 워크스테이션에서도 항상 3으로 저평가되는 양방향 문제였다.
9
+ *
10
+ * 데스크탑(electron/store/concurrency.ts)과 동일한 원리(코어 2개는 OS/자식 자신에게
11
+ * 남기고, 에이전트당 RAM ~2GB + 여유 4GB로 추정)를 쓰되, 상한(HARD_MAX)은 터미널
12
+ * 자체의 기존 안전선(8)을 그대로 유지한다 — 이건 provider가 바뀌어도 변하지 않는
13
+ * Agentlas 자체 정책 상수이지, 하드코딩 금지 대상인 "외부에서 바뀌는 값"이 아니다.
14
+ */
15
+ const os = require("node:os");
16
+
17
+ const HARD_MAX = 8;
18
+
19
+ function getSystemSpecs() {
20
+ let cores = 4;
21
+ let totalMemGB = 8;
22
+ try {
23
+ cores = Math.max(1, os.cpus().length);
24
+ } catch {
25
+ // fall back
26
+ }
27
+ try {
28
+ totalMemGB = os.totalmem() / 1024 ** 3;
29
+ } catch {
30
+ // fall back
31
+ }
32
+ return { cores, totalMemGB };
33
+ }
34
+
35
+ function recommendedConcurrency(specs = getSystemSpecs()) {
36
+ const coreBound = Math.max(1, specs.cores - 2);
37
+ const memBound = Math.max(1, Math.floor((specs.totalMemGB - 4) / 2));
38
+ return Math.max(1, Math.min(coreBound, memBound, HARD_MAX));
39
+ }
40
+
41
+ module.exports = { HARD_MAX, getSystemSpecs, recommendedConcurrency };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agentlas",
3
- "version": "1.0.12",
3
+ "version": "1.0.15",
4
4
  "description": "Agentlas agent terminal — chat with your installed AI agents and teams from the terminal, Claude Code style. Standalone: no desktop app required.",
5
5
  "bin": {
6
6
  "agentlas": "bin/agentlas.cjs"