Skip to content

Regenerate the client for the API's new request fields - #286

Merged
jfrench9 merged 1 commit into
mainfrom
bugfix/input-validation-hardening
Oct 25, 2026
Merged

jfrench9 merged 1 commit into
mainfrom
bugfix/input-validation-hardening

Conversation

@jfrench9

@jfrench9 jfrench9 commented Oct 25, 2026 •

Copy link
Copy Markdown
Member

Summary

Regenerated against the local stack on robosystems bugfix/input-validation-hardening (companion to that PR and to robosystems-typescript-client #302).

  • Additive request fields: SSOExchangeRequest.browser_nonce_hash, SSOCompleteRequest.browser_nonce, UpdateEventHandlerRequest.expected_updated_at
  • Command bodies that now refuse unknown fields carry additionalProperties: false, so their models lose the unknown-field store (see below)
  • Operation descriptions caught up with main
  • GraphQL SDL snapshot: Agent.taxId changed position (it is an explicit resolver now); the generated models are unchanged

Client contract

A client minor. Generated tier, additive, with one removal that touches the stable tier and rides the minor as dead surface.

Removed: additional_properties, additional_keys and the mapping methods (__getitem__, __setitem__, __delitem__, __contains__) on AcceptSuggestionsRequest, BackupCreateRequest, CancelSubscriptionRequest, IndexDocumentOp, InitializeLedgerRequest, LearnClassificationDefaultsRequest, MaterializeOp, OperationResumeRequest, PromoteObligationsRequest, SyncConnectionRequest. Name these in the release notes.

MaterializeOp is stable tier (the integration template imports it). The removal skips the deprecation cycle as dead surface:

  • It never functioned. The server ignored unknown fields on these bodies and now refuses them, so nothing stored there ever had an effect.
  • No consumer. The integration template builds MaterializeOp.from_dict({}). The facades pass named fields only, and nothing reads or writes the unknown-field store on any of the ten models.
  • Symbol resolution only. No working call changes behaviour.

Test plan

  • just test — 737 passed, 17 skipped
  • ruff / basedpyright (pre-commit)
  • Regenerated independently from the server branch's /openapi.json: identical to this diff

🤖 Generated with Claude Code

@jfrench9

Copy link
Copy Markdown
Member Author

Companion PRs for the one release: robosystems RoboFinSystems/robosystems#1945 · robosystems-core RoboFinSystems/robosystems-core#98 · robosystems-typescript-client RoboFinSystems/robosystems-typescript-client#302 · robosystems-python-client #286 · robosystems-app RoboFinSystems/robosystems-app#518 · roboledger-app RoboFinSystems/roboledger-app#527

@jfrench9
jfrench9 merged commit bdeebb2 into main Oct 25, 2026
6 checks passed
@jfrench9
jfrench9 deleted the bugfix/input-validation-hardening branch October 25, 2026 02:12
jfrench9 added a commit that referenced this pull request Oct 25, 2026
Doc-only follow-up to #286: `update_event_handler`'s docstring now says
that approving an AI-suggested handler passes `expected_updated_at` (the
`updated_at` the person reviewed) and that the API answers 409 if the
handler changed since. No code change; rides the next minor. TypeScript
twin:
RoboFinSystems/robosystems-typescript-client#306

🤖 Generated with [Claude Code](https://claude.com/claude-code)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant