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.
- package/package.json +4 -4
- package/tui.js +37 -10
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "embark-ai",
|
|
3
|
-
"version": "1.0.
|
|
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/
|
|
13
|
+
"homepage": "https://github.com/Syrthax/Embark-Ai#readme",
|
|
14
14
|
"bugs": {
|
|
15
|
-
"url": "https://github.com/Syrthax/
|
|
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/
|
|
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
|
|
405
|
+
`{cyan-fg}r{/} refresh`,
|
|
406
|
+
`{cyan-fg}m{/} toggle selection`,
|
|
406
407
|
`{cyan-fg}q{/} quit`,
|
|
407
408
|
``,
|
|
408
|
-
`{gray-fg}Logs
|
|
409
|
-
`{gray-fg}
|
|
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
|
-
`${
|
|
716
|
-
`
|
|
717
|
-
`
|
|
718
|
-
`
|
|
719
|
-
`
|
|
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
|
|