Terminal sessions

A terminal session is an interactive shell that DataMind Oda opens for itself and keeps alive between steps. Its folder, the variables and functions it has set up and the programs it has left running all stay in place, so the next step continues where the last one stopped.

What a terminal session is

The shell a session uses and its sandbox settings are covered in Terminal shells and sandboxing.

What Oda can do in a session

The exact results of each action, including how a background send is collected, are on Terminal tools.

What the wait note means

After a send, the result carries a note that names why the wait ended:

A quiet or timed-out wait does not prove that the command finished.

What keeps a session with one chat

Questions, answered

Is this the same as the terminal in my side panel?

No. The terminal in the side panel is yours: you open it and type in it, and Oda does not use it. The sessions on this page are Oda's own shells for the commands it runs itself. See Terminals in the side panel.

What is the oda> prompt I saw?

It is the prompt of a terminal session Oda opened. Oda's sessions show oda> , so what you see there is one of Oda's shells rather than a shell you opened yourself.

Why did the wait end with inferred_idle while the command was still running?

inferred_idle only means the session went quiet. Quiet suggests the command finished, but it is not proof: the command can still be running after the wait ends.

What does session_exit mean?

The shell itself ended, which is different from a command finishing. The session is gone, and the result shows its exit code or the signal that ended it. Oda opens a new session when it next needs one.

Can another chat use a session Oda opened here?

No. A session belongs to the exact chat that opened it. Another chat, or a helper Oda runs, is refused even when it knows the session's id.

What happens to a session when Oda restarts?

It ends. Sessions do not survive a restart of Oda, and nothing carries over: the next step opens a fresh session.

Why did a signal to the shell get refused?

Only a SIGKILL aimed at the shell itself is refused; to end a session, Oda closes it instead. Closing stops the shell and everything running in it.

How much output can Oda read at once?

By default a read takes the first 500 lines of the output the session kept, and Oda reads on from there in further pages. The read options are on Terminal tools.

What are pty-1 and pty-2?

They are session ids: Oda numbers its sessions pty-1, pty-2 and so on. A session can also carry a name such as main or gdb; two sessions in one chat cannot share a name.

Why can't Oda send two things to a session at the same time?

Each session accepts a single send at a time. When there is more to send while one is still running, Oda waits for the first send to settle.