builtin-plugins
Commits
Every published commit of this world, on every branch, newest first.
c3ab58e494dotbot: plugin.wasm built from DotBot main 62ab0149 (OrigoZero/DotBot#693; wasm32-wasip2 release, sha256 9f96966f...0c4ba25, 51128685 bytes): wake-up and notice reads follow the engine that owns them, so an agent working in its sub-client is woken when a task it started finishes and hears its errors (OrigoZero/zero#20291). On top of 01M5DPHSS0WA; plugin.yaml unchanged8336871b3adotbot: plugin.wasm built from DotBot main 4a1b5e27 (OrigoZero/DotBot#690; wasm32-wasip2 release, sha256 d9c6aae6...5312c273d, 51061659 bytes): every Claude prompt-cache breakpoint asks for the hour, one life per conversation, so a pause past five minutes no longer re-writes the whole history (DotBot#684, #685, #686; OrigoZero/zero#19786). On top of 01M5DM4RY0H5; plugin.yaml unchangededfb5ff625dotbot: plugin.wasm built from DotBot main ce29cf76 (OrigoZero/DotBot#688; wasm32-wasip2 release, sha256 d3ef0753...2c00114f4, 51062100 bytes): a Claude request that extends a cached prompt asks for the hour (adaptive prompt_cache retention), so a pause past five minutes no longer re-writes the whole history (DotBot#684, #685, #686; OrigoZero/zero#19786). On top of 01M5CW7ASG0Y; plugin.yaml unchangede58ce83773dotbot plugin: agents report back on their own, hand back, and are messaged by name (DotBot #678, fffa5f76)31506db929dotbot: plugin.wasm built from DotBot branch fix/image-media-type-from-bytes 5e53beb5 (OrigoZero/DotBot#682; wasm32-wasip2 release, sha256 da8fbcd2...203a260add, 51026368 bytes): every provider protocol labels a picture with the format its bytes are, and bytes that are no picture are sent as a line of text, so a JPEG labelled image/png no longer fails a request (OrigoZero/zero#19712). On top of 01M59ZVPQ0AC; plugin.yaml unchanged56b2fb8f6fdotbot: plugin.wasm built from DotBot main a1347ab0 (wasm32-wasip2 release, sha256 e4b026d0...d9212ac81, 51025284 bytes): a request names each tool once, the engine's tool_exec is the one offered and the plugin adds none of its own (OrigoZero/DotBot#680, #679); one definition per name in the dispatcher and the MCP bridge, and one tool per wire name in Chat Completions. On top of 01M59E6150C5; plugin.yaml unchanged9819e5de0edotbot: DotBot main 40000bcf (the model's actual context window, orphan-result repair, Lumi's conversation work)b185007a4ddotbot: plugin.wasm built from DotBot main 2a5dfd89 (wasm32-wasip2 release, sha256 91386b07...5c353dcf, 51025419 bytes): an agent's report and a usage-limit continuation reach the conversation fenced as the engine's (OrigoZero/DotBot#664, #657), a model call the provider stopped short of finishing ends the turn on its stated reason (#666, #617), a reply produced under a held notice goes back without its reasoning (#665, #573 #574), an unanswered engine call is told as a busy engine on its own platform and a held one is sent again (#670, #587), /status names the conversation it measures while a turn runs in another (#669, #660). The panel reads every fenced block in a message, and a context row (what landed for the agent mid-turn) as the engine's. On top of 01M587D82GS0; plugin.yaml unchangede970fb60f4dotbot: a world opens its own conversation and a search names calls DotBot can make (zero #18150, #19470), a model-list read has a deadline (OrigoZero/DotBot#659). Panel: Source.conversations keeps the plugin's thisWorld mark, Source.currentConversation is the conversation marked thisWorld (none in a world with none of its own, where it was the newest conversation on the machine, any world's), and a message naming no conversation runs /new and is sent to the conversation it opened (startTurn). plugin.wasm built from DotBot main f310597c (OrigoZero/DotBot#661 catalogue read deadline, #662 conversations mark thisWorld, #663 search_tools rows name the tool_exec call that runs them; wasm32-wasip2 release, sha256 b8518c8c...c78d57, 51035554 bytes); plugin.yaml unchangedf5dc8f2fdddotbot: plugin.wasm built from DotBot main d57dea1b (wasm32-wasip2 release, sha256 746d0470...a3d1bb82d, 51005386 bytes): an account is offered the model list its provider gave, a caller asking while a read is on its way waits for it and a sign-in of the same account keeps it (OrigoZero/DotBot#658, zero #19469), and /status states the context the panel's gauge reads (#658, #655); the source module's README states how history, agents, accounts and models are read; plugin.yaml unchangede0d0c28c9fdotbot: the open panel shows the message a turn started elsewhere answers (zero #19466): a turn the panel did not start (a run the engine starts with a prompt, the page's agent_prompt, the engine waking the agent) shows its message as it starts, above what the turn says, once, in that turn's conversation, which the panel moves to, letting go of the rows of the conversation it showed; an engine delivery reads as the engine's row; Source.messageRows. plugin.wasm built from DotBot main 539f9e5f (OrigoZero/DotBot#656: every turn opens its events with user_message; wasm32-wasip2 release, sha256 ea4458c4...27817, 50977623 bytes); plugin.yaml unchanged
---
dotbot: the panel's builds stay small in a long conversation (OrigoZero/DotBot#652), and the model a conversation runs on stays named in its composer (zero #19469). A history read again translates the messages from the first one that differs from the last answer and keeps the rows of every message before it, so a turn's end costs that turn's messages (a 2,068-message conversation's build after a history read: 130 to 172 ms before, 6 to 14 ms; 4,507 messages: 527 to 595 ms before, 11 to 21 ms); a call settled by a result read later is settled in a copy, so a list handed out stays as handed out; the transcript groups each ended turn once; a row's key is made once per row and trims in one pass; the agents, accounts and models lists are made once per answer; Source.model names a model the offer read now lacks by the record an earlier answer gave, else its id. On top of 01M57TE9R8E9 (zero #19466); plugin.wasm and plugin.yaml unchangedf91e4bdff4dotbot: plugin.wasm built from DotBot main d04de7da (wasm32-wasip2 release, sha256 e9b58753...2df65f25, 50982287 bytes): a conversation with no model or level of its own runs on the agent's (OrigoZero/DotBot#653, #640), a subscription session's subagents run on its account and /compact compacts there (#653, #619), and an agent is told the engine's platform rather than the plugin's own wasm32 (#654, #650 #623); plugin.yaml unchanged; the panel and the Workflows view unchanged9d38f595ccdotbot: the Workflows view names a DotBot conversation that has no title by the start of its id, and asks whether to cancel a run on a line of its own above its buttons; plugin.wasm and plugin.yaml unchanged (DotBot main c146a568)96248145d7dotbot: the Workflows view reads each run's facts once per change, pages its cards (30 a page), and draws each request's holder and timing on a line of its own; an answer of named fields reads as name: value lines; the service states a run's conversation from the calls running as it started, confirmed by an answer that names it or by DotBot's own connection having started it, ends a call when its agent stops, and the service built before it stops listening when the plugin loads again; on top of 01M57K1CPGQG (slash commands); plugin.wasm and plugin.yaml unchanged (DotBot main c146a568)cafa122a89dotbot: a slash command typed in the composer runs as DotBot's command rather than being sent to the model (zero #19458): /compact and the other commands go to dotbot.command at once, whether or not a turn runs, and the panel says their answer; /model and /reasoning are the pickers in words; /new is New chat; a line DotBot has no command for is sent as a message; plugin.wasm unchanged (DotBot main c146a568)e01ca10059dotbot: the panel shows every workflow run in the engine and its progress, live: a toolbar count of the runs running opens a Workflows view with a card per run (its state, the conversation that started it, how long, its phases and answered requests) and one run opened with each request's state, holder, timing, lapses, error and answer, and its log; Cancel asks once and cancels the run (engine workflow.cancel); the service states which conversation a DotBot tool call started a run in (workflow.setOrigin); plugin.wasm and plugin.yaml unchanged (DotBot main c146a568)9459126b04dotbot: the context gauge reads the bar's laid-out width when the pointer lands on it, so a click or drag sets the threshold under the pointer; plugin.wasm unchanged (DotBot main c146a568)d24f494a0fdotbot: a click on the context gauge sets the threshold where it lands: a canvas click reports its point as the text x,y, which the gauge now reads; plugin.wasm unchanged (DotBot main c146a568)63fada81cfdotbot: a key sets the auto-compact threshold as it is pressed and the gauge keeps the keyboard while it moves the handle; a key held down sets it once it is let go; plugin.wasm unchanged (DotBot main c146a568)eed58d8f61dotbot: a context reading is written beside the conversation's log without asking the process id, which trapped the component on the first model call (OrigoZero/DotBot#651); the gauge's row is addressable and the canvas states no prop the renderer does not know; plugin.wasm built from DotBot main c146a568, wasm32-wasip2 release, sha256 3d4d1542...0baaf5364, 50841047 bytes80b58316a8dotbot: the panel shows a context gauge under the composer: the open conversation's context against its model's window (184K / 1M, or max unknown where the model states none), with a handle on the same bar that sets the auto-compact threshold by drag, click or arrow keys, held between the least and the model's budget; dotbot.context and the context event (OrigoZero/DotBot#647); plugin.yaml exposes context; plugin.wasm built from DotBot main 396aa38f, wasm32-wasip2 release, sha256 65f0fc2c...a9bda2945, 50840756 bytesd6f77803ebdotbot: a turn a usage window stops continues on its own at the reset, in the world it was working in, and a spent reading holds no session up (OrigoZero/DotBot#646, closes DotBot#645); the panel never closes the composer for a usage limit, asks a usage answer again once its staleAtUnix passes, shows a waiting turn's continuation with Continue now and Cancel, and gives a refused message back to the composer; plugin.yaml exposes continuations, continueNow and cancelContinue; plugin.wasm built from DotBot main 0c462dd1, wasm32-wasip2 release, sha256 f2ebd810...4ef454dbcb, 50879361 bytes79a3d85277dotbot: a command addressed to a conversation answers with the session that conversation runs on (OrigoZero/DotBot#639, closes DotBot#628); the question after a stopped turn is its turn's opening, so the turn after it reads the conversation through it from the prompt cache (OrigoZero/DotBot#641, closes DotBot#633); an outcome the agent took with task.result, or any way the engine hands one over, is not delivered again (OrigoZero/DotBot#642, closes DotBot#635; reads the engine's task.delivered); plugin.wasm built from DotBot main 91f15599, wasm32-wasip2 release, sha256 cb967fe7...b5897d7d, 50663351 bytes; plugin.yaml and the panel unchanged3b2117bd3bdotbot: a turn keeps its opening marked for the prompt cache, so the next turn reads the conversation before the previous turn from the cache (OrigoZero/DotBot#631, closes DotBot#624); a promoted task whose outcome the agent took through wait is delivered once (OrigoZero/DotBot#632, closes DotBot#614); a compaction never makes the prompt larger and states both sizes in one measure (OrigoZero/DotBot#636, closes DotBot#630); plugin.wasm built from DotBot main bb58bcc1, wasm32-wasip2 release, sha256 b064b409...6cc4417, 50659273 bytes; plugin.yaml and the panel unchangedf9bb82db2ddotbot: a usage reading is judged at a time, and a spent window reads as spent only until it rolls over, so a model switch, the runnable flags, the advice and the panel stop holding an account blocked past its reset (OrigoZero/DotBot#634, closes DotBot#629); carries #631 (DotBot#624) and #632 (DotBot#614); plugin.wasm built from DotBot main 786fd749, wasm32-wasip2 release, sha256 88a152d4...de30fa, 50714407 bytes; plugin.yaml and the panel unchanged5305d15523dotbot: a conversation is handed the notes index only where its agent has the notes tools (OrigoZero/DotBot#626, closes DotBot#620); a command addressed to a conversation runs on its model, level and session (OrigoZero/DotBot#627, closes DotBot#625); plugin.wasm built from DotBot main 73c90f9e, wasm32-wasip2 release, sha256 558c82e1...c52e57de, 50766576 bytes; plugin.yaml and the panel unchangeda744f1a087dotbot: a bash call's outcome is its exit status, not what it printed (OrigoZero/DotBot#615, closes DotBot#595); an agent started with start_agents is told only the mechanics it has (OrigoZero/DotBot#618, closes DotBot#612); /compact compacts the way a turn compacts past its budget, on the session's own client, and names no notes tool (OrigoZero/DotBot#622, closes DotBot#613); plugin.wasm built from DotBot main 8dfc2cd3, wasm32-wasip2 release, sha256 2d8e3645...f3ef03e, 50791770 bytes; plugin.yaml and the panel unchanged30b8bdc246dotbot: a model call the output limit cut off ends the turn saying so, not as a completed turn (OrigoZero/DotBot#609, closes DotBot#556); an agent still working when its engine stops is listed after the restart as stopped before it finished (OrigoZero/DotBot#610, closes DotBot#598); carries #618; plugin.wasm built from DotBot main dc2810b1, wasm32-wasip2 release, sha256 5e52f65d...6dde99, 50759751 bytes; plugin.yaml and the panel unchanged95645a350bdotbot: a conversation runs on a model of its own on each agent, kept across turns, panel messages and restarts, and the model chip reads it; a model picked in a conversation is sent to that conversation and a message in a conversation with a model of its own puts no model on the session (OrigoZero/DotBot#611, closes DotBot#602; source and service modules); plugin.wasm built from DotBot main 4895003f (carries #615), wasm32-wasip2 release, sha256 5b5f251f...a668ac7, 50704823 bytes; plugin.yaml unchangedb3a5de6341dotbot: a script's report is stored compact with a returned value once (OrigoZero/DotBot#607, part of #514), and the base prompt describes only the mechanics the plugin registers (OrigoZero/DotBot#608, #604); plugin.wasm built from DotBot main 3ee3cac8, wasm32-wasip2 release, sha256 7d3b73dc...8bdecbe, 50649414 bytes; plugin.yaml and the panel unchanged1da91952e6dotbot: a conversation opened by id (New chat, a run Zero starts) starts with the engine's orientation (OrigoZero/DotBot#606); plugin.wasm built from DotBot main 2a11893b, wasm32-wasip2 release, sha256 0bfddac1...01a373, 50523463 bytes; plugin.yaml and the panel unchanged3c30a8522adotbot: the provided agent keeps the harness prompt beside its identity, and no profile promises a browser (OrigoZero/DotBot#603, closes DotBot#527); plugin.wasm built from DotBot main 844f7ff7, wasm32-wasip2 release, sha256 3220c300...af62ff, 50523340 bytes; plugin.yaml and the panel unchangededf9760ef9dotbot: a conversation runs at a thinking level of its own on each agent, kept across turns and restarts, and the effort chip reads it (OrigoZero/DotBot#601, closes DotBot#593; zero#19151, zero#19165; source and service modules); a turn is handed its world sources with its message, so two turns started at once each read their own (OrigoZero/DotBot#600, closes DotBot#586); plugin.wasm built from DotBot main 14a41ec9, wasm32-wasip2 release, sha256 de88d4da...a74031, 50481755 bytes; plugin.yaml unchanged629d9524c0dotbot: New chat opens the conversation /new named, on the account the tab is on, on every account (OrigoZero/DotBot#596; source and panel modules); the agents a conversation's turns started are kept with it and listed after a restart with their transcripts and usage, the service asking for a conversation's own runs when it reads it (OrigoZero/DotBot#597, closes DotBot#588; service module); a platform session reports the context window its catalog states for the model (OrigoZero/DotBot#599, DotBot#590); plugin.wasm built from DotBot main f66509db, wasm32-wasip2 release, sha256 fe3c779f...90c22c, 50237123 bytes; plugin.yaml unchangededdfe8ba66dotbot: the service reads each provider's default account (dotbot.defaultAccounts), kept current with the account list (OrigoZero/DotBot#594); service module only3c4d9c4c41dotbot: a default account per provider, marked in Connected accounts (Make default / Clear default, a DEFAULT pill, Default in the account picker), used by new conversations when usable and said under the composer when not; Settings reads the auto-compact threshold before a session opens (OrigoZero/DotBot#594); plugin.wasm built from DotBot main 0595401a, wasm32-wasip2 release, sha256 094f1b1a...353f99, 50152964 bytes; plugin.yaml exposes defaultAccounts and setDefaultAccount (panel, source, service modules)9905dc568adotbot: the auto-compact threshold defaults to 600,000 tokens, never past the model's budget, and the person sets their own in the panel's Settings (OrigoZero/DotBot#591, DotBot#582); plugin.wasm built from DotBot main ca0cbe36, wasm32-wasip2 release, sha256 02238b3e...5aa412, 50160198 bytes; plugin.yaml exposes setAutoCompact; panel: Settings (More menu) shows the threshold, what decided it and the model's ceiling, with a field to set it and Use default (panel, source, service modules)589a0094c6dotbot: a conversation is compacted past a budget sized from its model's window (772,000 on Claude Opus 5.5 rather than a fixed 150,000), a compaction keeps the guides just read, and the start-up line states the model, output limit, window and compaction threshold the session uses (OrigoZero/DotBot#589, closes DotBot#582 #581); plugin.wasm built from DotBot main ccf38fb2 (on 277ea257), wasm32-wasip2 release, sha256 6bcd7672...0fadb7, 50121333 bytes; plugin.yaml and panel unchanged27a78e70f8dotbot: a queued agent's card says how long it has waited to start instead of a running time, and each card draws its task, current step and result or error on one line each (zero #19167); panel only (view, transcript, panel modules and READMEs); plugin.wasm unchanged (DotBot main 277ea257)948dfc375bdotbot: a turn starts agents that work at once, each a caller of its own on the engine, and the panel shows them (OrigoZero/DotBot#584, closes DotBot#524 #219); plugin.wasm built from DotBot main 277ea257 (carries #578 59f5bd4c and #580), wasm32-wasip2 release, sha256 0a1d8acd...8d52d9, 50114599 bytes; plugin.yaml exposes subagents and stopSubagent; panel: agent cards (state, current call, time, tokens, pictures, stop), the agent's own transcript, the Working row naming the agents a wait is on, an agents usage line (service, source, view, transcript, panel modules and READMEs)5df0d9d657dotbot: the host provides accounts of its own (provideAccounts, exposed to the engine's trusted side alone with caller: trusted), held in memory, kept current by the host and removed with no dialog (OrigoZero/DotBot#578, zero #19072); plugin.wasm built from DotBot main 59f5bd4c, wasm32-wasip2 release, sha256 c1d716c4...bfcffc, 49403621 bytes; plugin.yaml adds the provideAccounts entry; panel unchanged1753331336dotbot: the panel shows each conversation's input tokens, output tokens and cache hit rate for the latest turn and the whole conversation (zero #19064), and a thumbnail of every picture a tool call returned at that call, larger on click (zero #19067); a turn the plugin woke into keeps the stored history on screen; plugin.yaml exposes toolImage. Panel and plugin.yaml only; plugin.wasm unchanged (DotBot main a935c7b1 carries DotBot#568)cc245e4d20dotbot: replayed Claude thinking keeps its prompt (engine state kept with each reply, mid-turn notices stored, pictures' reasoning unsigned; DotBot#557 #569, closes #511 #560), a Claude session asks for the model's own output limit however it started and a thinking budget leaves the answer half (DotBot#559, closes #512 #563), plus #562 #565 #568 #555; plugin.wasm built from DotBot main a935c7b1 (carries b2067ba5 / #494), wasm32-wasip2 release, sha256 7fe780e4...8c97c, 49368774 bytes; panel and plugin.yaml unchanged0ab09e6070dotbot: a DotBot that starts while another engine holds the shared database starts, and opens it on the first use that finds it free; a migration that meets another engine's lock fails the open instead of being skipped (OrigoZero/DotBot#555, closes DotBot#506 #549); plugin.wasm built from DotBot main a4e55275 (carries b2067ba5 / #494), wasm32-wasip2 release, sha256 13b1eedb...cfa76, 47629076 bytes; panel unchanged0863d9f4d4dotbot: the database opens whatever any plugin build recorded in it (DotBot main b2067ba5, #494)ff2d72462adotbot: a tool result past its token limit is kept in Zero's filesystem (/zero/source/tmp/dotbot/tool_output/<conversation>/), where the engine's read_file and bash read it (OrigoZero/DotBot#551, closes DotBot#544), and a stream the platform cut because it is restarting is sent again on the wait schedule (DotBot#550, closes DotBot#545); plugin.wasm built from DotBot build/zero-plugin-544-merged 02b56040 (main d45deb9a + DotBot#494 0ecc2b97 cherry-picked unchanged), sha256 dc2200ac...b014e; panel: the prompt-registry block of zero PR 18703 left out, so the panel is the one of 01M4TWZB (103917 bytes)911ec9bb85dotbot: a conversation past its compaction budget is compacted (a summary the model writes, the opening message and the recent steps in one marker), sized by the provider's count of the whole prompt (OrigoZero/DotBot#548, closes DotBot#502 #513); plugin.wasm built from DotBot build/zero-plugin-502-merged 9189f051 (main f0f41bf1 + DotBot#494 cherry-picked unchanged), sha256 70d49365...26bd; panel unchangedcdff4e5d6ddotbot: a prompt from elsewhere in the editor (push to talk) arrives in the DotBot tab as if typed and sent, through the editor's prompt registry (edui.agentPrompt) when the editor has one (zero PR 18703); plugin.wasm unchanged4867ea5c3fdotbot: an account switch made while a turn runs holds for the next turn; a conversation on a disconnected account opens asking for it; a confirmation names one of several accounts by the email its provider stated, and an account keeps the name a person gives it as written (zero PR 18568 review, #18564 #18565); plugin.wasm unchanged: DotBot build/zero-plugin-18563-merged b3ac80e150c7907772dotbot: a further account's connect sheet names the account (its email, or the provider and slot of a new one) (zero #18564 #18565); plugin.wasm unchanged: DotBot build/zero-plugin-18563-merged b3ac80e1 (2a9da608 + DotBot #543 squash cb0f7706), whose tree is the one the component was built from (075e5460)