Every terminal session DataMind Oda opens runs a shell on your computer. This page covers which shell that is, how the chat's access mode confines it, and the defaults behind both. For the sessions themselves, see Terminal sessions, and for the actions Oda takes in them, see Terminal tools.
--noprofile --norc -i, and PowerShell with -NoLogo -NoProfile, so your aliases, prompt settings and other startup-file tweaks do not apply inside a session.A session starts with these values:
| Setting | Default | What it covers |
|---|---|---|
| Session screen | 40 rows by 160 columns | The size the session is created with. |
| Kept output | 10,000 lines, up to 4 MiB | The oldest output drops off beyond this. |
| Largest read | 256 KiB of text | A single read never returns more than this. |
| Waiting for a send | 30 seconds | After this, the wait ends with [wait: timeout]. |
| Checks while settling | every 50 ms | How often Oda looks at the session. |
| Exact check after the first write | 150 ms | One precise reading taken after the first input. |
| Quiet counted as idle | 3 seconds, plus a 500 ms grace | A session this quiet is treated as idle. |
| Close grace | 3 seconds | How long Oda gives the processes to end before a close can report a failure. |
Oda validates these values when the app starts: they must be positive numbers, the read cap cannot be larger than the amount of output a session keeps, and the quiet-time grace cannot be shorter than one check interval.
A session runs inside the chat's access mode, the same way Oda's commands do; Command sandboxing and approvals explains the modes.
stdin_read, inferred_idle, timeout or session_exit) is explained in Terminal sessions.bash by default; a session can run PowerShell instead. A shell command configured for the app replaces the default.
Oda starts the shell without your profile or startup files, so the aliases, prompt and other tweaks from those files are not loaded inside a session.
The mode cannot change while the chat has terminal sessions open or a session that is still starting. Close the open sessions, wait for any that is still being started, then change the mode.
When the mode limits writes, the shell has to start confined. On a computer where the limits cannot be applied to a shell, the session is not started: Oda reports that the mode cannot confine a shell here, and it does not run the shell without limits instead.
About the last 10,000 lines, up to 4 MiB; older output drops off beyond that. A single read result carries at most 256 KiB of text.
Up to 30 seconds. If the session does not settle in that time, the result carries [wait: timeout]. Giving up ends the wait, not the command.
Oda delivers a real interrupt (SIGINT) to what is running, after the pending input settles. It does not type Ctrl+C into the session; the interrupt arrives as a signal.
If the shell ends while the session is starting, or never becomes ready in time, Oda reports a startup failure and no session opens. Start a new session; if it keeps failing, ask your DataMind OS administrator.
No. Oda removes its own credentials and secrets from the environment before the shell starts, so they are not present in a session.
Sessions are made for commands that read and print text. A program that draws a full-screen interface is outside that design, so its screen does not come through as it would in a terminal you open yourself.