tlongwell-block and Dawn
72824221c0
mesh-llm: B5 discovery — subscribe + render in settings card
...
shared/constants/kinds.ts: KIND_MESH_LLM_DISCOVERY = 31990 (matches
sprout_core::kind::KIND_MESH_LLM_DISCOVERY).
shared/api/relayClientSession.ts: subscribeToMeshLlmOffers(onEvent)
issues a NIP-01 REQ for kinds=[31990], limit=200. Returns the latest
snapshot plus a live stream. Membership is enforced relay-side via the
existing NIP-43 fan-out gate, so consumers see only offers authored by
relay members.
features/settings/hooks/useMeshLlmOffers.ts: parses each event's
content as MeshLlmOffer (mirrors sprout_core::mesh_llm shape), keys
offers by (pubkey, d_tag) per NIP-33. Empty content => drop entry
(matches the Rust publisher's delete-by-replace path). Newest-first
sort. Returns { offers, error } for the consumer hook contract.
features/settings/ui/MeshComputeSettingsCard.tsx: new 'Compute offered
by other members' section between the caps fieldset and the identity
footer. Empty-state copy when no offers; otherwise a list with
pubkey-short / d_tag / advertised models / caps for each.
scripts/check-file-sizes.mjs: relayClientSession override 930 -> 960
to absorb subscribeToMeshLlmOffers; comment updated to mention it so
future readers know why.
pnpm check, pnpm typecheck both clean. The full publish/discover loop
runs end-to-end: user A toggles -> kind:31990 hits relay -> user B's
useMeshLlmOffers hook receives it -> card renders 'A is offering ...'.
The only remaining gap to actually use the compute is the iroh dial,
which is the deferred question for Tyler.
Signed-off-by: Tyler Longwell <109685178+tlongwell-block@users.noreply.github.com >
Co-authored-by: Dawn (sprout agent) <c6237ef84fa537c78dcee78efd2d4e59f728859c7f194da42ac51ededfa0be05@sprout-oss.stage.blox.sqprod.co >
2026-05-19 17:10:26 -04:00
c0eb5affcf
refactor(huddle): switch local TTS to Pocket TTS (Kyutai/sherpa-onnx) ( #607 )
...
Signed-off-by: Tyler Longwell <tlongwell@squareup.com >
Signed-off-by: npub1cc3ha7z055mu0rwwu7806t2wt8mj3pvu0uv5mfp2c50dahaqhczshdalg6 <c6237ef84fa537c78dcee78efd2d4e59f728859c7f194da42ac51ededfa0be05@sprout-oss.stage.blox.sqprod.co >
Co-authored-by: npub1cc3ha7z055mu0rwwu7806t2wt8mj3pvu0uv5mfp2c50dahaqhczshdalg6 <c6237ef84fa537c78dcee78efd2d4e59f728859c7f194da42ac51ededfa0be05@sprout-oss.stage.blox.sqprod.co >
2026-05-18 14:28:27 -04:00
tlongwell-block and GitHub
3daf8d6ae1
feat(huddle): swap STT default to Parakeet TDT-CTC 110M (EN, int8) ( #562 )
...
Signed-off-by: Tyler Longwell <109685178+tlongwell-block@users.noreply.github.com >
Signed-off-by: Tyler Longwell <tlongwell@squareup.com >
2026-05-15 22:22:05 -04:00
tlongwell-block and GitHub
32347d117c
feat(desktop): per-persona and per-agent env var overrides ( #594 )
2026-05-15 10:43:00 -04:00
tlongwell-block and GitHub
3a3501c77b
fix(desktop): autofocus message composer on channel/thread open ( #572 )
...
Signed-off-by: Tyler Longwell <109685178+tlongwell-block@users.noreply.github.com >
2026-05-14 20:35:44 -04:00
efbdc7bfd5
feat(desktop): persona-first agent UX + bug fixes ( #570 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-13 15:13:41 -07:00
tlongwell-block and GitHub
9a403d3e8a
fix: channel member search via NIP-50 + Typesense indexer fix for kind:0 ( #569 )
...
Signed-off-by: Tyler Longwell <109685178+tlongwell-block@users.noreply.github.com >
2026-05-13 15:03:35 -04:00
8716aefa3c
fix(desktop): use resolve_command for ffmpeg discovery in sandboxed app ( #568 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-13 11:00:00 -07:00
tlongwell-block and GitHub
9c258e4beb
feat(desktop): GUI for agent respond-to gate (owner-only / anyone / allowlist) ( #557 )
2026-05-13 12:48:42 -04:00
ef5fdca792
feat(desktop): add Projects as first-class top-level view ( #546 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-12 10:51:09 -07:00
1b9f6169ee
feat(desktop): channel templates — reusable project settings ( #538 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-11 12:31:25 -07:00
tlongwell-block and GitHub
22f1e0b724
Launch sprout-agent from the desktop GUI ( #529 )
2026-05-11 12:36:53 -04:00
5fff9239fa
feat(desktop): notification sound + sender names in titles ( #501 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-07 17:25:29 -07:00
0dcfa86f84
chore: remove dead API token references from GUI, docs, and config ( #498 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-07 19:07:44 +00:00
27bcd45cc9
Refresh built-in personas: Solo, Kit, Scout + Kit & Scout team ( #499 )
...
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com >
2026-05-07 18:22:26 +00:00
f309446f22
Polish reply timeline interactions ( #477 )
...
Co-authored-by: Cursor <cursoragent@cursor.com >
2026-05-07 09:43:47 -07:00
ec489c5b1a
feat(desktop): add keep awake while agents are active setting ( #484 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-05 13:14:00 -07:00
tlongwell-block and GitHub
454781caae
Sprout speaks Nostr. Nothing else. ( #475 )
2026-05-05 12:03:06 -04:00
Luis Padron and GitHub
f08d4f4034
ci(release): sign and notarize macOS build via apple-codesign-action ( #472 )
2026-05-04 12:06:47 -04:00
tlongwell-block and GitHub
8916825c45
feat(pairing): auto-detect NIP-43 relay and route target to /pair sidecar ( #470 )
2026-05-03 22:12:14 -04:00
35d0c2da5e
fix(ci): add ad-hoc code signing to OSS release build ( #466 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-03 12:15:19 -07:00
31e23cfc3b
fix(ci): add verbose output and fix release config double-merge ( #464 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-03 18:05:57 +00:00
Wes and GitHub
22cb8129e5
feat(desktop): add OSS release workflow and auto-updater support ( #461 )
2026-05-03 16:21:58 +00:00
f946e9b68a
feat: user profile panel with hover popover and click-to-expand ( #456 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-02 15:21:26 -07:00
e105c9ea5e
feat(desktop): add relay membership admin UI in settings ( #454 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-02 16:56:41 +00:00
tlongwell-block and GitHub
c9f287958d
feat(desktop): wire git-credential-nostr into agent spawn path ( #451 )
2026-05-02 11:46:49 -04:00
56f5062b74
feat: add NIP-38 user status for desktop and mobile ( #449 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-05-01 17:02:59 -07:00
Bradley Axen and GitHub
7c2c556d72
feat: Add local ACP session observer ( #412 )
2026-04-29 04:21:58 +00:00
2a01ca590d
Implement NIP-RS unread state sync ( #420 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-28 20:54:09 -07:00
00a4aaba3d
fix(desktop): key-based React remount for workspace switching ( #415 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-28 18:13:12 +00:00
tlongwell-block and GitHub
d1c84a621c
feat(nip-oa): Owner Attestation — cryptographic proof of agent authorization ( #406 )
2026-04-28 09:29:15 -04:00
a9024c2c78
Add multi-workspace support to desktop app ( #409 )
...
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-04-28 04:47:11 +00:00
c6c27481a3
fix(desktop): resolve agent command path for DMG builds ( #372 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-20 13:16:20 -07:00
cca1d51012
Remove release pipeline from public repo ( #360 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-18 06:55:09 -07:00
fc67dac4c6
feat: NIP-AB device pairing — Phase 2 (desktop + mobile UI) ( #343 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-16 15:25:18 -07:00
tlongwell-block and GitHub
70059efa4a
perf(tts): reduce Kokoro time-to-first-audio with session warmup and threading ( #342 )
2026-04-16 17:37:38 -04:00
tlongwell-block and GitHub
d99332e169
fix: cancel TTS on remote human speech in multi-participant huddles ( #332 )
2026-04-15 21:23:51 -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
Will Pfleger and GitHub
ccecf7e362
Add edit dialog for managed agents with relay profile sync ( #277 )
2026-04-13 18:15:43 +00:00
tlongwell-block and GitHub
d07385fe02
feat: Markdown-based persona packs (crate + ACP + desktop) ( #297 )
2026-04-11 13:32:14 -04:00
1211b0edc6
feat(desktop): add Pulse social notes surface ( #296 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-10 17:09:38 -07:00
tlongwell-block and GitHub
ff86e0cf49
feat: add Sprout nest — persistent agent workspace at ~/.sprout ( #290 )
2026-04-10 15:01:26 -04:00
Will Pfleger and GitHub
d0970d64e6
Add per-agent MCP toolset configuration to agent setup ( #279 )
2026-04-10 13:42:04 -04:00
41d343bb35
feat(desktop): team & persona import/edit flows ( #288 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-10 07:17:19 -10:00
tlongwell-block and GitHub
61efb883a1
feat: Phase 1 video upload support (Blossom-compliant-ish) ( #285 )
2026-04-10 12:23:29 -04:00
Wes and GitHub
4d44f4741f
Restore chooser-based persona catalog flow ( #275 )
2026-04-08 21:04:09 -07:00
68a3d16d9e
Fun bot names from persona name pools ( #273 )
...
Co-authored-by: Claude Opus 4.6 (1M context) <noreply@anthropic.com >
2026-04-08 16:41:08 -07:00
Wes and GitHub
7e4bcfb8c2
[codex] Reduce desktop release startup work ( #269 )
2026-04-08 11:13:14 -07: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