Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ futures = "0.3"
getrandom = "0.3"
graphql-composition = "=0.12.2"
graphql-orm = { path = "crates/graphql-orm", version = "0.27.0", default-features = false }
graphql-orm-ai-tool-profiles = { path = "crates/graphql-orm-ai-tool-profiles", version = "0.10.1" }
graphql-orm-ai-tool-profiles = { path = "crates/graphql-orm-ai-tool-profiles", version = "0.10.2" }
graphql-orm-backup = { path = "crates/graphql-orm-backup", version = "0.7.1", default-features = false }
graphql-orm-operation-catalog = { path = "crates/graphql-orm-operation-catalog", version = "0.3.0" }
graphql-orm-router-protocol = { path = "crates/graphql-orm-router-protocol", version = "0.2.1" }
Expand Down
16 changes: 16 additions & 0 deletions crates/graphql-orm-ai-tool-profiles/CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,22 @@ supersedes: []

# Changelog

## [0.10.2] - 2026-08-26

### Added

- `AiGraphqlQueryCapabilityCatalog::compile_with_options` accepts a generic,
bounded relationship-argument projection depth. A host can keep every deep
scalar path and collection bound available while omitting typed relationship
argument objects beyond the selected depth.

### Security

- The option cannot add a path, field, argument, or bound. Omitted
relationship-argument paths are closed by `additionalProperties: false`,
while the canonical compiler, disclosure policy, result budgets, target
binding, and resolver authorization remain authoritative.

## [0.10.1] - 2026-08-26

### Fixed
Expand Down
2 changes: 1 addition & 1 deletion crates/graphql-orm-ai-tool-profiles/Cargo.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[package]
name = "graphql-orm-ai-tool-profiles"
version = "0.10.1"
version = "0.10.2"
edition = "2024"
authors = ["Toby Martin <toby@dastari.net>"]
description = "Backend-neutral GraphQL AI tool profile compiler and manifest contracts"
Expand Down
16 changes: 16 additions & 0 deletions crates/graphql-orm-ai-tool-profiles/MIGRATION.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,22 @@ supersedes: []

# Migration Guide

## 0.10.1 to 0.10.2: bounded relationship-argument projection

Adopt `graphql-orm-ai-tool-profiles` 0.10.2 from one reviewed full monorepo
revision. Existing callers of `AiGraphqlQueryCapabilityCatalog::compile` keep
the complete relationship-argument surface. Hosts with a relationship-rich
schema may opt into `compile_with_options` and select the maximum relationship
depth whose typed arguments should enter provider schemas. A depth of zero
keeps deep scalar selection and collection bounds but requires
`relationshipArguments` to remain empty.

The option changes capability and provider-definition fingerprints. Rebuild
retained bindings after changing it. It grants no authority and does not
change GraphQL SDL, the canonical plan compiler, disclosure checks, result
budgets, target policy, or resolver authorization. There is no database, data,
protected-content, backup, restore, or persistent AI schema-module migration.

## 0.10.0 to 0.10.1: provider-sized selection allow-lists

Adopt `graphql-orm-ai-tool-profiles` 0.10.1 from one reviewed full monorepo
Expand Down
11 changes: 10 additions & 1 deletion crates/graphql-orm-ai-tool-profiles/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@ are separate runtime decisions and must remain default-deny.

```toml
[dependencies]
graphql-orm-ai-tool-profiles = { git = "https://github.com/Dastari/graphql-orm.git", rev = "<reviewed-full-40-character-commit-sha>", version = "0.10.1" }
graphql-orm-ai-tool-profiles = { git = "https://github.com/Dastari/graphql-orm.git", rev = "<reviewed-full-40-character-commit-sha>", version = "0.10.2" }
serde_json = "1"
```

Expand Down Expand Up @@ -116,6 +116,15 @@ Handwritten recursive inputs fail readiness rather than being approximated.
Relationship arguments, including the single nullable to-many `OrderByInput`,
continue to match the finished SDL exactly.

For a relationship-rich schema whose complete typed argument map is larger
than the provider contract, use `compile_with_options` with
`AiGraphqlQueryCapabilityOptions::new(depth)`. The depth limits only
provider-authored relationship arguments: all exact scalar paths and
collection bounds remain available. A zero depth makes
`relationshipArguments` a closed empty object, so the provider can still make
one bounded deep read or use typed root filters without inventing nested
filters. The ordinary `compile` entrypoint keeps the complete argument surface.

## Canonical capability index

After compiling the generated catalogues, combine them with reviewed static
Expand Down
Loading