A3S Docs
A3S Code

Commands

Command surfaces and recommended control flows

Commands

A3S Code is primarily SDK-driven. Product CLIs and UIs usually map commands to session APIs rather than depending on legacy public lifecycle commands.

User actionSession API
Send a promptsession.send(prompt)
Stream a promptsession.stream(prompt)
Ask a side questionsession.btw(question)
Run a deterministic toolsession.tool(name, args)
Read historysession.history()
Save statesession.save()
Resume stateagent.resumeSession(id, options)
Inspect toolssession.toolNames() / session.toolDefinitions()
Verify worksession.verifyCommands(subject, commands)
Replay run statesession.runs() / session.runEvents(runId)
Inspect or cancel the current runsession.currentRun() / session.cancelRun(runId)

Building Slash Commands

If your app exposes slash commands, keep them thin. Register the handler, list the available commands, and invoke the command through session.send():

session.registerCommand('docs_status', 'Return docs command status', (args, ctx) => {
  return `status args=${args}; session=${ctx.sessionId}; workspace=${ctx.workspace}`;
});

console.log(session.listCommands());

const result = await session.send('/docs_status check');
console.log(result.text);

Avoid hidden loops or background schedulers. Make recurring automation explicit in your host application so it can be audited and cancelled.

On this page