Wes and Claude Opus 4.6
d5f6c7d819
merge: resolve conflict with main (clippy fix already applied upstream)
...
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-21 16:15:20 -07:00
Wes and Claude Opus 4.6
02cbc39fa4
fix: resolve pre-existing clippy collapsible_match warnings
...
Collapse nested if blocks into match guard patterns in messages.rs
and ingest.rs to satisfy clippy::collapsible_match.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-21 15:33:00 -07:00
Wes and Claude Opus 4.6
d40c918f09
feat: add Project entity with auto-injected agent context
...
Introduces a first-class Project entity that groups channels and
provides shared context to agents — eliminating the need to
copy-paste canvas instructions into every new channel.
Projects are relay-stored Nostr events (kinds 50001-50003) with a
full CRUD pipeline: DB table, relay ingest/side-effects, REST API,
SDK builders, and 5 MCP tools (create, get, list, update, delete).
Channels gain an optional project_id FK. When a channel belongs to
a project, the ACP harness automatically injects the project's
prompt, repos, and environment into the [Context] block that agents
receive — no manual setup required.
Includes 21 tests (SDK builders, ingest classification, DB CRUD),
environment validation, empty-update guards, and updates to
VISION.md and TESTING.md.
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-21 15:30:11 -07:00
3df7e7107f
Fix zombie agent detection and surface stopped agent cleanup ( #380 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-21 14:56:00 -07:00
725dc351d7
Desktop UX polish: chat input, agent bulk actions, starting badge ( #378 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-21 10:42:11 -07:00
tlongwell-block and GitHub
b9250081cb
perf: caching, batched DM resolution, bounded audit, global kind index ( #367 )
2026-04-20 12:58:58 -04:00
43a152e262
nip-ab: Tamarin formal verification (strengthened) ( #349 )
...
Co-authored-by: Jordan Mecom <jm@squareup.com >
2026-04-17 15:56:40 -04:00
tlongwell-block and GitHub
9cce7b8bbb
nip-ab: clarify transcript_hash role and fix protocol diagram ( #346 )
2026-04-16 20:25:47 -04:00
tlongwell-block and GitHub
2506341a28
fix(relay): persist huddle lifecycle events to DB ( #341 )
2026-04-16 15:37:59 -04:00
tlongwell-block and GitHub
b8d6a5cf8b
feat: NIP-AB device pairing — Phase 1 (core library + CLI) ( #333 )
2026-04-16 14:56:36 -04:00
Jordan Mecom and GitHub
6c0e363bdd
[codex] Fix authz, scope propagation, and shell-injection bugs ( #320 )
2026-04-16 12:03:35 -04:00
f03bbe3dd7
feat(desktop+acp+mcp): deterministic nested thread replies via persisted reply context ( #322 )
...
Co-authored-by: Tyler Longwell <tlongwell@squareup.com >
2026-04-15 17:58:50 -04:00
tlongwell-block and GitHub
811c8f3f07
Replace LiveKit with WebSocket Opus audio relay ( #326 )
2026-04-15 15:02:27 -04:00
tlongwell-block and GitHub
dd6107d0d0
feat: Sprout Huddles — voice conversations with AI agents ( #299 )
2026-04-14 13:11:09 -04:00
thomaspblock and GitHub
0f5f306364
feat(desktop): deterministic nested thread panels ( #308 )
2026-04-13 18:37:37 -07:00
tlongwell-block and GitHub
d07385fe02
feat: Markdown-based persona packs (crate + ACP + desktop) ( #297 )
2026-04-11 13:32:14 -04:00
Jordan Mecom and GitHub
489d69ffde
Fix auth and SSRF vulns ( #261 )
2026-04-10 18:37:10 +00:00
tlongwell-block and GitHub
61efb883a1
feat: Phase 1 video upload support (Blossom-compliant-ish) ( #285 )
2026-04-10 12:23:29 -04:00
a3a4127d98
Allow bot owners to remove their agents from any channel ( #284 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-09 15:06:23 -07:00
7a9218ba54
Update all non-major dependencies ( #248 )
...
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Wes <wesb@block.xyz >
2026-04-08 11:55:11 -07:00
tlongwell-block and GitHub
8bfce0975b
feat: social notes MCP + CLI tools (kind:1/kind:3) ( #268 )
2026-04-08 14:08:53 -04:00
c07b14bd9f
feat: ephemeral channels with TTL-based auto-archiving ( #232 )
...
Co-authored-by: Wes <wesbillman@users.noreply.github.com >
2026-04-07 11:37:51 -07:00
tlongwell-block and GitHub
853ebe5bfd
feat: auto-resolve @mentions in MCP server and CLI ( #256 )
2026-04-07 12:57:33 -04:00
tlongwell-block and GitHub
67706c93be
NIP-33: d-tag keyed replacement for parameterized replaceable events ( #246 )
2026-04-06 21:15:01 -04:00
tlongwell-block and GitHub
d5bd78377e
feat: accept kind:1 text notes and kind:3 follow lists (NIP-01/NIP-02) ( #245 )
2026-04-06 20:59:11 -04:00
tlongwell-block and GitHub
463d6d26d7
feat(acp): add --multiple-event-handling flag with cancel+re-prompt ( #216 )
2026-04-04 15:34:32 -04:00
ddd54a6e84
feat: add Workflows UI surface ( #217 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-03 11:54:29 -07:00
tlongwell-block and GitHub
579da797e0
feat(acp): accept events from sibling agents in owner-only mode ( #211 )
2026-04-02 11:56:36 -07:00
tlongwell-block and GitHub
9662adf8d2
feat(acp): add inbound author gate (--respond-to) ( #207 )
2026-04-01 12:14:30 -04:00
tlongwell-block and GitHub
195fdfff2f
fix(acp): follow-up hardening from PR #200 independent review ( #201 )
2026-03-28 08:11:49 -04:00
tlongwell-block and GitHub
e33c6bc0f2
feat(acp,desktop): bump idle timeout default from 300s to 320s ( #195 )
2026-03-27 22:57:08 -04:00
tlongwell-block and GitHub
1dcba0a200
feat(acp): reliability hardening — bulletproof the harness agents live in ( #200 )
2026-03-27 18:25:18 -04:00
Wes and GitHub
19d8b520bc
Support old and new Claude ACP runtimes ( #193 )
2026-03-26 12:50:44 -07:00
tlongwell-block and GitHub
39ecb6a442
feat(acp): idle-based timeout with dual-deadline architecture ( #188 )
2026-03-26 14:54:59 -04:00
c2f7b7a2a1
fix(acp): prefer display names in prompt labels ( #173 )
...
Co-authored-by: Tyler Longwell <tlongwell@squareup.com >
2026-03-25 10:09:57 -07:00
Wes and GitHub
4cc05792ae
fix: add direct fan-out for ephemeral typing events and tune frontend timing ( #170 )
2026-03-24 20:56:53 -04:00
Wes and GitHub
ec66dafd11
fix(acp): set permission mode after session creation to bypass per-tool approval ( #172 )
2026-03-24 17:47:02 -07:00
tlongwell-block and GitHub
b20d4596a9
feat(messages): add since parameter to get_messages API and MCP tool ( #154 )
2026-03-24 14:46:17 -04:00
tlongwell-block and GitHub
25ed2dcc23
feat: event-first refactor — unified ingest pipeline, SDK, client migrations ( #162 )
2026-03-24 13:38:36 -04:00
dfe32bfb2c
feat: add hide/close DM support (Slack-style DM management) ( #157 )
...
Co-authored-by: Tyler Longwell <tlongwell@squareup.com >
2026-03-22 09:00:45 -07:00
9d6e82b173
feat(acp): session rotation on context window exhaustion ( #155 )
...
Co-authored-by: Tyler Longwell <tlongwell@squareup.com >
2026-03-22 08:59:55 -07:00
tlongwell-block and GitHub
4c9b8aae9c
feat: sprout-cli — agent-first CLI with full MCP parity (48 commands) ( #158 )
2026-03-21 21:23:32 -04:00
tlongwell-block and GitHub
168c1ca8de
feat: remote agent backend providers ( #134 )
2026-03-20 20:32:55 -04:00
Wes and GitHub
1f37f7ea52
feat(desktop): add #channel link rendering and autocomplete ( #135 )
2026-03-20 15:19:13 -07:00
tlongwell-block and GitHub
c12feb8c9c
feat: add canary release workflow ( #129 )
2026-03-20 11:45:10 -04:00
tlongwell-block and GitHub
283d59d55b
fix: triage bugs and quick wins ( #127 )
2026-03-20 09:51:09 -04:00
94203d730c
feat: support remote relay deployments (no sprout-admin CLI required) ( #123 )
...
Co-authored-by: Wes <wesbillman@users.noreply.github.com >
2026-03-19 21:13:20 -04:00
6093fc6066
feat: migrate from MySQL to Postgres with pgschema ( #114 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
Co-authored-by: Tyler Longwell <tlongwell@squareup.com >
2026-03-19 12:35:22 -04:00
tlongwell-block and GitHub
efed5307a8
fix(mcp): send threaded replies via WebSocket to prevent self-mention echo ( #115 )
2026-03-19 09:51:55 -04:00
tlongwell-block and GitHub
97b8a732c4
feat: add forum MCP tools — vote_on_post, kinds filter, updated descriptions ( #112 )
2026-03-18 21:48:32 -04:00