@visorcraft/idlehands 1.4.6 → 2.0.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 (180) hide show
  1. package/dist/agent/constants.js +12 -0
  2. package/dist/agent/constants.js.map +1 -0
  3. package/dist/agent/context-budget.js +103 -0
  4. package/dist/agent/context-budget.js.map +1 -0
  5. package/dist/agent/errors.js +8 -0
  6. package/dist/agent/errors.js.map +1 -0
  7. package/dist/agent/exec-helpers.js +105 -0
  8. package/dist/agent/exec-helpers.js.map +1 -0
  9. package/dist/agent/model-pick.js +21 -0
  10. package/dist/agent/model-pick.js.map +1 -0
  11. package/dist/agent/session-utils.js +63 -0
  12. package/dist/agent/session-utils.js.map +1 -0
  13. package/dist/agent/subagent-context.js +78 -0
  14. package/dist/agent/subagent-context.js.map +1 -0
  15. package/dist/agent/tool-loop-detection.js +91 -20
  16. package/dist/agent/tool-loop-detection.js.map +1 -1
  17. package/dist/agent/tool-loop-guard.js.map +1 -1
  18. package/dist/agent/tool-policy.js +54 -0
  19. package/dist/agent/tool-policy.js.map +1 -0
  20. package/dist/agent/tools-schema.js +281 -0
  21. package/dist/agent/tools-schema.js.map +1 -0
  22. package/dist/agent.js +191 -641
  23. package/dist/agent.js.map +1 -1
  24. package/dist/anton/controller.js +235 -163
  25. package/dist/anton/controller.js.map +1 -1
  26. package/dist/anton/lint-baseline.js +64 -0
  27. package/dist/anton/lint-baseline.js.map +1 -0
  28. package/dist/anton/preflight.js +7 -0
  29. package/dist/anton/preflight.js.map +1 -1
  30. package/dist/anton/prompt.js +71 -71
  31. package/dist/anton/reporter.js.map +1 -1
  32. package/dist/anton/runtime-ready.js +120 -0
  33. package/dist/anton/runtime-ready.js.map +1 -0
  34. package/dist/anton/session.js +7 -1
  35. package/dist/anton/session.js.map +1 -1
  36. package/dist/anton/verifier-utils.js +148 -0
  37. package/dist/anton/verifier-utils.js.map +1 -0
  38. package/dist/anton/verifier.js +26 -227
  39. package/dist/anton/verifier.js.map +1 -1
  40. package/dist/bot/anton-auto-pin.js +12 -0
  41. package/dist/bot/anton-auto-pin.js.map +1 -0
  42. package/dist/bot/anton-commands.js +137 -0
  43. package/dist/bot/anton-commands.js.map +1 -0
  44. package/dist/bot/anton-run.js +155 -0
  45. package/dist/bot/anton-run.js.map +1 -0
  46. package/dist/bot/anton-status-format.js +18 -0
  47. package/dist/bot/anton-status-format.js.map +1 -0
  48. package/dist/bot/basic-commands.js +114 -0
  49. package/dist/bot/basic-commands.js.map +1 -0
  50. package/dist/bot/command-format.js.map +1 -1
  51. package/dist/bot/command-logic.js +8 -728
  52. package/dist/bot/command-logic.js.map +1 -1
  53. package/dist/bot/commands.js +18 -1
  54. package/dist/bot/commands.js.map +1 -1
  55. package/dist/bot/discord-anton-autopin.js +29 -0
  56. package/dist/bot/discord-anton-autopin.js.map +1 -0
  57. package/dist/bot/discord-anton.js +45 -0
  58. package/dist/bot/discord-anton.js.map +1 -0
  59. package/dist/bot/discord-commands.js +20 -52
  60. package/dist/bot/discord-commands.js.map +1 -1
  61. package/dist/bot/discord-result.js +9 -0
  62. package/dist/bot/discord-result.js.map +1 -0
  63. package/dist/bot/discord-routing.js.map +1 -1
  64. package/dist/bot/discord.js +55 -12
  65. package/dist/bot/discord.js.map +1 -1
  66. package/dist/bot/escalation-commands.js +145 -0
  67. package/dist/bot/escalation-commands.js.map +1 -0
  68. package/dist/bot/escalation.js.map +1 -1
  69. package/dist/bot/format.js +0 -5
  70. package/dist/bot/format.js.map +1 -1
  71. package/dist/bot/git-status-command.js +28 -0
  72. package/dist/bot/git-status-command.js.map +1 -0
  73. package/dist/bot/model-endpoint.js +25 -0
  74. package/dist/bot/model-endpoint.js.map +1 -0
  75. package/dist/bot/session-history.js +61 -0
  76. package/dist/bot/session-history.js.map +1 -0
  77. package/dist/bot/session-settings.js +89 -0
  78. package/dist/bot/session-settings.js.map +1 -0
  79. package/dist/bot/telegram-commands.js +15 -7
  80. package/dist/bot/telegram-commands.js.map +1 -1
  81. package/dist/bot/telegram.js +15 -29
  82. package/dist/bot/telegram.js.map +1 -1
  83. package/dist/cli/agent-turn.js +8 -2
  84. package/dist/cli/agent-turn.js.map +1 -1
  85. package/dist/cli/commands/anton.js +6 -1
  86. package/dist/cli/commands/anton.js.map +1 -1
  87. package/dist/cli/commands/model.js +1 -3
  88. package/dist/cli/commands/model.js.map +1 -1
  89. package/dist/cli/commands/project.js +1 -1
  90. package/dist/cli/commands/project.js.map +1 -1
  91. package/dist/cli/commands/secrets.js +1 -1
  92. package/dist/cli/commands/secrets.js.map +1 -1
  93. package/dist/cli/commands/session.js +22 -12
  94. package/dist/cli/commands/session.js.map +1 -1
  95. package/dist/cli/guided-onboarding.js +20 -0
  96. package/dist/cli/guided-onboarding.js.map +1 -0
  97. package/dist/cli/runtime-cmds.js +8 -133
  98. package/dist/cli/runtime-cmds.js.map +1 -1
  99. package/dist/cli/runtime-common.js +35 -0
  100. package/dist/cli/runtime-common.js.map +1 -0
  101. package/dist/cli/runtime-detect.js +12 -0
  102. package/dist/cli/runtime-detect.js.map +1 -0
  103. package/dist/cli/runtime-host-command.js +7 -0
  104. package/dist/cli/runtime-host-command.js.map +1 -0
  105. package/dist/cli/runtime-probe-defaults.js +63 -0
  106. package/dist/cli/runtime-probe-defaults.js.map +1 -0
  107. package/dist/cli/runtime-scan-ports.js +30 -0
  108. package/dist/cli/runtime-scan-ports.js.map +1 -0
  109. package/dist/cli/setup-bot-step.js +51 -0
  110. package/dist/cli/setup-bot-step.js.map +1 -0
  111. package/dist/cli/setup-runtime-forms.js +214 -0
  112. package/dist/cli/setup-runtime-forms.js.map +1 -0
  113. package/dist/cli/setup-style.js +8 -0
  114. package/dist/cli/setup-style.js.map +1 -0
  115. package/dist/cli/setup-ui.js +146 -0
  116. package/dist/cli/setup-ui.js.map +1 -0
  117. package/dist/cli/setup.js +11 -449
  118. package/dist/cli/setup.js.map +1 -1
  119. package/dist/client/error-utils.js +37 -0
  120. package/dist/client/error-utils.js.map +1 -0
  121. package/dist/client/pressure.js +77 -0
  122. package/dist/client/pressure.js.map +1 -0
  123. package/dist/client.js +24 -122
  124. package/dist/client.js.map +1 -1
  125. package/dist/config.js +31 -14
  126. package/dist/config.js.map +1 -1
  127. package/dist/git.js +8 -2
  128. package/dist/git.js.map +1 -1
  129. package/dist/history.js +418 -0
  130. package/dist/history.js.map +1 -1
  131. package/dist/hooks/types.js.map +1 -1
  132. package/dist/index.js.map +1 -1
  133. package/dist/progress/message-edit-scheduler.js.map +1 -1
  134. package/dist/progress/turn-progress.js.map +1 -1
  135. package/dist/runtime/executor.js +4 -1
  136. package/dist/runtime/executor.js.map +1 -1
  137. package/dist/runtime/health.js.map +1 -1
  138. package/dist/runtime/host-runner.js.map +1 -1
  139. package/dist/safety.js +3 -2
  140. package/dist/safety.js.map +1 -1
  141. package/dist/shared/config-utils.js.map +1 -1
  142. package/dist/tools/exec-core.js +252 -0
  143. package/dist/tools/exec-core.js.map +1 -0
  144. package/dist/tools/exec-pty.js +89 -0
  145. package/dist/tools/exec-pty.js.map +1 -0
  146. package/dist/tools/exec-utils.js +94 -0
  147. package/dist/tools/exec-utils.js.map +1 -0
  148. package/dist/tools/file-discovery.js +144 -0
  149. package/dist/tools/file-discovery.js.map +1 -0
  150. package/dist/tools/file-mutations.js +326 -0
  151. package/dist/tools/file-mutations.js.map +1 -0
  152. package/dist/tools/file-read.js +133 -0
  153. package/dist/tools/file-read.js.map +1 -0
  154. package/dist/tools/patch-apply.js +168 -0
  155. package/dist/tools/patch-apply.js.map +1 -0
  156. package/dist/tools/path-safety.js.map +1 -1
  157. package/dist/tools/replay-utils.js +25 -0
  158. package/dist/tools/replay-utils.js.map +1 -0
  159. package/dist/tools/search-utils.js +55 -0
  160. package/dist/tools/search-utils.js.map +1 -0
  161. package/dist/tools/sys-notes.js +34 -0
  162. package/dist/tools/sys-notes.js.map +1 -0
  163. package/dist/tools/text-utils.js +164 -0
  164. package/dist/tools/text-utils.js.map +1 -0
  165. package/dist/tools/undo.js +1 -1
  166. package/dist/tools/undo.js.map +1 -1
  167. package/dist/tools/vault-tools.js +36 -0
  168. package/dist/tools/vault-tools.js.map +1 -0
  169. package/dist/tools.js +19 -1460
  170. package/dist/tools.js.map +1 -1
  171. package/dist/tui/controller.js +5 -2
  172. package/dist/tui/controller.js.map +1 -1
  173. package/dist/tui/render.js.map +1 -1
  174. package/dist/utils.js +2 -2
  175. package/dist/utils.js.map +1 -1
  176. package/dist/vault.js +134 -1
  177. package/dist/vault.js.map +1 -1
  178. package/dist/watchdog.js +1 -3
  179. package/dist/watchdog.js.map +1 -1
  180. package/package.json +2 -1
@@ -1,47 +1,14 @@
1
1
  import { spawnSync } from 'node:child_process';
2
- import path from 'node:path';
3
2
  import { stdin as input, stdout as output } from 'node:process';
4
3
  import readline from 'node:readline/promises';
5
4
  import { probeModelsEndpoint, waitForModelsReady } from '../runtime/health.js';
6
5
  import { loadRuntimes, saveRuntimes, validateRuntimes, redactConfig, bootstrapRuntimes, interpolateTemplate, } from '../runtime/store.js';
7
- import { HostCommandRunner } from '../runtime/host-runner.js';
8
- import { configDir, shellEscape } from '../utils.js';
6
+ import { shellEscape } from '../utils.js';
9
7
  import { firstToken } from './command-utils.js';
10
- function runtimesFilePath() {
11
- return path.join(configDir(), 'runtimes.json');
12
- }
13
- function isTTY() {
14
- return !!(process.stdin.isTTY && process.stdout.isTTY);
15
- }
16
- function printList(items) {
17
- if (process.stdout.isTTY) {
18
- console.table(items);
19
- }
20
- else {
21
- process.stdout.write(JSON.stringify(items, null, 2) + '\n');
22
- }
23
- }
24
- async function ask(rl, prompt, fallback = '') {
25
- const q = fallback ? `${prompt} [${fallback}]: ` : `${prompt}: `;
26
- const ans = (await rl.question(q)).trim();
27
- return ans || fallback;
28
- }
29
- function runLocalCommand(command, timeoutSec = 5) {
30
- const p = spawnSync('bash', ['-c', command], { encoding: 'utf8', timeout: timeoutSec * 1000 });
31
- return {
32
- ok: p.status === 0,
33
- code: p.status,
34
- stdout: p.stdout ?? '',
35
- stderr: p.stderr ?? '',
36
- };
37
- }
38
- const hostCommandRunner = new HostCommandRunner();
39
- async function runHostCommand(host, command, timeoutSec = 5) {
40
- return await hostCommandRunner.runOnHost(host, command, timeoutSec);
41
- }
42
- function usage(kind) {
43
- console.log(`Usage:\n idlehands ${kind}\n idlehands ${kind} show <id>\n idlehands ${kind} add\n idlehands ${kind} edit <id>\n idlehands ${kind} remove <id>\n idlehands ${kind} validate\n idlehands ${kind} test <id>\n idlehands ${kind} doctor`);
44
- }
8
+ import { ask, isTTY, printList, runLocalCommand, runtimesFilePath, usage, } from './runtime-common.js';
9
+ import { runHostCommand } from './runtime-host-command.js';
10
+ import { applyDynamicProbeDefaults } from './runtime-probe-defaults.js';
11
+ import { parseScanPorts } from './runtime-scan-ports.js';
45
12
  export async function runHostsSubcommand(args, _config) {
46
13
  await bootstrapRuntimes();
47
14
  const cmd = String(args._[1] ?? '').toLowerCase();
@@ -693,69 +660,6 @@ export async function runModelsSubcommand(args, _config) {
693
660
  }
694
661
  usage('models');
695
662
  }
696
- function deriveProbeDefaultsFromSizeGiB(sizeGiB) {
697
- if (!Number.isFinite(sizeGiB) || sizeGiB <= 0)
698
- return { timeoutSec: 60, intervalMs: 1000 };
699
- if (sizeGiB <= 10)
700
- return { timeoutSec: 120, intervalMs: 1000 };
701
- if (sizeGiB <= 40)
702
- return { timeoutSec: 300, intervalMs: 1200 };
703
- if (sizeGiB <= 80)
704
- return { timeoutSec: 900, intervalMs: 2000 };
705
- if (sizeGiB <= 140)
706
- return { timeoutSec: 3600, intervalMs: 5000 };
707
- return { timeoutSec: 5400, intervalMs: 5000 };
708
- }
709
- async function estimateModelSizeGiBOnHost(modelSource, _host, _runOnHost) {
710
- const src = modelSource.toLowerCase();
711
- const sizeHint = src.match(/(\d{2,4})b/);
712
- const paramsB = sizeHint ? Number(sizeHint[1]) : NaN;
713
- let bitsPerWeight = 16;
714
- if (/q8(_0|)/.test(src))
715
- bitsPerWeight = 8;
716
- else if (/q6(_k|)/.test(src))
717
- bitsPerWeight = 6;
718
- else if (/(q4|mxfp4|fp4)/.test(src))
719
- bitsPerWeight = 4;
720
- else if (/q3/.test(src))
721
- bitsPerWeight = 3;
722
- else if (/q2/.test(src))
723
- bitsPerWeight = 2;
724
- if (!Number.isFinite(paramsB) || paramsB <= 0)
725
- return null;
726
- // coarse estimate: params(B) * bits/8 = GB, plus ~8% overhead
727
- const approxGiB = paramsB * (bitsPerWeight / 8) * 1.08;
728
- return approxGiB;
729
- }
730
- async function applyDynamicProbeDefaults(result, rtConfig, runOnHost) {
731
- if (!result?.ok || !Array.isArray(result?.steps))
732
- return;
733
- const modelCfg = rtConfig.models.find((m) => m.id === result.model?.id);
734
- if (!modelCfg)
735
- return;
736
- const hasExplicitTimeout = modelCfg.launch?.probe_timeout_sec != null;
737
- const hasExplicitInterval = modelCfg.launch?.probe_interval_ms != null;
738
- if (hasExplicitTimeout && hasExplicitInterval)
739
- return;
740
- const hostId = result.hosts?.[0]?.id;
741
- if (!hostId)
742
- return;
743
- const hostCfg = rtConfig.hosts.find((h) => h.id === hostId);
744
- if (!hostCfg)
745
- return;
746
- const sizeGiB = await estimateModelSizeGiBOnHost(modelCfg.source, hostCfg, runOnHost);
747
- if (sizeGiB == null)
748
- return;
749
- const d = deriveProbeDefaultsFromSizeGiB(sizeGiB);
750
- for (const step of result.steps) {
751
- if (step.kind !== 'probe_health')
752
- continue;
753
- if (!hasExplicitTimeout)
754
- step.timeout_sec = d.timeoutSec;
755
- if (!hasExplicitInterval)
756
- step.probe_interval_ms = d.intervalMs;
757
- }
758
- }
759
663
  export async function runSelectSubcommand(args, _config) {
760
664
  const modelId = typeof args.model === 'string' ? args.model : undefined;
761
665
  const backendOverride = typeof args.backend === 'string' ? args.backend : undefined;
@@ -802,6 +706,7 @@ export async function runSelectSubcommand(args, _config) {
802
706
  const { execute, loadActiveRuntime, runOnHost } = await import('../runtime/executor.js');
803
707
  const rtConfig = await loadRuntimes();
804
708
  const active = await loadActiveRuntime();
709
+ const hostById = new Map(rtConfig.hosts.map((h) => [h.id, h]));
805
710
  const mode = dryRun ? 'dry-run' : 'live';
806
711
  const result = plan({ modelId, backendOverride, hostOverride, mode, forceRestart }, rtConfig, active);
807
712
  await applyDynamicProbeDefaults(result, rtConfig, runOnHost);
@@ -877,7 +782,7 @@ export async function runSelectSubcommand(args, _config) {
877
782
  if (execResult.ok && waitReady) {
878
783
  const timeoutSec = waitTimeoutSec ?? executedPlan.model.launch.probe_timeout_sec ?? 60;
879
784
  for (const resolvedHost of executedPlan.hosts) {
880
- const hostCfg = rtConfig.hosts.find((h) => h.id === resolvedHost.id);
785
+ const hostCfg = hostById.get(resolvedHost.id);
881
786
  if (!hostCfg)
882
787
  continue;
883
788
  const port = executedPlan.model.runtime_defaults?.port ?? 8080;
@@ -921,8 +826,7 @@ export async function runSelectSubcommand(args, _config) {
921
826
  console.log(`Runtime switched to "${executedPlan.model.display_name}" successfully.`);
922
827
  }
923
828
  // Show the derived endpoint so the user knows where requests will go
924
- const { loadActiveRuntime: loadAR } = await import('../runtime/executor.js');
925
- const activeNow = await loadAR();
829
+ const activeNow = await loadActiveRuntime();
926
830
  if (activeNow?.endpoint) {
927
831
  console.log(`Endpoint: ${activeNow.endpoint}`);
928
832
  }
@@ -958,35 +862,6 @@ export async function runHealthSubcommand(args, _config) {
958
862
  const enabledHosts = runtimes.hosts.filter((h) => h.enabled);
959
863
  const enabledModels = runtimes.models.filter((m) => m.enabled);
960
864
  const enabledBackends = runtimes.backends.filter((b) => b.enabled);
961
- // Parse --scan-ports (e.g., "8000-8100" or "8080,8081,8082")
962
- function parseScanPorts(input) {
963
- if (!input)
964
- return null;
965
- const trimmed = input.trim();
966
- if (!trimmed)
967
- return null;
968
- if (/^\d+-\d+$/.test(trimmed)) {
969
- const [start, end] = trimmed.split('-').map(Number);
970
- if (start > end || start < 1 || end > 65535)
971
- return null;
972
- const ports = [];
973
- for (let p = start; p <= end; p++)
974
- ports.push(p);
975
- return ports;
976
- }
977
- if (trimmed.includes(',')) {
978
- const parts = trimmed
979
- .split(',')
980
- .map((s) => s.trim())
981
- .filter(Boolean);
982
- const ports = parts.map(Number).filter((p) => Number.isFinite(p) && p >= 1 && p <= 65535);
983
- return ports.length > 0 ? ports : null;
984
- }
985
- const port = Number(trimmed);
986
- if (Number.isFinite(port) && port >= 1 && port <= 65535)
987
- return [port];
988
- return null;
989
- }
990
865
  const scanPortsOverride = parseScanPorts(args['scan-ports'] ?? args.scan_ports);
991
866
  if (enabledHosts.length === 0) {
992
867
  console.log('No enabled hosts configured. Run `idlehands setup` first.');
@@ -1 +1 @@
1
- {"version":3,"file":"runtime-cmds.js","sourceRoot":"","sources":["../../src/cli/runtime-cmds.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"runtime-cmds.js","sourceRoot":"","sources":["../../src/cli/runtime-cmds.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ import { spawnSync } from 'node:child_process';
2
+ import path from 'node:path';
3
+ import { configDir } from '../utils.js';
4
+ export function runtimesFilePath() {
5
+ return path.join(configDir(), 'runtimes.json');
6
+ }
7
+ export function isTTY() {
8
+ return !!(process.stdin.isTTY && process.stdout.isTTY);
9
+ }
10
+ export function printList(items) {
11
+ if (process.stdout.isTTY) {
12
+ console.table(items);
13
+ }
14
+ else {
15
+ process.stdout.write(JSON.stringify(items, null, 2) + '\n');
16
+ }
17
+ }
18
+ export async function ask(rl, prompt, fallback = '') {
19
+ const q = fallback ? `${prompt} [${fallback}]: ` : `${prompt}: `;
20
+ const ans = (await rl.question(q)).trim();
21
+ return ans || fallback;
22
+ }
23
+ export function runLocalCommand(command, timeoutSec = 5) {
24
+ const p = spawnSync('bash', ['-c', command], { encoding: 'utf8', timeout: timeoutSec * 1000 });
25
+ return {
26
+ ok: p.status === 0,
27
+ code: p.status,
28
+ stdout: p.stdout ?? '',
29
+ stderr: p.stderr ?? '',
30
+ };
31
+ }
32
+ export function usage(kind) {
33
+ console.log(`Usage:\n idlehands ${kind}\n idlehands ${kind} show <id>\n idlehands ${kind} add\n idlehands ${kind} edit <id>\n idlehands ${kind} remove <id>\n idlehands ${kind} validate\n idlehands ${kind} test <id>\n idlehands ${kind} doctor`);
34
+ }
35
+ //# sourceMappingURL=runtime-common.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-common.js","sourceRoot":"","sources":["../../src/cli/runtime-common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,IAAI,MAAM,WAAW,CAAC;AAG7B,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,UAAU,gBAAgB;IAC9B,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,eAAe,CAAC,CAAC;AACjD,CAAC;AAED,MAAM,UAAU,KAAK;IACnB,OAAO,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,CAAC,KAAK,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACzD,CAAC;AAED,MAAM,UAAU,SAAS,CAAI,KAAU;IACrC,IAAI,OAAO,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QACzB,OAAO,CAAC,KAAK,CAAC,KAAc,CAAC,CAAC;IAChC,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC;IAC9D,CAAC;AACH,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,GAAG,CAAC,EAAsB,EAAE,MAAc,EAAE,QAAQ,GAAG,EAAE;IAC7E,MAAM,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,MAAM,KAAK,QAAQ,KAAK,CAAC,CAAC,CAAC,GAAG,MAAM,IAAI,CAAC;IACjE,MAAM,GAAG,GAAG,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAC1C,OAAO,GAAG,IAAI,QAAQ,CAAC;AACzB,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,OAAe,EACf,UAAU,GAAG,CAAC;IAEd,MAAM,CAAC,GAAG,SAAS,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,OAAO,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,UAAU,GAAG,IAAI,EAAE,CAAC,CAAC;IAC/F,OAAO;QACL,EAAE,EAAE,CAAC,CAAC,MAAM,KAAK,CAAC;QAClB,IAAI,EAAE,CAAC,CAAC,MAAM;QACd,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE;QACtB,MAAM,EAAE,CAAC,CAAC,MAAM,IAAI,EAAE;KACvB,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,KAAK,CAAC,IAAqC;IACzD,OAAO,CAAC,GAAG,CACT,uBAAuB,IAAI,iBAAiB,IAAI,2BAA2B,IAAI,qBAAqB,IAAI,2BAA2B,IAAI,6BAA6B,IAAI,0BAA0B,IAAI,2BAA2B,IAAI,SAAS,CAC/O,CAAC;AACJ,CAAC"}
@@ -0,0 +1,12 @@
1
+ /** Get active runtime endpoint if runtime subsystem is available. */
2
+ export async function getActiveRuntimeEndpoint() {
3
+ try {
4
+ const { loadActiveRuntime } = await import('../runtime/executor.js');
5
+ const active = await loadActiveRuntime();
6
+ return active?.endpoint ?? null;
7
+ }
8
+ catch {
9
+ return null;
10
+ }
11
+ }
12
+ //# sourceMappingURL=runtime-detect.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-detect.js","sourceRoot":"","sources":["../../src/cli/runtime-detect.ts"],"names":[],"mappings":"AAAA,qEAAqE;AACrE,MAAM,CAAC,KAAK,UAAU,wBAAwB;IAC5C,IAAI,CAAC;QACH,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;QACrE,MAAM,MAAM,GAAG,MAAM,iBAAiB,EAAE,CAAC;QACzC,OAAO,MAAM,EAAE,QAAQ,IAAI,IAAI,CAAC;IAClC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC"}
@@ -0,0 +1,7 @@
1
+ import { HostCommandRunner } from '../runtime/host-runner.js';
2
+ const hostCommandRunner = new HostCommandRunner();
3
+ /** Run a shell command on a configured runtime host with timeout. */
4
+ export async function runHostCommand(host, command, timeoutSec = 5) {
5
+ return await hostCommandRunner.runOnHost(host, command, timeoutSec);
6
+ }
7
+ //# sourceMappingURL=runtime-host-command.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-host-command.js","sourceRoot":"","sources":["../../src/cli/runtime-host-command.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAG9D,MAAM,iBAAiB,GAAG,IAAI,iBAAiB,EAAE,CAAC;AAElD,qEAAqE;AACrE,MAAM,CAAC,KAAK,UAAU,cAAc,CAClC,IAAiB,EACjB,OAAe,EACf,UAAU,GAAG,CAAC;IAEd,OAAO,MAAM,iBAAiB,CAAC,SAAS,CAAC,IAAI,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;AACtE,CAAC"}
@@ -0,0 +1,63 @@
1
+ export function deriveProbeDefaultsFromSizeGiB(sizeGiB) {
2
+ if (!Number.isFinite(sizeGiB) || sizeGiB <= 0)
3
+ return { timeoutSec: 60, intervalMs: 1000 };
4
+ if (sizeGiB <= 10)
5
+ return { timeoutSec: 120, intervalMs: 1000 };
6
+ if (sizeGiB <= 40)
7
+ return { timeoutSec: 300, intervalMs: 1200 };
8
+ if (sizeGiB <= 80)
9
+ return { timeoutSec: 900, intervalMs: 2000 };
10
+ if (sizeGiB <= 140)
11
+ return { timeoutSec: 3600, intervalMs: 5000 };
12
+ return { timeoutSec: 5400, intervalMs: 5000 };
13
+ }
14
+ async function estimateModelSizeGiBOnHost(modelSource, _host, _runOnHost) {
15
+ const src = modelSource.toLowerCase();
16
+ const sizeHint = src.match(/(\d{2,4})b/);
17
+ const paramsB = sizeHint ? Number(sizeHint[1]) : NaN;
18
+ let bitsPerWeight = 16;
19
+ if (/q8(_0|)/.test(src))
20
+ bitsPerWeight = 8;
21
+ else if (/q6(_k|)/.test(src))
22
+ bitsPerWeight = 6;
23
+ else if (/(q4|mxfp4|fp4)/.test(src))
24
+ bitsPerWeight = 4;
25
+ else if (/q3/.test(src))
26
+ bitsPerWeight = 3;
27
+ else if (/q2/.test(src))
28
+ bitsPerWeight = 2;
29
+ if (!Number.isFinite(paramsB) || paramsB <= 0)
30
+ return null;
31
+ const approxGiB = paramsB * (bitsPerWeight / 8) * 1.08;
32
+ return approxGiB;
33
+ }
34
+ export async function applyDynamicProbeDefaults(result, rtConfig, runOnHost) {
35
+ if (!result?.ok || !Array.isArray(result?.steps))
36
+ return;
37
+ const modelCfg = rtConfig.models.find((m) => m.id === result.model?.id);
38
+ if (!modelCfg)
39
+ return;
40
+ const hasExplicitTimeout = modelCfg.launch?.probe_timeout_sec != null;
41
+ const hasExplicitInterval = modelCfg.launch?.probe_interval_ms != null;
42
+ if (hasExplicitTimeout && hasExplicitInterval)
43
+ return;
44
+ const hostId = result.hosts?.[0]?.id;
45
+ if (!hostId)
46
+ return;
47
+ const hostCfg = rtConfig.hosts.find((h) => h.id === hostId);
48
+ if (!hostCfg)
49
+ return;
50
+ const sizeGiB = await estimateModelSizeGiBOnHost(modelCfg.source, hostCfg, runOnHost);
51
+ if (sizeGiB == null)
52
+ return;
53
+ const d = deriveProbeDefaultsFromSizeGiB(sizeGiB);
54
+ for (const step of result.steps) {
55
+ if (step.kind !== 'probe_health')
56
+ continue;
57
+ if (!hasExplicitTimeout)
58
+ step.timeout_sec = d.timeoutSec;
59
+ if (!hasExplicitInterval)
60
+ step.probe_interval_ms = d.intervalMs;
61
+ }
62
+ }
63
+ //# sourceMappingURL=runtime-probe-defaults.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-probe-defaults.js","sourceRoot":"","sources":["../../src/cli/runtime-probe-defaults.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,30 @@
1
+ /** Parse --scan-ports values like '8000-8100', '8080,8081', or single port. */
2
+ export function parseScanPorts(input) {
3
+ if (!input)
4
+ return null;
5
+ const trimmed = input.trim();
6
+ if (!trimmed)
7
+ return null;
8
+ if (/^\d+-\d+$/.test(trimmed)) {
9
+ const [start, end] = trimmed.split('-').map(Number);
10
+ if (start > end || start < 1 || end > 65535)
11
+ return null;
12
+ const ports = [];
13
+ for (let p = start; p <= end; p++)
14
+ ports.push(p);
15
+ return ports;
16
+ }
17
+ if (trimmed.includes(',')) {
18
+ const parts = trimmed
19
+ .split(',')
20
+ .map((s) => s.trim())
21
+ .filter(Boolean);
22
+ const ports = parts.map(Number).filter((p) => Number.isFinite(p) && p >= 1 && p <= 65535);
23
+ return ports.length > 0 ? ports : null;
24
+ }
25
+ const port = Number(trimmed);
26
+ if (Number.isFinite(port) && port >= 1 && port <= 65535)
27
+ return [port];
28
+ return null;
29
+ }
30
+ //# sourceMappingURL=runtime-scan-ports.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"runtime-scan-ports.js","sourceRoot":"","sources":["../../src/cli/runtime-scan-ports.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,MAAM,UAAU,cAAc,CAAC,KAAyB;IACtD,IAAI,CAAC,KAAK;QAAE,OAAO,IAAI,CAAC;IACxB,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,EAAE,CAAC;IAC7B,IAAI,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAE1B,IAAI,WAAW,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9B,MAAM,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QACpD,IAAI,KAAK,GAAG,GAAG,IAAI,KAAK,GAAG,CAAC,IAAI,GAAG,GAAG,KAAK;YAAE,OAAO,IAAI,CAAC;QACzD,MAAM,KAAK,GAAa,EAAE,CAAC;QAC3B,KAAK,IAAI,CAAC,GAAG,KAAK,EAAE,CAAC,IAAI,GAAG,EAAE,CAAC,EAAE;YAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QACjD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAC1B,MAAM,KAAK,GAAG,OAAO;aAClB,KAAK,CAAC,GAAG,CAAC;aACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;aACpB,MAAM,CAAC,OAAO,CAAC,CAAC;QACnB,MAAM,KAAK,GAAG,KAAK,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,KAAK,CAAC,CAAC;QAC1F,OAAO,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;IACzC,CAAC;IAED,MAAM,IAAI,GAAG,MAAM,CAAC,OAAO,CAAC,CAAC;IAC7B,IAAI,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,KAAK;QAAE,OAAO,CAAC,IAAI,CAAC,CAAC;IACvE,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -0,0 +1,51 @@
1
+ import { parseUserIds, validateBotConfig } from './bot.js';
2
+ import { BOLD, RESET } from './setup-style.js';
3
+ import { ask, drawHeader, info, pause, warn } from './setup-ui.js';
4
+ export async function setupBotStep(rl, target, defaultDir, existing) {
5
+ const isTg = target === 'Telegram';
6
+ drawHeader(`Step 7 of 7 — Bot Setup: ${target}`);
7
+ console.log(` ${BOLD}Bot token${RESET}`);
8
+ info(isTg ? 'Get one from @BotFather on Telegram.' : 'Get one from the Discord Developer Portal.');
9
+ const token = await ask(rl, 'Token', existing?.token ?? '');
10
+ if (!token.trim()) {
11
+ warn(`No token provided. Skipping ${target}.`);
12
+ await pause();
13
+ return existing;
14
+ }
15
+ console.log();
16
+ console.log(` ${BOLD}Allowed users${RESET}`);
17
+ info('Comma-separated numeric user IDs that are allowed to use the bot.');
18
+ const usersRaw = await ask(rl, 'User IDs', existing?.allowed_users?.length ? existing.allowed_users.join(',') : '');
19
+ const users = parseUserIds(usersRaw);
20
+ if (!users.length) {
21
+ warn('No valid user IDs entered. Skipping bot setup.');
22
+ await pause();
23
+ return existing;
24
+ }
25
+ let guildId;
26
+ if (!isTg) {
27
+ console.log();
28
+ console.log(` ${BOLD}Guild / server${RESET}`);
29
+ info('Leave blank for DM-only mode.');
30
+ const gid = await ask(rl, 'Guild ID', existing?.guild_id ?? '');
31
+ guildId = gid.trim() || undefined;
32
+ }
33
+ console.log();
34
+ console.log(` ${BOLD}Working directory${RESET}`);
35
+ info('Default project directory for bot sessions.');
36
+ const dir = await ask(rl, 'Path', existing?.default_dir ?? defaultDir);
37
+ const cfg = {
38
+ token: token.trim(),
39
+ allowed_users: users,
40
+ default_dir: dir.trim() || defaultDir,
41
+ ...(guildId ? { guild_id: guildId, allow_guilds: true } : {}),
42
+ };
43
+ const err = validateBotConfig(cfg);
44
+ if (err) {
45
+ warn(err);
46
+ await pause();
47
+ return existing;
48
+ }
49
+ return cfg;
50
+ }
51
+ //# sourceMappingURL=setup-bot-step.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"setup-bot-step.js","sourceRoot":"","sources":["../../src/cli/setup-bot-step.ts"],"names":[],"mappings":"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"}