embark-ai 1.0.1 → 1.0.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.
Files changed (2) hide show
  1. package/package.json +4 -4
  2. package/tui.js +37 -10
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "embark-ai",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "Autonomous Minecraft agent powered by Featherless AI or Ollama",
5
5
  "keywords": [
6
6
  "minecraft",
@@ -10,13 +10,13 @@
10
10
  "ollama",
11
11
  "autonomous-agent"
12
12
  ],
13
- "homepage": "https://github.com/Syrthax/project-k#readme",
13
+ "homepage": "https://github.com/Syrthax/Embark-Ai#readme",
14
14
  "bugs": {
15
- "url": "https://github.com/Syrthax/project-k/issues"
15
+ "url": "https://github.com/Syrthax/Embark-Ai/issues"
16
16
  },
17
17
  "repository": {
18
18
  "type": "git",
19
- "url": "git+https://github.com/Syrthax/project-k.git"
19
+ "url": "git+https://github.com/Syrthax/Embark-Ai.git"
20
20
  },
21
21
  "license": "ISC",
22
22
  "author": "Sarthak G",
package/tui.js CHANGED
@@ -402,11 +402,12 @@ function renderActions() {
402
402
  `{gray-fg}─── navigation ───{/}`,
403
403
  `{cyan-fg}↑↓{/} scroll log`,
404
404
  `{cyan-fg}Tab{/} switch focus`,
405
- `{cyan-fg}r{/} refresh status`,
405
+ `{cyan-fg}r{/} refresh`,
406
+ `{cyan-fg}m{/} toggle selection`,
406
407
  `{cyan-fg}q{/} quit`,
407
408
  ``,
408
- `{gray-fg}Logs in:{/}`,
409
- `{gray-fg}${LOG_DIR}{/}`,
409
+ `{gray-fg}Logs: ${LOG_DIR}{/}`,
410
+ `{gray-fg}github.com/Syrthax/Embark-Ai{/}`,
410
411
  ]
411
412
  actionsPanel.setContent(lines.join('\n'))
412
413
  }
@@ -600,9 +601,11 @@ function modalCommand(title, instruction, command, note) {
600
601
  // ── Onboarding wizard ─────────────────────────────────────────────────────────
601
602
  async function runOnboarding() {
602
603
  await modalMessage(
603
- `{bold}{cyan-fg}Welcome to embark-ai{/}{/bold}\n\n` +
604
+ `{bold}{cyan-fg}Welcome to embark-ai{/}{/bold} {yellow-fg}[beta]{/}\n\n` +
604
605
  `Ember is an autonomous Minecraft agent powered by AI.\n` +
605
606
  `Let\'s set up your AI backend and verify your server.\n\n` +
607
+ `{yellow-fg}⚠ Beta release — some features may be unstable.\n` +
608
+ ` Issues: github.com/Syrthax/Embark-Ai/issues{/}\n\n` +
606
609
  `{gray-fg}This takes about 2 minutes on first run.{/}`,
607
610
  'cyan'
608
611
  )
@@ -710,13 +713,14 @@ async function runOnboarding() {
710
713
  const jarPath = path.join(SERVER_DIR, SERVER_JAR)
711
714
  if (!fs.existsSync(jarPath)) {
712
715
  await modalCommand(
713
- `Step 3 of 3 — Minecraft Server (Java Edition ${MC_VERSION})`,
716
+ `Step 3 of 3 — Minecraft Server (requires Java Edition ${MC_VERSION})`,
714
717
  `server.jar not found. Place it at:`,
715
- `${path.join(SERVER_DIR, SERVER_JAR)}`,
716
- `Download Minecraft Java Edition ${MC_VERSION} server jar\n` +
717
- `from minecraft.net > Download > Minecraft Server\n` +
718
- `and place it at the path above.\n\n` +
719
- `Press Enter once the file is in place, or Esc to set up later.`,
718
+ `${jarPath}`,
719
+ `embark-ai requires Minecraft Java Edition ${MC_VERSION} specifically.\n` +
720
+ `minecraft.net only offers the latest version — search for:\n` +
721
+ `"Minecraft ${MC_VERSION} server jar" or use mcversions.net\n\n` +
722
+ `Rename the downloaded file to server.jar and place it at the path above.\n` +
723
+ `Press Enter once done, or Esc to set up later.`,
720
724
  )
721
725
  } else {
722
726
  await modalMessage(
@@ -768,6 +772,13 @@ async function actStartServer() {
768
772
  )
769
773
  }
770
774
 
775
+ // Auto-accept the Minecraft EULA so the server doesn't exit on first run
776
+ const eulaPath = path.join(SERVER_DIR, 'eula.txt')
777
+ if (!fs.existsSync(eulaPath) || !fs.readFileSync(eulaPath, 'utf8').includes('eula=true')) {
778
+ fs.writeFileSync(eulaPath, '#By running embark-ai you agree to the Minecraft EULA\n#https://www.minecraft.net/en-us/eula\neula=true\n')
779
+ logPanel.log('{gray-fg}Accepted Minecraft EULA (eula.txt written){/}')
780
+ }
781
+
771
782
  refresh(`{cyan-fg}Starting server with Java ${javaVer}...{/}`)
772
783
  const logFd = fs.openSync(state.serverLogPath, 'w')
773
784
  const proc = spawn(javaBin, ['-Xmx2G', '-jar', SERVER_JAR, 'nogui'], {
@@ -1058,6 +1069,22 @@ screen.key(['r'], () => refresh())
1058
1069
  screen.key(['q', 'C-c'], quit)
1059
1070
  screen.key(['tab'], () => screen.focusNext())
1060
1071
 
1072
+ // [m] — toggle mouse capture so the terminal lets you select + copy text.
1073
+ // When selection mode is on, TUI mouse clicks are suspended.
1074
+ let _mouseEnabled = true
1075
+ screen.key(['m'], () => {
1076
+ if (_mouseEnabled) {
1077
+ screen.program.disableMouse()
1078
+ _mouseEnabled = false
1079
+ renderStatusBar('{yellow-fg}Selection mode — click & drag to copy. Press [m] to restore mouse.{/}')
1080
+ } else {
1081
+ screen.program.enableMouse()
1082
+ _mouseEnabled = true
1083
+ renderStatusBar(null)
1084
+ }
1085
+ screen.render()
1086
+ })
1087
+
1061
1088
  logPanel.key(['up','down','pageup','pagedown'], () => {})
1062
1089
  logPanel.focus()
1063
1090