Skip to content

feat(sdk): migrate to content-ops query/statement surface#134

Merged
jfrench9 merged 1 commit into
mainfrom
feature/content-ops-sdk-migration
Jul 10, 2026
Merged

feat(sdk): migrate to content-ops query/statement surface#134
jfrench9 merged 1 commit into
mainfrom
feature/content-ops-sdk-migration

Conversation

@jfrench9

Copy link
Copy Markdown
Member

Regenerates the Python SDK against the content-ops hard cutover and repoints the hand-written wrappers at the new API shape.

Query layer

  • /query/query/cypher (executeCypher, CypherStatementRequest)
  • /tables/query/query/sql (executeSql, SqlStatementRequest/SqlStatementResponse)
  • QueryClient and TableClient repointed; generate-sdk.sh NDJSON patch now targets api/query/execute_cypher.py.

Content operations

Document and file writes moved under the OperationEnvelope surface:

  • DocumentClientupload/update route through index-document (upsert by document_id), delete through delete-document. Write methods now return OperationEnvelope.
  • FileClient — presign/ingest/delete route through create-file-upload, ingest-file, delete-file. file_id moved into the request body; presign + staging metadata read from envelope.result. Public FileUploadResult/FileInfo dataclasses unchanged.

Tests

Updated for the new patch targets and envelope-shaped responses. 439 passed, 17 skipped; ruff + basedpyright clean.

Breaking regen — ships as a new minor version. Frontends update against the new surface on their own minor.

Regenerate the SDK against the content-ops hard cutover and repoint the
hand-written wrappers at the new API shape:

- Query layer: /query -> /query/cypher (executeCypher, CypherStatementRequest)
  and /tables/query -> /query/sql (executeSql, SqlStatementRequest/Response).
  QueryClient and TableClient repointed; generate-sdk.sh NDJSON patch now
  targets api/query/execute_cypher.py.
- Content operations: document and file writes moved under the
  OperationEnvelope surface. DocumentClient upload/update route through
  index-document (upsert by document_id), delete through delete-document.
  FileClient presign/ingest/delete route through create-file-upload,
  ingest-file, and delete-file; presign + staging metadata are read from
  the envelope result.
- Tests updated for the new patch targets and envelope-shaped responses.

All unit tests pass; ruff + basedpyright clean.
@jfrench9 jfrench9 merged commit 148ecb6 into main Jul 10, 2026
1 check passed
@jfrench9 jfrench9 deleted the feature/content-ops-sdk-migration branch July 10, 2026 08:15
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