Commit Graph

177 Commits

Author SHA1 Message Date
Will Pfleger
b4d8574e1d Merge remote-tracking branch 'origin/main' into test/cli-612-613
* origin/main:
  fix(infra): pin PGDATA path for forward-compatible Postgres upgrades (#707)
  fix(deps): upgrade redis 1.0 and deadpool-redis 0.23 together (#703)
  Fix SPROUT_SHARE_IDENTITY worktree dev workflow breaks (#702)
  fix(mobile): rename IOSOptions/MacOsOptions to AppleOptions (#706)
  fix(frontend): remove deprecated baseUrl for TypeScript 6 compatibility (#705)
  fix(deps): upgrade getrandom to 0.4 with fill() rename (#704)
  feat(sprout-agent): auto-fallback to Databricks OAuth (#699)
  fix(relay): avoid websocket writes in stall watchdog (#697)
2026-05-21 17:58:41 -04:00
Will Pfleger
091e38ff0a Fix SPROUT_SHARE_IDENTITY worktree dev workflow breaks (#702) 2026-05-21 17:53:20 -04:00
Will Pfleger
4ee1a5b65a Merge remote-tracking branch 'origin/cli-agent-skill' into test/cli-612-613
* origin/cli-agent-skill:
  docs(cli-skill): update skill file to match CLI parity changes
  style: fix rustfmt formatting after rebase
  fix(nest): update skill content for CLI parity changes
  fix(nest): correct skill content inaccuracies + chmod intermediate dirs
  feat(nest): add sprout-cli agent skill to nest initialization
2026-05-21 12:32:07 -04:00
Will Pfleger
bcb8279f34 docs(cli-skill): update skill file to match CLI parity changes
Brings the agent skill file to parity with all 62 CLI subcommands
across 13 command groups after PR #612's output normalization and bug
fixes. Adds 5 missing command groups (social, repos, upload, mem,
pack), 5 missing subcommands in existing groups (channels update/
add-member/remove-member, workflows update/delete), missing flags
(--file, --mention, --kinds, --depth-limit, --limit), fixes output
contract inaccuracies (channels get pubkey field, workflows list
pubkey, exit code 5, feed description), and restructures the Quick
Reference table by output pattern for scannability.
2026-05-21 12:12:34 -04:00
renovate[bot]
26a2107523 chore(deps): update rust crate tokio to v1.52.3 (#658)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-21 01:27:18 +00:00
renovate[bot]
aff627d901 chore(deps): update rust crate sherpa-onnx to v1.13.2 (#657)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-21 01:26:24 +00:00
renovate[bot]
109c7d9a8a chore(deps): update rust crate reqwest to v0.13.3 (#639)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-20 23:08:09 +00:00
renovate[bot]
7d4c129002 chore(deps): update rust crate sherpa-onnx to v1.12.40 (#640)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-20 23:07:37 +00:00
renovate[bot]
55abbfdec6 fix(deps): update rust crate bzip2 to 0.6 (#661)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-20 22:52:18 +00:00
renovate[bot]
f55dc46c4c chore(deps): update rust crate uuid to v1.23.1 (#648)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-20 22:50:02 +00:00
renovate[bot]
3935885bb9 chore(deps): update rust crate tauri-plugin-dialog to v2.7.1 (#644)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-20 22:49:41 +00:00
renovate[bot]
42d9eafabd chore(deps): update rust crate tokio to v1.51.3 (#646)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-20 22:49:13 +00:00
renovate[bot]
576ef8cf86 chore(deps): update rust crate tauri-plugin-opener to v2.5.4 (#645)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-20 22:48:56 +00:00
renovate[bot]
73b4cb797e chore(deps): update rust crate tauri to v2.11.2 (#642)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-20 22:48:26 +00:00
renovate[bot]
cbe6f415bd chore(deps): update rust crate tar to v0.4.46 (#641)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-20 22:47:24 +00:00
Will Pfleger
3474e1e5f0 style: fix rustfmt formatting after rebase
Reformat code after rebasing onto main (which includes PR #614's
nest.rs additions). No logic changes.
2026-05-20 17:56:37 -04:00
Will Pfleger
f60f36e6b1 fix(nest): update skill content for CLI parity changes
Sync SKILL.md descriptions with post-review CLI output shapes: canvas
get returns markdown string or null (not event array), reactions get
returns grouped {emoji, count, pubkeys} (not raw events), users get
always returns array, workflows get documents normalized shape, workflows
runs notes empty-result limitation. Quick reference table updated.
2026-05-20 17:56:37 -04:00
Will Pfleger
8339e5f832 fix(nest): correct skill content inaccuracies + chmod intermediate dirs
Four inaccuracies in nest_skill.md caught by comparing against CLI source:

1. canvas get returns a JSON array of kind:40100 events (markdown in
   `content`), not a plain markdown string. Agents parsing this as a
   raw string would get the Nostr event wrapper, not the content.

2. reactions get returns a raw JSON array of kind:7 events, not the
   aggregated {"reactions": [...]} shape. No aggregation happens in
   cmd_get_reactions.

3. Error stderr category field values were placeholder text ("input error",
   "network/relay error") instead of the actual enum values emitted by
   error.rs: user_error, relay_error, network_error, auth_error, key_error.

4. set-presence documents as working but cmd_set_presence has an explicit
   comment noting it always fails — kind:20001 is ephemeral and the relay
   rejects it over HTTP POST. Added a "this will fail" caveat.

Also fixes a permission gap in nest.rs: create_dir_all(".claude/skills/
sprout-cli") created the intermediate .claude/ and .claude/skills/ dirs
with umask-default permissions (typically 755), but only the final
sprout-cli/ dir was chmod'd to 700. Lock down all three dirs in the
skill path, matching how NEST_DIRS are handled. Test updated to assert
all three dirs get 700 on Unix.

Docstring for ensure_nest_at updated to mention SKILL.md.
2026-05-20 17:56:37 -04:00
Will Pfleger
6946ab03fd feat(nest): add sprout-cli agent skill to nest initialization
Agents migrating from the MCP server to the CLI have no structured
guidance on command usage, output formats, or polling patterns. Ships
a 1,350-word SKILL.md covering all 12 command groups, written to
~/.sprout/.claude/skills/sprout-cli/ on first launch using the same
idempotent O_CREAT|O_EXCL pattern as AGENTS.md.
2026-05-20 17:56:37 -04:00
renovate[bot]
f62707f4dc chore(deps): update rust crate earshot to v1.1.0 (#654)
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
2026-05-20 17:43:33 -04:00
Taylor Ho
af08b0f0e8 fix: prevent agent proliferation when adding bots to channels (#621) 2026-05-20 12:08:34 -07:00
Will Pfleger
582cfc8885 Bundle sprout CLI in DMG release + agent PATH discoverability (#614) 2026-05-19 20:53:46 -04:00
Will Pfleger
50b350dc58 fix(desktop): worktree support — workspace boundary + shared identity (#610) 2026-05-18 19:11:34 -04:00
tlongwell-block
6e1418e571 feat(huddle): fix concurrent-speaker mixing + jitter buffer + protocol v2 (up to 10 peers) (#609)
Signed-off-by: tlongwell-block <109685178+tlongwell-block@users.noreply.github.com>
2026-05-18 16:34:52 -04:00
tlongwell-block
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
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
d1097aa91f chore(desktop): upgrade Tauri to 2.11.x to fix blank window after sleep on macOS (#600)
Signed-off-by: Tyler Longwell <109685178+tlongwell-block@users.noreply.github.com>
2026-05-15 18:59:16 -04:00
tlongwell-block
7171d4954d fix(relay,desktop): only advertise NIP-43 when enforced; probe pairing by supported_nips (#601)
Signed-off-by: Tyler Longwell <tlongwell@squareup.com>
2026-05-15 15:11:37 -04:00
tlongwell-block
32347d117c feat(desktop): per-persona and per-agent env var overrides (#594) 2026-05-15 10:43:00 -04:00
tlongwell-block
13dc0df688 fix(desktop): stop pinning agents to deprecated SPROUT_ACP_TURN_TIMEOUT (#592)
Signed-off-by: Tyler Longwell <109685178+tlongwell-block@users.noreply.github.com>
2026-05-14 21:51:38 -04:00
tlongwell-block
5cdb3062ed fix(desktop): populate member_count in get_channels so channel browser shows real counts (#548)
Signed-off-by: tlongwell-block <109685178+tlongwell-block@users.noreply.github.com>
2026-05-14 20:38:01 -04:00
tlongwell-block
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
Wes
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
9c258e4beb feat(desktop): GUI for agent respond-to gate (owner-only / anyone / allowlist) (#557) 2026-05-13 12:48:42 -04:00
tlongwell-block
61c30add40 feat(desktop): multi-select in the paperclip file picker (#551)
Signed-off-by: tlongwell-block <109685178+tlongwell-block@users.noreply.github.com>
2026-05-12 15:01:48 -04:00
tlongwell-block
effa24f06c fix(desktop): forward cache headers in media proxy (#549)
Signed-off-by: tlongwell-block <109685178+tlongwell-block@users.noreply.github.com>
2026-05-12 14:40:07 -04:00
Wes
11778f4250 feat(desktop): image download, drag-drop prevention, and drop zone indicator (#542)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-11 23:26:12 +00:00
Wes
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
e2b6e8b25a Use dedicated sprout-agent avatar (#532) 2026-05-11 17:16:08 +00:00
tlongwell-block
22f1e0b724 Launch sprout-agent from the desktop GUI (#529) 2026-05-11 12:36:53 -04:00
tlongwell-block
9e8302c35f fix: send x-auth-tag header in agent profile sync (#522) 2026-05-10 20:43:00 -04:00
tlongwell-block
90b0af136d fix: resolve media proxy relay URL dynamically per-request (#518) 2026-05-09 02:58:58 +00:00
Wes
0f10861850 feat(desktop): expand default agent toolsets with canvas, forums, dms, and member list (#510)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-08 10:10:06 -07:00
Wes
ff0806523a prompts(kit, scout): add @-mention discipline section (#506)
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-08 06:15:42 +00:00
Wes
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
Wes
3d585dc044 fix(desktop): prevent-sleep spawn convention + expiry badge (#487)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-05-05 14:44:12 -07:00
tlongwell-block
d90bd768c5 fix(desktop): fetch open channels for channel browser discovery (#488) 2026-05-05 21:11:13 +00:00
Wes
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
ea62664759 post-475 fixes (#481)
Co-authored-by: Wes <wesb@block.xyz>
Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-05 14:41:18 -04:00
tlongwell-block
454781caae Sprout speaks Nostr. Nothing else. (#475) 2026-05-05 12:03:06 -04:00