Repository navigation
[pull] main from firecrawl:main - #466
Merged
Merged
Conversation
* feat: route browser and interact sessions through Hangar * fix(browser): clean up failed upstream operations * fix(python): normalize browser fields only on supported responses * fix(browser): reserve concurrency before creating sessions * fix(profiles): serialize deletion and save reconciliation * chore: keep review validation in existing test cases * fix(browser): persist billing receipts and reserve prompt credits * fix(browser): coordinate and bound session reconciliation * fix(interact): select the replay tab explicitly in agent-browser * fix(profiles): reject cache-only scrapes with browser state * fix(browser): retain reconciliation lease until the batch completes * fix(profiles): reject malformed deletion tombstones * fix(browser): log keyless usage when finalization completes * fix(browser): bound reconciliation sweeps to a fixed endpoint * docs(browser): clarify admission limits and prompt billing failures * fix(browser): isolate per-session reconciliation state failures * fix(browser): commit settlement debit with its receipt * fix(browser): keep settlement retries stable and handle absent orgs * ci: provide Redis for FoundationDB capacity checks * fix(browser): serialize prompt rate changes with settlement * Remove mocked Hangar adapter tests * refactor(browser): bill through billTeam and drop settlement scaffolding * fix(browser): bill after the settlement commit and validate profile names by bytes * fix(browser): skip the prompt credit check once a session has used a prompt * fix(browser): stop exposing the Hangar recording URL outside the replay routes * refactor(browser): drop the always-true cleanupQueued delete field
…lds in gateway and SDKs (#4759) * feat(agent): accept exchange.onTermsRequired and type the terms-required fields The /v2/agent exchange schema is strict, so the dashboard's onTermsRequired: "ask" (and any API caller's "skip" / "fail") was rejected with a 400. Accept it as an optional enum and forward it unchanged; the agent service owns the default ("skip") and thread inheritance. Type the new fields the agent service already returns through the status passthrough: exchange.onTermsRequired, skippedProviders, requiresAction (accept_terms with the exact terms/show and terms/accept calls) and error, plus pendingApproval.kind and terms. Mirror both in the JS and Python SDKs. There is no auto-accept mode; accepting terms stays a human-authorized terms/accept call. Also drops an unused export that knip flags on main. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * feat(agent): accept exchange.decline.callIds for terms offers extract-v3#182 (39ddf20a) lets a terms decline name the providers it declines; omitted still declines the whole offer. Accept it in the strict gateway schema and add it to the JS/Python SDK types, with tests. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * feat(agent): match extract-v3#182 at 67f40bb5 in gateway and SDK types - requiresAction.approvalId is required: fail mode now also ends on a terms pendingApproval, so every requiresAction is answerable with exchange.approve / decline. - requiresAction is documented as absent when the terms offer was deferred behind a paid-call approval; it comes on the next turn. - PendingApproval is a union: a calls shape (kind "calls" or absent) and a terms shape (kind "terms", terms, empty calls). The JS SDK types the terms calls as never[] so existing calls[0] code still compiles; the Python SDK keeps one lenient model with an is_terms helper. - approve/decline callIds: only listed ids count, [] names nobody, omitted means every provider offered. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * feat(agent): cut fail mode, terms deferral and decline.callIds; one digest shape Scope cut matching extract-v3#182: - onTermsRequired is "skip" | "ask"; exchange.error is gone. - requiresAction is no longer documented as deferred behind a paid-call approval. - decline.callIds is gone: a terms offer is accepted or declined as a whole. approve.callIds is back to exactly what main has. Review fixes: - The mode list is defined once (["skip", "ask"] as const); the zod enum and the AgentOnTermsRequired type both derive from it. - digest is always present and nullable (string | null) on the terms gate, requiresAction.providers[] and accept.options, in the gateway and JS SDK. - Tests cover "skip" forwarding in both SDKs and reject "fail". Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> * feat(agent): match the final extract-v3#182 contract (a0e877c0) - Drop the per-provider id from requiresAction.providers[] and the terms gate, and publisher from the terms gate: the backend no longer sends them. - Note that approve callIds/always are ignored on terms offers, and that the terms fields only appear while the terms gate is on for a thread. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 5.5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to subscribe to this conversation on GitHub.
Already have an account?
Sign in.
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
See Commits and Changes for more details.
Created by
pull[bot] (v2.0.0-alpha.4)
Can you help keep this open source service alive? 💖 Please sponsor : )