From 5de59e130a1d13326ce27d84605f4d6d989c4b1b Mon Sep 17 00:00:00 2001 From: Universe Date: Wed, 14 Oct 2026 04:31:16 +0900 Subject: [PATCH] feat(catalogue): publish Grida Decisions binding --- catalogue/PROVENANCE.md | 13 ++++ catalogue/models.json | 74 ++++++++++++++++++++ models/openai/gpt-6-luna-decisions/card.toml | 32 +++++++++ 3 files changed, 119 insertions(+) diff --git a/catalogue/PROVENANCE.md b/catalogue/PROVENANCE.md index 3e912a2..f5b0650 100644 --- a/catalogue/PROVENANCE.md +++ b/catalogue/PROVENANCE.md @@ -1120,3 +1120,16 @@ establishes data URLs in top-level state-array image parts, no fetched remote URLs and 128 images for this exact model. Cache-write prices and long-context bands are omitted without independent decision-specific evidence. A binding does not establish native OpenAI SDK compatibility. + +Grida's [model discovery](https://gateway.grida.ai/v1/models), +[Decisions schema](https://gateway.grida.ai/schemas/decisions.json) and +[public API reference](https://gateway.grida.ai/llms.txt) establish its separate +`openai/gpt-6-luna-decisions` offering. It accepts the native question-array +envelope with predicate, choice and score questions, string or user-message +input, and inline PNG/JPEG/WebP images. Its subset allows 32 questions, eight +images, 2–255 choices and 2–10 score levels; it rejects boolean/string spelling +collisions and preserves per-question refusals. Published pricing is input-only +USD 0.10 per million tokens, with no output or cache charges. The binding records +that public contract without borrowing another provider's limits or price bands. +Model release provenance, intrinsic facts and other providers' bindings are +unchanged. diff --git a/catalogue/models.json b/catalogue/models.json index 5585573..f60d562 100644 --- a/catalogue/models.json +++ b/catalogue/models.json @@ -17591,6 +17591,76 @@ } } ] + }, + "grida": { + "provider": "grida", + "id": "openai/gpt-6-luna-decisions", + "url": "https://gateway.grida.ai/v1/models", + "endpoints": [ + { + "id": "openai/gpt-6-luna-decisions", + "input": "text", + "interface": "decisions", + "source_url": "https://gateway.grida.ai/v1/models", + "request_schema_url": "https://gateway.grida.ai/schemas/decisions.json#/$defs/DecisionRequest", + "result_schema_url": "https://gateway.grida.ai/schemas/decisions.json#/$defs/Decision", + "published_pricing": { + "source_url": "https://gateway.grida.ai/v1/models", + "currency": "USD", + "components": [ + { + "id": "input_tokens", + "meter": "input_tokens", + "unit": "token", + "per_quantity": "1", + "when": {}, + "quantity_rounding": { + "mode": "none" + }, + "usd_per_unit": "0.0000001" + } + ] + } + } + ], + "capabilities": { + "source_url": "https://gateway.grida.ai/v1/models", + "image_input": true + }, + "limits": { + "source_url": "https://gateway.grida.ai/v1/models", + "context_tokens": 1050000 + }, + "decision_contract": { + "source_url": "https://gateway.grida.ai/v1/models", + "question_types": [ + "predicate", + "choice", + "score" + ], + "input_forms": [ + "string", + "user_messages" + ], + "question_container": "array", + "image_input_forms": [ + "data_url" + ], + "image_details": [ + "low", + "high", + "auto", + "original" + ], + "maximum_questions": 32, + "maximum_images": 8, + "minimum_choices": 2, + "maximum_choices": 255, + "minimum_score_levels": 2, + "maximum_score_levels": 10, + "typed_choice_values": false, + "partial_refusals": true + } } }, "provider_coverage": { @@ -17610,6 +17680,10 @@ "disposition": "excluded", "source_url": "https://fal.ai/models", "reason": "Catalogue coverage includes fal for media models only; no decision API compatibility is claimed." + }, + "grida": { + "disposition": "listed", + "source_url": "https://gateway.grida.ai/v1/models" } } } diff --git a/models/openai/gpt-6-luna-decisions/card.toml b/models/openai/gpt-6-luna-decisions/card.toml index c6c34b6..3b9d31e 100644 --- a/models/openai/gpt-6-luna-decisions/card.toml +++ b/models/openai/gpt-6-luna-decisions/card.toml @@ -170,3 +170,35 @@ source_url = "https://openrouter.ai/openai/gpt-6-luna-decisions" disposition = "excluded" source_url = "https://fal.ai/models" reason = "Catalogue coverage includes fal for media models only; no decision API compatibility is claimed." + +[providers.grida] +provider = "grida" +id = "openai/gpt-6-luna-decisions" +url = "https://gateway.grida.ai/v1/models" +endpoints = [ + { id = "openai/gpt-6-luna-decisions", input = "text", interface = "decisions", source_url = "https://gateway.grida.ai/v1/models", request_schema_url = "https://gateway.grida.ai/schemas/decisions.json#/$defs/DecisionRequest", result_schema_url = "https://gateway.grida.ai/schemas/decisions.json#/$defs/Decision", published_pricing = { source_url = "https://gateway.grida.ai/v1/models", currency = "USD", components = [ + { id = "input_tokens", meter = "input_tokens", unit = "token", per_quantity = "1", when = {}, quantity_rounding = { mode = "none" }, usd_per_unit = "0.0000001" }, + ] } }, +] +capabilities = { source_url = "https://gateway.grida.ai/v1/models", image_input = true } +limits = { source_url = "https://gateway.grida.ai/v1/models", context_tokens = 1050000 } + +[providers.grida.decision_contract] +source_url = "https://gateway.grida.ai/v1/models" +question_types = ["predicate", "choice", "score"] +input_forms = ["string", "user_messages"] +question_container = "array" +image_input_forms = ["data_url"] +image_details = ["low", "high", "auto", "original"] +maximum_questions = 32 +maximum_images = 8 +minimum_choices = 2 +maximum_choices = 255 +minimum_score_levels = 2 +maximum_score_levels = 10 +typed_choice_values = false +partial_refusals = true + +[provider_coverage.grida] +disposition = "listed" +source_url = "https://gateway.grida.ai/v1/models"