Commit graph

193 commits

Author SHA1 Message Date
bearsyankees
bda89717d5 Merge remote-tracking branch 'origin/main' into HEAD
# Conflicts:
#	strix/interface/main.py
#	strix/report/dedupe.py
2026-08-28 12:58:35 -04:00
bearsyankees
d265724bfa Make cloud CLI workflows actionable and safe 2026-08-28 12:53:08 -04:00
devin-ai-integration[bot]
cf179d564e
fix(llm): bind dedupe credentials to a provider; send reasoning=max via extra_body (#1187)
Co-authored-by: Ahmed Allam <ahmed39652003@gmail.com>
2026-08-28 09:27:57 -07:00
devin-ai-integration[bot]
583af23d9a
fix(llm): only attach prompt-cache points on routes LiteLLM serves (#1186)
Co-authored-by: Ahmed Allam <ahmed39652003@gmail.com>
2026-08-28 09:26:57 -07:00
bearsyankees
b074e0f632 Improve cloud CLI human list views 2026-08-28 10:54:58 -04:00
bearsyankees
bee88d95d2 Fix provider token request handling 2026-08-28 10:31:12 -04:00
bearsyankees
de5fcfb283 Allow signed storage upload URLs 2026-08-28 09:56:09 -04:00
bearsyankees
3ca4f4ce72 Clarify chat file path handling 2026-08-28 09:51:21 -04:00
bearsyankees
916af24a19 Correct cloud vulnerability status guidance 2026-08-28 09:46:15 -04:00
bearsyankees
6b66606dfd Clarify cloud test user MFA options 2026-08-28 09:34:13 -04:00
bearsyankees
45353743b8 Merge remote-tracking branch 'origin/main' into devin/1787772918-strix-login 2026-08-28 09:04:15 -04:00
bearsyankees
b984038ed5 Add agent-friendly managed cloud CLI 2026-08-28 09:04:12 -04:00
bearsyankees
1465b57a78 fix(cloud): infer scan type from local targets 2026-08-27 18:42:57 -04:00
bearsyankees
7095d1dcae feat(cloud): upload local source for managed scans 2026-08-27 18:11:07 -04:00
bearsyankees
bb32a7d4b0 feat(cloud): tailor human list and detail views 2026-08-27 17:50:32 -04:00
bearsyankees
cf7224923c feat(cli): add native shell completions 2026-08-27 17:48:37 -04:00
bearsyankees
9aa6b862a9 feat(cloud): improve human navigation and output 2026-08-27 17:46:29 -04:00
bearsyankees
4765838330 fix(cloud): make session command help non-destructive 2026-08-27 17:35:56 -04:00
bearsyankees
1b9f41d244 fix(cloud): preserve scopes when switching workspaces 2026-08-27 17:30:16 -04:00
yoni-at-strix
717ffc8f4c
Isolate MCP connections per task and surface connection status in the UIs (#1181) 2026-08-27 14:10:44 -07:00
bearsyankees
c59e36d353 fix(cloud): send required PR review integration fields 2026-08-27 15:58:42 -04:00
bearsyankees
a02c56423c fix(cloud): align agent commands with API contracts 2026-08-27 15:53:56 -04:00
bearsyankees
41927358eb fix(cloud): preserve API auth during MPP payment 2026-08-27 01:01:32 -04:00
Alex Schapiro
2df99a2873 feat(cli): pass a Stripe payment method to the top-up wallet client 2026-08-26 23:36:42 +00:00
yoni-at-strix
cbb0f57058
Reach MCP tools on demand instead of registering every one (#1175) 2026-08-26 16:31:08 -07:00
Alex Schapiro
8d66c66968 feat(cli): manage workspaces and hosted onboarding links from strix cloud 2026-08-26 23:01:36 +00:00
Ahmed Allam
8b655de615 Mirror the run's threat models into its state dir so resume keeps them 2026-08-27 01:36:47 +03:00
Ahmed Allam
7d8d71beea Scope threat models to the current run instead of caching them on disk 2026-08-27 01:36:47 +03:00
Alex Schapiro
56008a6c50 feat(cli): add the strix cloud command surface for the managed platform 2026-08-26 22:30:09 +00:00
devin-ai-integration[bot]
bfaaa904f2
fix(update): re-exec runs the new binary after self-update (endless update-prompt loop) (#1168)
Co-authored-by: Ahmed Allam <ahmed39652003@gmail.com>
2026-08-25 15:13:35 -07:00
alex s
187f41f36f
Treat literal 'null'/'none' strings as absent for optional tool args (#1164)
* Treat literal 'null'/'none' strings as absent for optional tool args

Models routinely pass the literal string "null" or "none" instead of
omitting an optional argument. Taken at face value it becomes a filter
that matches nothing, so tools like list_notes / list_reports /
list_requests silently return no results.

Coerce such values to None in the central argument-coercion layer, but
only for parameters the schema allows to be null (or that are absent from
a declared "required" list), so required strings keep the literal value.
The list/filter helpers normalize the same values too, so a direct call
can't regress.

* Limit nullish coercion to query tools and keep literal tags

A literal "null"/"none" is only a mistake where the argument is a filter, so
gate the coercion on read-only query tools; a tool that writes keeps the value,
which stops update_note(content="none") from being read as "leave unchanged".

Stop dropping nullish entries from a notes tag filter too: tags are free-form,
so a literal "none" tag stays filterable and mixed tag queries keep every
branch.
2026-08-25 13:21:12 -04:00
yoni-at-strix
f4ef8867f6
Add MCP server support (#1137)
* add a generic MCP client and a config for connecting MCP servers

* Add MCP docs and CLI polish: docs page, startup connect summary, --mcp-config flag, compact tool output

* Add MCP connection notes and per-run selection; clean up on cancel and dedupe names

* Show errored MCP tool calls as failed in the TUI

* Sanitize namespaced tool names so model APIs accept them

* Show MCP tool calls distinctly in the terminal and the run viewer

* Say what MCP servers are worth connecting for

* Correct the notes docstring to match how notes reach the agent

* keep the mcp tests from reading your shell's STRIX_MCP_* vars
2026-08-24 14:00:16 -04:00
devin-ai-integration[bot]
391d81bea7
feat(agents): evidence discipline, and coverage as a first-class artifact (#961)
Co-authored-by: Ahmed Allam <ahmed39652003@gmail.com>
2026-08-24 03:34:09 -07:00
devin-ai-integration[bot]
1c499c5b2d
perf: bootstrap Caido concurrently with the scan start (#1143)
Co-authored-by: Ahmed Allam <ahmed39652003@gmail.com>
2026-08-21 12:09:59 -07:00
devin-ai-integration[bot]
1ce43d1b94
perf: take heavy imports off the startup path and pre-warm them in the background (#1141)
Co-authored-by: Ahmed Allam <ahmed39652003@gmail.com>
2026-08-20 20:24:08 -07:00
RAJVARDHAN PATIL
e152c4c7c0
fix(report): raise RuntimeError on non-object run.json (fixes #1109) (#1116) 2026-08-20 13:41:04 -07:00
oyasumi
deb2057e20
fix(tui): preserve cost when state is truncated (#1086)
Co-authored-by: oyasumi <oyasumi@kantilabs.xyz>
2026-08-20 13:36:01 -07:00
Alex Schapiro
d6f2218756 Drop strict tool schemas on Claude routes 2026-08-20 23:12:23 +03:00
oyasumi
6f88b7d7d5 Require viewer session for run data 2026-08-19 15:25:57 -04:00
oyasumi
8d3693df8c Expose viewer host option 2026-08-19 15:25:57 -04:00
alex s
8ede419dcc
handle resume tokens gracefully (#1097)
* Fix telemetry deltas for resumed runs

* Fix resumed telemetry duration
2026-08-17 16:55:27 -04:00
Ahmed Allam
a46a60cf6a feat(reporting): require contextual CVSS and usage evidence on dependency reports 2026-08-17 14:35:21 +03:00
Ahmed Allam
e442db9c93 Contextual CVSS as a full 8-metric breakdown, computed like a normal finding 2026-08-17 13:03:41 +03:00
Ahmed Allam
9c0d30a0d0 reporting: require the source-to-sink trace in reachability evidence, not just CVSS reasoning 2026-08-17 13:03:41 +03:00
Ahmed Allam
99e2d5d826 reporting: drop per-metric contextual CVSS reasoning, keep the summary 2026-08-17 13:03:41 +03:00
Ahmed Allam
310f310e28 feat(reporting): contextual CVSS environmental metrics on dependency reports 2026-08-17 13:03:41 +03:00
yoni-at-strix
8551339130
feat: place caller-provided files into the sandbox workspace (extra_files, --workspace-file) (#1085)
* add extra-files plumbing so orchestrators can drop single files into the sandbox workspace

* reject extra-file paths that collide with a local source tree

* add --workspace-file so CLI users can place files in the sandbox workspace

* reject repeated and control-character workspace paths

* revalidate persisted workspace files when resuming a run

* drop the workspace-file size limit
2026-08-14 16:43:08 -04:00
Alex Schapiro
8ca0c4a9b8 Fix LiteLLM cost model resolution 2026-08-12 17:26:00 +03:00
devin-ai-integration[bot]
174c16fa26
fix(llm): send OpenRouter app attribution on the request itself (#1045) 2026-08-10 11:24:02 -07:00
Ahmed Allam
649a2e2140 fix(llm): omit parallel_tool_calls on tool-less requests 2026-08-09 15:44:16 +03:00