Commit Graph
46 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 8b031db685 Read bodies of responses the engine never recorded
A send with no request behind it — a plugin's ad-hoc ctx.httpRequest.send,
GraphQL introspection — gets a generated id and a body file, but no row.
Resolving purely through the database refused those, which would have
broken auth-oauth2 the moment it moved off readFileSync, since every
request it sends is ad-hoc.

The store now falls back to the response directory when there is no row,
accepting only ids shaped the way the engine generates them. Such a
response has no stored headers, so contentType is null and text()
decodes as UTF-8 — which is what the filesystem readers did anyway.
2026-08-16 09:35:03 -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
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
30f006401a CLI plugin host: handle send/render HTTP requests (#415)
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-03 16:41:53 -08:00
Gregory Schier d2c1bd79ac Fix chaining multiple requests together.
Fixes
https://yaak.app/feedback/posts/request-chaining-issue-on-cold-start
2026-02-26 08:12:54 -08:00
Gregory Schier cc5d4742f0 Don't select current request by default for response chaining 2026-02-05 13:08:08 -08: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 2bac610efe Official 1Password Template Function (#305) 2025-11-22 06:08:13 -08:00
Gregory Schier 569e506f32 Try rel imports 2025-11-18 09:09:56 -08:00
Gregory Schier 6d7a08758f Try rel imports 2025-11-18 09:09:39 -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 d83aabd2be Dynamic template function args and TTL option for request chaining (#266) 2025-10-16 14:39:30 -07:00
Gregory Schier 523e7dcf16 Add bootstrap to release script (to fix lint) 2025-09-22 08:57:05 -07:00
Gregory Schier fa98351e30 Fix lint 2025-09-21 08:04:47 -07:00
Gregory SchierandGitHub eb3d1c409b Merge pull request #256
* Update environment model to get ready for request/folder environments

* Folder environments in UI

* Folder environments working

* Tweaks and fixes

* Tweak environment encryption UX

* Tweak environment encryption UX

* Address comments

* Update fn name

* Add tsc back to lint rules

* Update src-web/components/EnvironmentEditor.tsx

* Merge remote-tracking branch 'origin/folder-environments' into folder…
2025-09-21 07:54:26 -07:00
Gregory Schier 0c60d190af Fix lint errors and show docs explorer on Cmd click 2025-07-14 14:52:16 -07:00
Gregory Schier 6f1fd7a254 Fix lint errors after upgrades and narrow tsc 2025-07-14 10:09:08 -07:00
Gregory Schier 6df13c452b Upgrade dependencies 2025-07-14 07:35:37 -07:00
Gregory Schier 6c0f9377cd Fix plugin builds 2025-07-07 14:17:47 -07:00
Gregory Schier 47722643ee Add descriptions to plugins 2025-07-06 12:47:13 -07:00
Gregory SchierandGitHub 19ffcd18a6 gRPC request actions and "copy as gRPCurl" (#232) 2025-07-05 15:40:41 -07:00
Gregory SchierandGitHub 19c6ad9d97 Theme plugins (#231) 2025-07-03 13:06:30 -07:00
dependabot[bot]GitHubdependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
00c0884616 Bump jsonpath-plus from 9.0.0 to 10.3.0 (#220)
Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-29 08:05:45 -07:00
Gregory Schier 101efdd512 Merge plugins repo into mono 2025-05-29 08:02:24 -07:00
Gregory Schier 723e8d2874 Move everything into subdir for repo merge 2025-05-29 07:16:39 -07:00
Gregory SchierandGitHub 252d23bb0e Support for OAuth 2.0 (#5) 2025-01-26 13:32:17 -08:00
Gregory Schier 16af8bf008 JWT plugin 2025-01-17 14:38:17 -08:00
Gregory SchierandGitHub e213c76870 More plugins (#4) 2025-01-14 10:52:32 -08:00
Gregory Schier 9d24aefba1 Add template function descriptions 2024-10-15 07:47:26 -07:00
Gregory Schier 17a429525f Tweak plugins 2024-10-15 07:45:45 -07:00
Gregory SchierandGitHub 54689d19ef Add more template tag plugins (#3) 2024-10-02 06:56:07 -07:00
Gregory Schier 9df586cb59 NPM workspaces 2024-09-30 18:11:51 -07:00
Gregory Schier 035d7927f9 Fix types 2024-09-22 11:09:18 -07:00
Gregory Schier aed73482d1 Bump @yaakapp/api deps 2024-09-20 07:09:01 -07:00
Gregory Schier 92ac91733e Handle Postman URL query and variable fields 2024-09-17 05:58:21 -07:00
Gregory Schier 29d2d0ec62 Prevent infinite recursion in response tag
Closes yaakapp/app#90
2024-09-16 06:37:48 -07:00
Gregory Schier 107fe46852 Add @yaakapp/cli dependency 2024-09-09 12:11:37 -07:00
Gregory Schier 48e62eb1d9 CI workflow 2024-09-09 11:43:21 -07:00
Gregory Schier 6ce1369a88 Upgrade deps 2024-09-06 06:39:57 -07:00
Gregory Schier af9c5c0294 Lowercase response function name 2024-08-26 15:02:44 -07:00
Gregory Schier d4baddc8d4 Fix bug 2024-08-26 13:10:22 -07:00
Gregory Schier 7ca3b9bd20 Send purpose with render request 2024-08-23 13:31:39 -07:00
Gregory Schier 5ba11ca788 Bump plugin deps 2024-08-22 11:27:57 -07:00
Gregory Schier d1871b19ee Template response plugin 2024-08-19 19:11:36 -07:00