Commit Graph
84 Commits
Author SHA1 Message Date
Gregory Schier 0e14625e62 Hand the body back from send instead of holding it for a lookup
Holding an unsaved body against its response id let a plugin stash the id
and read it in a later call, which would throw only sometimes and only
for ad-hoc sends. Documenting that was never going to be enough.

send now returns the response and its body together, so there is nothing
to stash: an unsaved body is a value you were handed. ctx.httpResponse
.body() goes back to meaning one thing, a saved response read by id, and
refuses ids it has no row for. Reading is identical either way, so no
caller has to know which kind of send it made.
2026-08-16 10:07:44 -07:00
Gregory Schier 8c72538102 Say on send() that an unsaved response's body is call-scoped 2026-08-16 10:00:35 -07:00
Gregory Schier ffa6a610b8 Return the body of a send that saved nothing
Replaces the response-directory fallback with what the frontend already
does for ephemeral sends: the engine hands the body back, because it is
the only copy. Guessing at a file named for an id was the store reaching
around its own abstraction, and it is exactly what must not survive the
move to blob storage.

The send reply carries the bytes when the engine returned them, and the
runtime holds them for the rest of the call that sent them, so
ctx.httpResponse.body() answers for a saved and an unsaved response the
same way. Unsaved ones now report a real contentType too, taken from the
response the send already handed back.
2026-08-16 09:54:56 -07:00
Gregory Schier 96c8a95094 Add a plugin API for reading HTTP response bodies
Plugins read bodies by response id through ctx.httpResponse.body()
instead of opening HttpResponse.bodyPath themselves. The accessors are
named after fetch's, minus the single-use semantics, since the bytes are
durable and re-reading should work.

Underneath is a chunked pull over the existing plugin protocol, so the
host can move bodies off the filesystem without plugins noticing.
text() now decodes with the response's charset rather than assuming
UTF-8, and the buffering accessors refuse past 32 MiB and point at
chunks().
2026-08-16 09:20:29 -07:00
68671377fd fix: AWS4 authentication method didn't sign request body (#430)
Co-authored-by: Gregory Schier <gschier1990@gmail.com>
2026-08-14 13:07:05 -07:00
Gregory SchierandGitHub bbdfbcb9ca Add configurable gRPC and WebSocket message size limit (#487) 2026-06-30 09:14:41 -07:00
Gregory SchierandGitHub 8109a28967 Improve sidebar filter suggestions (#477) 2026-06-20 00:10:05 -07:00
Gregory SchierandGitHub fa40ceaa31 Add cookie editing and inherited request settings (#463) 2026-05-18 08:59:49 -07:00
Gregory SchierandGitHub 50f33b45b9 Add domain filter to cookie template function (#452) 2026-05-07 07:06:21 -07:00
Gregory SchierandGitHub a200410697 Fix gRPC Any response reflection (#451) 2026-05-06 07:42:35 -07:00
Gregory SchierandClaude Opus 4.6 b4a1c418bb Run oxfmt across repo, add format script and docs
Add .oxfmtignore to skip generated bindings and wasm-pack output.
Add npm format script, update DEVELOPMENT.md for Vite+ toolchain,
and format all non-generated files with oxfmt.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-13 10:15:49 -07:00
Gregory SchierandGitHub 45262edfbd Migrate to Vite+ unified toolchain (#428) 2026-03-13 09:27:56 -07:00
Gregory SchierandGitHub 88f5f0e045 Add redirect drop metadata and warning UI (#418) 2026-03-05 06:14:11 -08:00
Gregory Schier 0c7051d59c Better external OAuth callback format 2026-03-04 09:10:49 -08:00
Gregory Schier fea4411afa Remove recursive API npm publish script 2026-02-22 14:21:07 -08:00
Gregory SchierandGitHub 4e56daa555 CLI send enhancements and shared plugin event routing (#398) 2026-02-20 13:21:55 -08:00
Gregory SchierandGitHub f98a70ecb4 Add dynamic() support to prompt.form() plugin API (#386) 2026-02-07 08:09:40 -08:00
Gregory Schier d031ff231a Bump plugin runtime types 2026-01-28 08:43:19 -08:00
4e15ac10a6 Add folder CRUD operations to MCP server (#369)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-26 15:08:24 -08:00
Gregory Schier de47ee19ec Fix authentication actions being called with unrendered args 2026-01-15 07:10:33 -08:00
Gregory Schier ba8f85baaf Update feedback links 2026-01-14 06:45:45 -08:00
306e6f358a feat: Add DNS timings and resolution overrides (#360)
Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com>
2026-01-13 08:42:22 -08:00
Gregory SchierandGitHub fe01796536 feat: add ctx.prompt.form() plugin API for multi-field form dialogs (#359) 2026-01-10 08:55:43 -08:00
4c8f768624 [Plugins] [Auth] [JWT] Add addtional JWT headers input (#247)
Co-authored-by: Gregory Schier <gschier1990@gmail.com>
2026-01-09 16:16:08 -08:00
Gregory SchierandGitHub ef80216ca1 Decouple core Yaak logic from Tauri (#354) 2026-01-08 20:44:25 -08:00
Gregory SchierandGitHub ab5c7f638b Fix protected branch push rejections not being detected (#345) 2026-01-05 13:28:41 -08:00
35a57bf7f5 Add plugin API to open URL in external browser (#340)
Co-authored-by: Claude <noreply@anthropic.com>
2026-01-03 13:53:07 -08:00
Gregory SchierandGitHub 92a8da03af (feat) Add ability to disable plugins and show bundled plugins (#337) 2026-01-01 09:32:48 -08:00
Gregory Schier 45be354625 Fix import 2025-12-31 10:33:19 -08:00
Gregory SchierandGitHub 6b9b207e1c MCP Server Plugin (#335) 2025-12-31 08:41:57 -08:00
Gregory Schier 2fc8678183 Fix lint errors 2025-12-28 15:18:01 -08:00
Gregory Schier 8e1959b7c3 Use generated types for FolderActionPlugin and WorkspaceActionPlugin 2025-12-28 15:06:18 -08:00
Gregory Schier 3c45464e34 Get everything working 2025-12-28 15:01:15 -08:00
Gregory Schier 3855058d8f Refactor new actions apis 2025-12-28 14:27:39 -08:00
Gregory Schier 07d743db21 Use workspace from plugin context instead of accepting it as parameter
- Removed workspaceId parameter from ctx.folder.list() and ctx.httpRequest.list()
- Updated event handlers to get workspace from plugin context
- Use proper generated TypeScript types in Context interface
2025-12-28 14:14:09 -08:00
Gregory Schier 6d5ba685f1 Remove unnecessary ctx.file APIs - plugins can use node:fs directly 2025-12-28 14:06:35 -08:00
Gregory Schier 218fdf3715 Merge main into turchinc/main (PR #324) 2025-12-28 13:58:12 -08:00
Gregory SchierandGitHub 26a3e88715 Store and show request body in UI (#327) 2025-12-28 08:07:42 -08:00
Chris Turchin e17aae246b collection plugin actions 2025-12-16 00:47:12 +01:00
Gregory Schier 8d1b17cac1 Add previewArgs support for template functions and enhance validation logic for form inputs 2025-11-27 12:55:39 -08:00
Gregory SchierandGitHub ec3e2e16a9 Switch to BiomeJS (#306) 2025-11-23 08:38:13 -08:00
Gregory SchierandGitHub 84219571e8 Improved prompt function add add ctx.* functions (#301) 2025-11-15 08:19:58 -08:00
593a7ab7e5 Add an option to allow jsonpath/xpath to return as array (#297)
Co-authored-by: Gregory Schier <gschier1990@gmail.com>
2025-11-13 05:57:11 -08:00
Gregory SchierandGitHub 6389fd3b8f Connection re-use for plugin networking and beta NTLM plugin (#295) 2025-11-10 14:41:49 -08:00
Gregory Schier c01b8ce4ca Fix sort priority 2025-10-31 09:40:37 -07:00
Gregory Schier 6e9b1db196 Bump version 2025-10-16 14:42:02 -07:00
Gregory SchierandGitHub d83aabd2be Dynamic template function args and TTL option for request chaining (#266) 2025-10-16 14:39:30 -07:00
Gregory Schier 485a9ea47c Show toast on plugin event handling errors instead of crashing
Also set folder context on template render and fix timestamp function
2025-10-06 06:53:45 -07:00
Gregory Schier 3c8be3f5b9 Gen models 2025-09-21 08:01:49 -07:00
Gregory Schier 38529cc89e Plugin init/dispose 2025-07-26 14:28:59 -07:00