@standardagents/code 0.9.5 → 0.9.7

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 CHANGED
@@ -61,11 +61,21 @@ we're letting new folks in every week.
61
61
  any machine.
62
62
  - **Background processes that survive.** Dev servers, watchers, queue workers are tracked in the
63
63
  thread and keep running across reconnects and resumes.
64
+ - **Idle attachments stay dormant.** Queue/draft snapshots refresh from events and lifecycle
65
+ transitions, stream and idle execution-bridge heartbeats use Durable Object hibernation
66
+ auto-responses, and transcript safety requests run only while the agent is active. The bridge
67
+ switches to an observable liveness heartbeat only during a forwarded tool or approval, so
68
+ leaving a terminal attached does not continuously wake an idle thread.
64
69
  - **Subagents & research built in.** Delegate focused subtasks to a coding subagent, or spin up a
65
70
  non-blocking web-research agent that returns source-backed findings.
66
71
  - **MCP, first-class.** The CLI is a Model Context Protocol host — connect local MCP servers
67
72
  (Playwright, databases, issue trackers, anything) and the agent can use them. Install new ones
68
73
  in natural language: *"install the playwright mcp server"* and it researches and wires them up.
74
+ - **Stable progressive Markdown.** Streaming buffers are parsed into shared, source-offset-keyed
75
+ blocks and inline runs. An open fence is a persistent code node and incomplete emphasis is a
76
+ styled run, so later chunks extend existing UI state instead of replacing raw Markdown. The
77
+ shared live-draft reducer appends monotonically across provider/reconnect message-ID aliases,
78
+ and the durable answer uses the same document renderer for a geometry-preserving handoff.
69
79
 
70
80
  ---
71
81
 
@@ -94,6 +104,20 @@ standardcode -e -- <dir> # prompt for the endpoint for this run
94
104
  On first run it connects to the hosted Standard Code instance
95
105
  (`https://api.standardcode.ai`) and walks you through a one-time browser sign-in — press
96
106
  Enter, approve in the browser, and your key is stored in `~/.standardagents/credentials`.
107
+ ### Choosing an agent
108
+
109
+ Session start opens with an agent picker: **Frontier One** (coming soon),
110
+ **Unlimited One** (the default — adaptive high/low routing), **Sama One**
111
+ (OpenAI-only, powered by your own ChatGPT authorization), and **Dario**
112
+ (unavailable). Skip the menu with `--agent unlimited` or `--agent sama`.
113
+
114
+ Sama One is BYOK: the first time you pick it, the CLI opens
115
+ `https://standardcode.ai/app` where you connect your ChatGPT account once.
116
+ That connection installs the authorization in your account's secret
117
+ environment on the instance — shared by the CLI, web console, and macOS app —
118
+ and the CLI itself never sees or stores the OpenAI key. Sama One sessions are
119
+ not limited by the simultaneous-thread lease.
120
+
97
121
  You only do this once per machine. It then offers to **resume** a session tagged for this
98
122
  project + machine, or **start a new one**.
99
123
 
@@ -143,6 +167,10 @@ See **[`AGENTS.md`](./AGENTS.md)** for the full source map, bridge protocol, MCP
143
167
  test layout, and contributor conventions.
144
168
 
145
169
  - Zero runtime dependencies — Node built-ins only, run via `tsx`. No build step for development.
170
+ - `src/progressive-markdown.ts` is the canonical structured streaming parser shared with the web
171
+ and native heads. Run `pnpm markdown:sync` after changing it and `pnpm markdown:check` in CI.
172
+ - The hosted instance's generated `src/session-state.ts` owns live-draft accumulation as well as
173
+ busy/tool/message reconciliation; a changed chunk ID is an alias, never permission to erase text.
146
174
  - Commit messages use Conventional Commits, scope `cli` (e.g. `feat(cli): …`).
147
175
 
148
176
  ---