Commit Graph
81 Commits
Author SHA1 Message Date
Rohit C Prasad 2e18d9d5c4 Lead cadence: mandatory check-in timer, harness backstop, sleeping strip
The lead must end active turns with a sleep_for (3-5m, stretch when quiet); a 10-minute backstop wakes a lead that forgot while work is in flight.
Sleeping sessions show a strip with the next wake time and an Ask-for-a-status action — a scheduled agent never reads as a dead one.
2026-08-16 17:00:51 -07:00
Rohit C Prasad d0fdcb032e Chat replaces the session view in place — not a modal; sidebar stays live 2026-08-16 16:39:18 -07:00
Rohit C Prasad cf436d1069 # team chat: own chat store, named workers, mention wakes, cancel interrupt (OPE-99)
ChatStore = groups + append-only messages + per-member cursors; agent posts wake mentions only, user posts wake everyone; post_chat(record_on_item) also lands the answer as an item comment.
Leads name workers (the callname is the handle everywhere); worker digests auto-carry the roster; gate checkbox is the user's call; canceling an assigned item now interrupts an in-flight worker.
2026-08-16 16:22:23 -07:00
Rohit C Prasad 844a6510a2 Dogfood round 1: propose_work_items gate, team-tie survives turn saves, board wakes render as cards
Leads lose propose_plan (trait-derived exclusion — plan mode is meaningless without execution tools) and gain propose_work_items: mode-independent decomposition whose approval creates the items.
Team field moves off the turn-save upsert to a dedicated setter (workers detached from their lead after one turn); board deliveries carry a MessageSource sidecar; test-worker prefers project-local tool installs.
2026-08-16 15:43:06 -07:00
Rohit C Prasad 13f9c0b6c0 SW team: staffing gate UI, expandable team entry, four team personas (OPE-97/98)
swe-lead (minimal tools, coordination verbs) + swe/design/test workers with the shared worker contract; workers never surface in the picker — they're staffed, not started.
Staffing card rides the approval slot; workers nest under the lead's ONE expandable RECENT entry in both sidebar layouts.
2026-08-16 08:53:26 -07:00
Rohit C Prasad fc24b667ed Drop the proposed state: boards hold only accepted work
Plan proposals live in the conversation (plan-approval flow); items are created open/unassigned and work starts at assignment — the granted, revocable authority.
Also closes a verify gap: tail truncation is now caught against the stored head hash.
2026-08-16 08:07:10 -07:00
Rohit C Prasad d8e4fc73c0 Rail collapses proposed items to one awaiting-approval line
The plan gate is the single full rendering of the proposal; no double listing.
2026-08-16 07:50:02 -07:00
Rohit C Prasad 2ebc5fd7aa Progress rail section starts collapsed; auto-opens once when a live turn has todos 2026-08-16 07:49:08 -07:00
Rohit C Prasad 4c1b542370 Board UI: rail section, plan gate, expanded overlay, journal cases (OPE-96)
Board+journal endpoints act as the user; sessions get lead verbs behind OPENWORKER_TEAM_BOARD=1 until the team trait lands.
Rail hides all team chrome until the workspace has items; expand opens a full-width state-column board.
2026-08-16 07:11:52 -07:00
Rohit C Prasad 8e2058d2a9 Artifact chip opens the viewer first-click even when the rail is hidden
The select-listener was gated on rail visibility, so the chip's one event only
unhid an empty rail; now it listens whenever a session is active.
2026-08-15 14:11:16 -07:00
Rohit C Prasad a591f5b35c Request cards join the 760px composer column
dirreq-card (tool/directory/plan cards) went full-bleed on wide monitors.
2026-08-15 12:51:39 -07:00
Rohit C Prasad 78fc2bd8f7 Artifact viewer: airtight sandbox for agent HTML + Open in browser (OPE-91)
Drop allow-same-origin (srcDoc ran the page same-origin with the privileged
webview) and inject a no-network CSP so a poisoned report can't exfiltrate at
display time. Inline script/style keep working; system browser is the escape hatch.
2026-08-15 10:38:58 -07:00
Rohit C Prasad 4ed112b8eb Connectors become a per-coworker allowlist (OPE-93)
Sessions expose declared-and-connected only; 'all' is builtin-only; legacy true
migrates to the recommended refs, else nothing. Consent lists real names and
per-connector caps force re-consent when an update widens the grant.
2026-08-15 10:34:43 -07:00
Rohit C Prasad 560fc3cb8a Tool-request card speaks plainly; declining re-checks for a user-installed copy
Fact strip: 'OpenWorker installs its own verified copy from <publisher>' replaces
supply-chain jargon. On decline the engine re-resolves — a copy the user installed
themselves is handed to the agent as theirs, not treated as a refusal.
2026-08-15 00:14:15 -07:00
Rohit C Prasad b022e58d07 Label the coworker's justification on the tool-request card
A bare floating quote made readers infer what it was; 'Reason:' says it.
2026-08-14 23:55:00 -07:00
Rohit C Prasad 8e77d61aa1 Tool-request card: separate the product's facts from the coworker's ask
Registry metadata (version, publisher, checksum) moves to a distinct fact strip.
Decline button renamed to say the run continues; reason capped to one sentence.
2026-08-14 23:50:51 -07:00
Rohit C Prasad 25d32891d3 Tool-request prompts fail closed on installability
TOOL_REQUESTED now carries the registry's verdict (installable/version/summary).
GUI offers Install only when the event says a pinned build exists.
2026-08-14 23:25:21 -07:00
Rohit C Prasad 62ad9dbdca tools: give coworkers the user's real toolchain, and stop silent skips
Sidecar inherits the login shell's env; toolchain resolves absolute paths with pinned
installs; request_tool replaces the 'tool missing -> STOP' instruction that hid a check.
2026-08-14 15:28:57 -07:00
Rohit C Prasad 49c16af076 gui: reload coworkers after health, not only at mount
The mount-time persona fetch loses the race to the sidecar boot, leaving the
composer picker empty all session while Settings looked fine.
2026-08-13 16:47:11 -07:00
Rohit C Prasad 06a4365132 approvals: session read-only command grant; enable on consent card
'Allow read-only commands' on shell cards — fail-closed classifier (local reads + pipelines only; no network/interpreters/writes), session-scoped, persisted with grants.
Consent cards get an in-place Enable button.
2026-08-11 15:07:46 -07:00
Rohit C Prasad 110a8ae8ce personas: sharing v1 — export/import bundles, version + consent (OPE-7)
Bundle zip export + import (zip-slip guarded) through the picker's Import door; version+provenance with a replaces-note, re-consent only when capabilities grow.
Consent screen: trust warning first, capability summary with collapsed tool list, recommended connectors.
2026-08-11 12:12:24 -07:00
Rohit C Prasad 4908c8402e coworker picker: 'Use temporary folder' copy; retire Chat persona
Chat ships disabled+unsurfaced (Coworker covers quick Q&A); recoverable from Settings.
2026-08-10 22:08:03 -07:00
Rohit C Prasad 3d13c7d699 coworker picker: setup chips above composer, folder pick at send (UX-029)
Per-session coworker+folder chips replace the sidebar split-button picker; code family gets a send-time folder dialog with git-ready temp dirs and Save as project.
Builtins ship enabled; user-facing noun is Coworker; personas flag now defaults on.
2026-08-10 21:43:02 -07:00
Rohit Prasad 7bcff0f88b Merge pull request #417 from coderdailyone/fix/stale-platform-paths
docs: fix stale platform/ paths in the GUI README
2026-08-07 20:36:44 -07:00
Rohit P f21c53dd29 Merge branch 'main' into feature/memory 2026-08-07 19:33:58 -07:00
Rohit P 53d5fc498f Merge branch 'main' into issue/ope-51-ask_user-upgrades 2026-08-01 09:45:03 -07:00
Devika Verma 70e4610a3e Add support for Skills (#391)
Global & per-workspace skill.
Per-persona skills will be improved later as we re-design that abstraction, as per roadmap.
2026-08-01 08:50:53 -07:00
coderdailyoneandClaude Fable 5 6356aa6cd0 docs: fix stale platform/ paths in the GUI README
The GUI README still described the pre-split monorepo layout: every command
cd'd into a platform/ directory that does not exist in this repository, so a
fresh contributor following it verbatim fails at the first step. The venv,
packaging scripts, and surfaces/gui all live at the repo root now — align the
commands and the server_bin() dev-fallback comment with the layout the root
README already documents.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-31 10:17:19 +01:00
Rohit C Prasad ae7256f6b9 Prepare app release 0.1.7: version bump 2026-07-30 13:29:07 -07:00
Rohit C Prasad 25dc283d9b fix: stop artifact walk entering OS app-data dirs; context bar off by default
The artifacts scan used rglob and filtered after descending, so a home directory
workspace walked into ~/Library and triggered the macOS App Data consent prompt on
every turn. Walk with pruning instead, and skip Library / AppData in search too.

The composer chip now shows the session total by default, with the context window
bar behind a Settings toggle.
2026-07-30 13:10:30 -07:00
Rohit C Prasad fe034c8b70 models: Kimi K3 via Together (1M window, vision); right-align the more/less toggle
Toggle also loses its underline.
2026-07-30 10:32:47 -07:00
Rohit C Prasad 1e819e0159 transcript: clamp long user messages with a more…/less… toggle
Pastes over 1200 chars collapse in the bubble; copy still gets the full text.
2026-07-30 10:25:32 -07:00
Rohit C Prasad f9f51c97c6 compaction: live progress signal + user-message cap
COMPACTING event drives a 'Compacting context…' transient in the GUI.
Cap the compacted block's user-message list at 40 with an honest omitted count.
2026-07-30 06:24:39 -07:00
Devika Verma 4fa8acffed compaction: Settings overrides + GUI divider (OPE-27 3/4)
Settings -> Models grows a Context compaction card next to Token savings:
the trigger % of the context window (10-95), the absolute token cap
(clamped 10k-2M), and the summarizer-model pin (default: the session's
own model). POST /v1/settings/compaction persists them; engines read the
knobs live per check, so changes apply to running sessions immediately.

The "context compacted" divider rides the existing notice machinery: the
persisted `compacted` notice replays on reload (itemsFromMessages) and
the live COMPACTED event appends the same info notice mid-turn. The
transcript itself stays intact - outbound-only by construction.

Covered by vitest (marker replay), a settings-card e2e (defaults +
clamped POSTs + model pin), and a mid-session divider e2e driven by the
fixtures' scripted `compacted` event.
2026-07-29 16:20:24 +05:30
Devika Verma 70cd1fa3d4 ask_user upgrades: rich options, grouped questions, option previews (OPE-51)
Options accept {label, description, recommended, preview} objects (plain
strings unchanged — old sessions render as today's pills), and `questions`
groups up to 4 questions into one call, rendered as a stepper via the
header chips. Any option preview switches the card to a two-pane layout:
options left, monospace pane right, following hover/focus.

Grouped calls resolve with a JSON map keyed by header-or-question and
return {answers: {...}} to the agent (single stays {answer: ...});
a grouped item's first question doubles as its title/options so channel
mirrors and legacy surfaces degrade sensibly. Channel buttons use option
labels; grouped items mirror as text with the open-the-app hint.
2026-07-29 15:52:05 +05:30
Devika Verma 964da79ad6 Merge branch 'main' of https://github.com/andrewyng/openworker into feature/memory 2026-07-29 12:04:52 +05:30
Rohit C Prasad 27311cd97f Usage popover: 'Uncached input' when a cache split exists
Input rows then read as components: uncached + cache reads + cache
writes = Total input; plain 'Input' stays for cacheless backends.
2026-07-28 11:48:21 -07:00
Rohit C Prasad d1524b3376 Usage popover: label rows as session totals
Section header 'Session totals' + pluralized cache rows make the
cumulative semantics explicit.
2026-07-28 11:42:44 -07:00
Rohit C Prasad a35b505659 Usage popover: add cumulative Total input row
Fresh + cache read + cache write — the session's billed input volume;
shown only when a cache split exists.
2026-07-28 11:39:15 -07:00
Rohit C Prasad 92c1833223 Usage popover: one field per line
Stacked label/value rows instead of the wrapped inline stats; values are
session sums per model (fresh input split from the cache rows).
2026-07-28 11:30:57 -07:00
Devika Verma ef59b0f39a Memory V1: remembered facts, your instructions, one screen
Coworkers remember durable things you tell them and use them in future sessions.
One Settings screen lists everything remembered - edit, delete, or stop new saves; standing instructions ride along.
Knowledge is session-stable, the save switch is per-message; sqlite gains a summary column via in-place migration.
2026-07-28 20:32:14 +05:30
Rohit C Prasad 7a108b25f9 Show per-session token usage in the composer
Quiet chip (context-fill meter + session total) opening a per-model
input/output/cache breakdown popover; accumulation from live events,
rebuilt from persisted sidecars on load; unit + e2e coverage.
2026-07-27 21:15:30 -07:00
Rohit C Prasad f281b29ff1 Provider auth redesign: joined segments, method panels, Vertex methods
Segmented track + inset per-method panel with its own Test & save footer.
Vertex gains the same treatment: Google Cloud login (default), service account,
and API key (express mode, Gemini-only with a clear error elsewhere).
2026-07-26 21:10:59 -07:00
Rohit C Prasad b3a2b130d2 Vendor Bedrock, Vertex, and OpenRouter brand marks
Same MIT lobe-icons set as the existing gallery logos.
2026-07-26 21:04:49 -07:00
Rohit C Prasad b719227a9a Bedrock settings: one auth method at a time
'Connect with' segmented choice (API key / profile / IAM keys) shows only that
method's fields; non-selected fields are dropped at build so stale values can't leak.
2026-07-25 22:55:28 -07:00
Rohit C Prasad 333f589c80 Support Bedrock API keys (bearer auth)
New optional field: paste the console-generated key, no CLI/IAM setup needed.
Takes precedence over SigV4 credentials, matching boto3; live-tested on Converse.
2026-07-25 21:58:24 -07:00
Rohit C Prasad 241af5e15f GUI: multi-field provider credentials and add-model family dropdown
Test button and saved pill follow the required-secret field (or the first field for
cloud providers); Bedrock/Vertex add-model rows get a family selector.
2026-07-25 16:22:27 -07:00
Rohit C Prasad ee495b9006 Add OpenRouter as an OpenAI-compatible reseller provider
Descriptor + curated matrix rows + sk-or- key auto-detect (server and GUI).
2026-07-25 16:07:33 -07:00
Rohit C Prasad fc6ce501dd Add Meta Model API provider with Muse Spark 1.1 2026-07-25 01:21:07 -07:00
Rohit P 7656952692 security: harden Slack approval handling 2026-07-24 22:33:13 -07:00