moshcode 0.89.0 → 0.91.0
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/README.md +91 -0
- package/bin/moshcode.mjs +7 -0
- package/package.json +1 -1
- package/prd/0013-persistent-ssh-workspaces.md +1181 -0
- package/prd/README.md +2 -0
- package/src/cli-schema.mjs +109 -0
- package/src/commands.mjs +164 -0
- package/src/dns-service.mjs +167 -10
- package/src/dns.mjs +120 -13
- package/src/ssh.mjs +1228 -0
- package/src/tui.mjs +14 -0
package/src/tui.mjs
CHANGED
|
@@ -1024,6 +1024,20 @@ export async function tui() {
|
|
|
1024
1024
|
rl = mkrl();
|
|
1025
1025
|
continue;
|
|
1026
1026
|
}
|
|
1027
|
+
// SSH workspaces (PRD 0013). `/ssh dev`, `/ssh exec --tty` and `/ssh
|
|
1028
|
+
// shell` hand the terminal to ssh the way /attach does; every other verb
|
|
1029
|
+
// answers in place and the prompt stays.
|
|
1030
|
+
if (cmd === "ssh") {
|
|
1031
|
+
const { sshCommand, takesTerminal } = await import("./ssh.mjs");
|
|
1032
|
+
if (takesTerminal(rest)) {
|
|
1033
|
+
rl.close();
|
|
1034
|
+
await sshCommand(rest);
|
|
1035
|
+
rl = mkrl();
|
|
1036
|
+
} else {
|
|
1037
|
+
await sshCommand(rest);
|
|
1038
|
+
}
|
|
1039
|
+
continue;
|
|
1040
|
+
}
|
|
1027
1041
|
if (cmd === "agents" || cmd === "agent" || cmd === "engines") {
|
|
1028
1042
|
if (!rest[0] || (rest.length === 1 && rest[0] === "--json")) {
|
|
1029
1043
|
printEngines(rest[0] === "--json");
|