DISCOVERED FROM REAL IMPORT EDGES
Architecture
Public façades, their true dependencies (including lazy-loaded engines), owned helper folders, executables, and built-in IO modes — collected from the source tree on every build.
Public modules
Markdown lib/markdown.js
Depends on no other public module.
Owns lib/markdown/ (6 files)
Context lib/context.js
Depends on no other public module.
Owns lib/context/ (9 files)
Env lib/env.js
Depends on: Context
Owns lib/env/ (29 files)
IO lib/io.js
Owns lib/io/ (3 files)
Agent lib/agent.js
Owns lib/agent/ (16 files)
CLI lib/cli.js
Depends on: Agent, Context, Env
Owns lib/cli/ (11 files)
Jobs lib/jobs.js
Depends on: Agent, CLI, Context, Env, IO
Owns lib/jobs/ (19 files)
TUI lib/tui.js
Depends on: Agent, CLI, Context, Env, GTUI, Markdown
Owns lib/tui-app/ (33 files — the ONE seam between the Agent (an imperative, stateful object owned by lib/agent.js) and the app's pure GTUI model: turns become `task` streams (each Agent run() callback becomes a dispatched message), interrupting a turn is a fire-and-forget agent.cancel() that flows back through that SAME task's own event stream (never an aborted task — Agent owns what "cancelled" means), a message submitted while already busy is just another enqueue (the running loop drains it on its own next iteration — never a second task), and the question bridge turns an interactive tool's pending Promise into a dispatched message, resolved later by an effect the app's `update` returns.)
Owns lib/gtui/ (33 files — gtui)
GTUI lib/gtui/gtui.js
Depends on no other public module.
Owns lib/gtui/ (33 files)
index lib/index.js
Executables
app— app — map command-line syntax into normalized application state.io— io — one-request provider CLI (thin binding over lib/io.js).index.js— bin/scripts/index.js — derive the wrapper set for a namespace.agent— agent — headless tool-loop CLI (thin binding over lib/agent.js).tools2bash— Generate direct shell commands for non-agent-specific tools.help.js— tui help text.rename— bin/scripts/rename — switch the product namespace and regenerate bin wrappers.skills— skills — the skill-registry CLI.jobs— Thin operator CLI.tool— tool — call any registered tool directly from the terminal (a thin wrapper over Env.callTool, see lib/env/tool-registry.js and the "Tool contract" section of API.md).
Built-in IO modes
inline alt line