diff --git a/CHANGELOG.md b/CHANGELOG.md index 569788f..dfe4d98 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,42 @@ follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/) and the project uses [CalVer](https://calver.org/) (YY.MM.PP) per the Firefly Framework convention (memory: `firefly_uses_calver`). +## [26.6.0] - 2026-06-01 + +### Fixed — Semantic layer brought up to its documented contract + +- **The `SEMANTIC_LAYER` fast-path now actually executes.** A published metric's + compiled SQL is fetched (`SemanticRepository.get_by_name`, tenant+workspace + scoped), bound via `SemanticCompiler.bind`, and run straight through the AST + firewall + executor with **no GenerationAgent** — the metric name + version are + pinned in the query record. Previously the branch silently fell through to the + LLM because `semantic_repo` was never wired and `get_by_name` did not exist. + +### Added + +- Nested MetricFlow YAML schema (`metric:` / `dimension:` roots) replacing the + flat schema; all four metric types (`SIMPLE`, `RATIO`, `DERIVED`, `CUMULATIVE`) + compile to DuckDB SQL templates with `{extra_filter_clause}` / `{group_by_append}` + runtime slots filled by `SemanticCompiler.bind`. `count_distinct` is supported. +- Publish-time **sqlglot firewall**: single-SELECT, no DDL/commands/multi-statement, + no subqueries, anonymous-function allowlist, identifier regex — invalid/unsafe + definitions return RFC 7807 `400 semantic_compile_error`. +- Real dimensions: own `categorical|time` validator + compiler (grain-aware + `DATE_TRUNC`); metric `group_by` resolves published dimension names. +- Agent-tier mirrors: `/api/v1/agent/semantic/metrics`, `/api/v1/agent/semantic/dimensions`, + `/api/v1/agent/glossary` (scopes `flyquery.semantic:author` / `:read`). +- `metadata_json` column on metrics + dimensions (migration `0014`); glossary + DTOs accept the documented `synonyms` / `related_metrics` keys; glossary + `related_metrics` surfaced to grounding for SEMANTIC_LAYER routing. + +### Changed + +- Version rows persist `compiled_sql_template` (no longer NULL); `publish` records + it on the current version; `update` of a published metric recompiles + re-firewalls. +- Semantic repos/services are tenant+workspace scoped (defense-in-depth over RLS); + metrics/dimensions `list` gains a `status` filter; `SemanticVersionRead` exposes + doc-aligned `version_number` / `metric_id`. + ## [26.5.14] - 2026-05-31 ### Changed @@ -909,7 +945,7 @@ Released by ancongui. CRUD, agent-token mint/verify, ObjectStore port + LocalFs + S3 adapters, CI workflows. -## [Unreleased] +## [26.6.0] - 2026-06-01 ### Added - Foundation scaffold: pyproject + pyfly.yaml + Dockerfile + Taskfile diff --git a/README.md b/README.md index 608f172..30b0383 100644 --- a/README.md +++ b/README.md @@ -25,7 +25,7 @@ JSONL, Parquet, Avro, ORC, Arrow and Feather, plus their `.gz`, [![OpenAPI](https://img.shields.io/badge/api-openapi%203.1-green)](docs/api-reference.md) [![DuckDB](https://img.shields.io/badge/query%20engine-duckdb-yellow)](docs/architecture.md) [![pgvector](https://img.shields.io/badge/vector--store-pgvector-336791)](docs/architecture.md) -[![Version](https://img.shields.io/badge/version-26.5.14-green.svg)](#) +[![Version](https://img.shields.io/badge/version-26.6.0-green.svg)](#) [![License: Apache 2.0](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](LICENSE) diff --git a/Taskfile.yml b/Taskfile.yml index 7e02354..f1c7af5 100644 --- a/Taskfile.yml +++ b/Taskfile.yml @@ -115,7 +115,7 @@ tasks: -g python -o sdks/python --package-name flyquery_sdk - --additional-properties=packageVersion=26.5.12,projectName=flyquery-sdk,library=asyncio + --additional-properties=packageVersion=26.6.0,projectName=flyquery-sdk,library=asyncio --skip-validate-spec - cd sdks/python && uv pip install --system --quiet . || true @@ -140,5 +140,5 @@ tasks: --invoker-package com.firefly.flyquery --api-package com.firefly.flyquery.api --model-package com.firefly.flyquery.model - --additional-properties=artifactId=flyquery-sdk,groupId=com.firefly,artifactVersion=26.5.12,library=webclient,dateLibrary=java8,java8=true,useJakartaEe=true + --additional-properties=artifactId=flyquery-sdk,groupId=com.firefly,artifactVersion=26.6.0,library=webclient,dateLibrary=java8,java8=true,useJakartaEe=true --skip-validate-spec diff --git a/docs/semantic-layer.md b/docs/semantic-layer.md index 755164d..fcc7419 100644 --- a/docs/semantic-layer.md +++ b/docs/semantic-layer.md @@ -32,11 +32,13 @@ The semantic layer gives operators confidence that sensitive business definitions — revenue, churn, ARR — produce consistent SQL regardless of which phrasing a user employs. -**v0 ships**: `SIMPLE` metric type (aggregate + expr + filter + group_by). -`RATIO`, `DERIVED`, and `CUMULATIVE` types are accepted in YAML and stored, -but execution is deferred to v1+. Attempting to query a non-SIMPLE published -metric falls through to the `SYNTHESIS` path with the metric definition -passed as few-shot context. +All four metric types — `SIMPLE`, `RATIO`, `DERIVED`, and `CUMULATIVE` — are +validated, compiled to DuckDB SQL templates, and executable via the +`SEMANTIC_LAYER` path. Measure expressions are **qualified** (`table.column`); +the compiler derives the source table from that prefix. `group_by` entries may +name a published dimension, which the compiler resolves to that dimension's +compiled expression. Cross-dataset metrics with explicit join paths remain +planned but unshipped (single-dataset only). --- @@ -66,13 +68,13 @@ metric: label: Total Revenue # human-readable display name description: > Sum of order_amount across completed orders, in USD cents. - type: simple # simple | ratio | derived | cumulative (v0: simple only) + type: simple # simple | ratio | derived | cumulative type_params: measure: - name: order_amount # column name in the source table + name: order_amount # measure name agg: sum # sum | count | count_distinct | avg | min | max - expr: order_amount # optional: expression override - filter: "order_status = 'COMPLETED'" # optional: WHERE clause fragment + expr: orders.order_amount # qualified table.column the agg runs over + filter: "orders.order_status = 'COMPLETED'" # optional: WHERE fragment group_by: - region - product_category @@ -110,16 +112,17 @@ metric: measure: name: order_id agg: count_distinct - filter: "order_status = 'COMPLETED'" + expr: orders.order_id + filter: "orders.order_status = 'COMPLETED'" ``` Compiled SQL template: ```sql -SELECT {group_by_cols}, COUNT(DISTINCT order_id) AS completed_order_count -FROM {table_ref} -WHERE order_status = 'COMPLETED' - {extra_filter} -GROUP BY {group_by_cols} +SELECT COUNT(DISTINCT orders.order_id) AS completed_order_count +FROM orders +WHERE orders.order_status = 'COMPLETED' + {extra_filter_clause} +GROUP BY {group_by_append} ``` ### RATIO (v1+) @@ -235,9 +238,8 @@ YAML changes. ### Compilation rules (SIMPLE type) -1. **Source table** — resolved to `{dataset}.{table_name}` where - `table_name` matches `measure.name`'s parent table in the dataset's - schema knowledge base. +1. **Source table** — taken from the qualified `measure.expr` + (`table.column`); the prefix before the dot is the `FROM` table. 2. **Aggregate expression** — `SUM(expr)`, `COUNT(DISTINCT expr)`, etc. 3. **Filter** — appended to the WHERE clause verbatim. 4. **Group-by columns** — validated to exist in the source table. @@ -353,17 +355,21 @@ context in the GenerationAgent prompt. | `POST` | `/api/v1/semantic/metrics/{id}:retire` | PUBLISHED → RETIRED; removed from retrieval | | `GET` | `/api/v1/semantic/metrics/{id}/history` | Immutable version log | | `POST` | `/api/v1/semantic/dimensions` | Create dimension | -| `GET` | `/api/v1/semantic/dimensions` | List dimensions | +| `GET` | `/api/v1/semantic/dimensions` | List; optional `status`, `dataset_id` | +| `GET` | `/api/v1/semantic/dimensions/{id}` | Full detail | | `PUT` | `/api/v1/semantic/dimensions/{id}` | Update | | `POST` | `/api/v1/semantic/dimensions/{id}:publish` | DRAFT → PUBLISHED | +| `POST` | `/api/v1/semantic/dimensions/{id}:retire` | PUBLISHED → RETIRED | | `GET` | `/api/v1/semantic/dimensions/{id}/history` | Version log | | `POST` | `/api/v1/glossary` | Create glossary term | | `GET` | `/api/v1/glossary` | List terms (workspace-scoped) | | `PUT` | `/api/v1/glossary/{id}` | Update | | `DELETE` | `/api/v1/glossary/{id}` | Remove | -Agent-tier mirrors exist under `/api/v1/agent/semantic/metrics` with scope -`flyquery.semantic:author`. +Agent-tier mirrors exist under `/api/v1/agent/semantic/metrics`, +`/api/v1/agent/semantic/dimensions`, and `/api/v1/agent/glossary`. Writes +require scope `flyquery.semantic:author`; reads require `flyquery.semantic:read`. +They require an `X-Agent-Token` header and delegate to the same services. --- diff --git a/migrations/versions/0014_semantic_metadata_and_dimension_type.py b/migrations/versions/0014_semantic_metadata_and_dimension_type.py new file mode 100644 index 0000000..8136d38 --- /dev/null +++ b/migrations/versions/0014_semantic_metadata_and_dimension_type.py @@ -0,0 +1,71 @@ +# Copyright 2024-2026 Firefly Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""semantic metadata_json + dimension_type + +Adds the ``metadata_json`` column to semantic metrics + dimensions (stores +the metric/dimension ``meta`` block) and a first-class ``dimension_type`` +(categorical|time) column to dimensions, so dimensions no longer borrow the +metrics-only ``metric_type`` enum. ``metric_type`` is left in place on the +dimensions table (with its DRAFT/SIMPLE defaults) for backward compatibility. + +Revision ID: 0014_semantic_meta_dimtype +Revises: 0013_job_callbacks +""" +from __future__ import annotations + +from alembic import op + +revision = "0014_semantic_meta_dimtype" +down_revision = "0013_job_callbacks" + + +def upgrade() -> None: + op.execute( + "ALTER TABLE flyquery_semantic_metrics " + "ADD COLUMN IF NOT EXISTS metadata_json JSONB NOT NULL DEFAULT '{}'::jsonb" + ) + op.execute( + "ALTER TABLE flyquery_semantic_dimensions " + "ADD COLUMN IF NOT EXISTS metadata_json JSONB NOT NULL DEFAULT '{}'::jsonb" + ) + op.execute( + "ALTER TABLE flyquery_semantic_dimensions " + "ADD COLUMN IF NOT EXISTS dimension_type TEXT NOT NULL DEFAULT 'categorical'" + ) + op.execute( + "ALTER TABLE flyquery_semantic_dimensions " + "DROP CONSTRAINT IF EXISTS ck_flyquery_semantic_dimensions_dimtype" + ) + op.execute( + "ALTER TABLE flyquery_semantic_dimensions " + "ADD CONSTRAINT ck_flyquery_semantic_dimensions_dimtype " + "CHECK (dimension_type IN ('categorical','time'))" + ) + + +def downgrade() -> None: + op.execute( + "ALTER TABLE flyquery_semantic_dimensions " + "DROP CONSTRAINT IF EXISTS ck_flyquery_semantic_dimensions_dimtype" + ) + op.execute( + "ALTER TABLE flyquery_semantic_dimensions DROP COLUMN IF EXISTS dimension_type" + ) + op.execute( + "ALTER TABLE flyquery_semantic_dimensions DROP COLUMN IF EXISTS metadata_json" + ) + op.execute( + "ALTER TABLE flyquery_semantic_metrics DROP COLUMN IF EXISTS metadata_json" + ) diff --git a/openapi.json b/openapi.json index ffc5585..d7577f1 100644 --- a/openapi.json +++ b/openapi.json @@ -2109,32 +2109,32 @@ "title": "Definition", "type": "string" }, - "related_columns_json": { + "related_columns": { "items": { "type": "string" }, - "title": "Related Columns Json", + "title": "Related Columns", "type": "array" }, - "related_metrics_json": { + "related_metrics": { "items": { "type": "string" }, - "title": "Related Metrics Json", + "title": "Related Metrics", "type": "array" }, - "synonyms_json": { + "synonyms": { "items": { "type": "string" }, - "title": "Synonyms Json", + "title": "Synonyms", "type": "array" }, - "tags_json": { + "tags": { "items": { "type": "string" }, - "title": "Tags Json", + "title": "Tags", "type": "array" }, "term": { @@ -2246,7 +2246,7 @@ "default": null, "title": "Definition" }, - "related_columns_json": { + "related_columns": { "anyOf": [ { "items": { @@ -2259,9 +2259,9 @@ } ], "default": null, - "title": "Related Columns Json" + "title": "Related Columns" }, - "related_metrics_json": { + "related_metrics": { "anyOf": [ { "items": { @@ -2274,9 +2274,9 @@ } ], "default": null, - "title": "Related Metrics Json" + "title": "Related Metrics" }, - "synonyms_json": { + "synonyms": { "anyOf": [ { "items": { @@ -2289,9 +2289,9 @@ } ], "default": null, - "title": "Synonyms Json" + "title": "Synonyms" }, - "tags_json": { + "tags": { "anyOf": [ { "items": { @@ -2304,7 +2304,7 @@ } ], "default": null, - "title": "Tags Json" + "title": "Tags" } }, "title": "GlossaryTermUpdate", @@ -4764,7 +4764,7 @@ "type": "object" }, "SemanticDimensionCreate": { - "description": "Payload for creating a new semantic dimension.", + "description": "Payload for creating a new semantic dimension.\n\nThe dimension's ``type`` (categorical|time) is taken from the\n``definition_yaml`` body, not a separate request field.", "properties": { "dataset_id": { "format": "uuid", @@ -4800,17 +4800,6 @@ "default": null, "title": "Label" }, - "metric_type": { - "default": "SIMPLE", - "enum": [ - "SIMPLE", - "RATIO", - "DERIVED", - "CUMULATIVE" - ], - "title": "Metric Type", - "type": "string" - }, "name": { "maxLength": 256, "minLength": 1, @@ -4869,6 +4858,14 @@ ], "title": "Description" }, + "dimension_type": { + "enum": [ + "categorical", + "time" + ], + "title": "Dimension Type", + "type": "string" + }, "id": { "format": "uuid", "title": "Id", @@ -4885,15 +4882,10 @@ ], "title": "Label" }, - "metric_type": { - "enum": [ - "SIMPLE", - "RATIO", - "DERIVED", - "CUMULATIVE" - ], - "title": "Metric Type", - "type": "string" + "metadata_json": { + "additionalProperties": true, + "title": "Metadata Json", + "type": "object" }, "name": { "title": "Name", @@ -4933,7 +4925,7 @@ "description", "definition_yaml", "compiled_sql_template", - "metric_type", + "dimension_type", "status", "current_version", "created_at", @@ -4980,24 +4972,6 @@ ], "default": null, "title": "Label" - }, - "metric_type": { - "anyOf": [ - { - "enum": [ - "SIMPLE", - "RATIO", - "DERIVED", - "CUMULATIVE" - ], - "type": "string" - }, - { - "type": "null" - } - ], - "default": null, - "title": "Metric Type" } }, "title": "SemanticDimensionUpdate", @@ -5125,6 +5099,11 @@ ], "title": "Label" }, + "metadata_json": { + "additionalProperties": true, + "title": "Metadata Json", + "type": "object" + }, "metric_type": { "enum": [ "SIMPLE", @@ -5244,7 +5223,7 @@ "type": "object" }, "SemanticVersionRead": { - "description": "Read representation of a flyquery_semantic_versions row.", + "description": "Read representation of a flyquery_semantic_versions row.\n\nField names follow the documented payload (``version_number``,\n``metric_id``); the underlying columns are ``version`` / ``parent_id``\nand are mapped via validation aliases.", "properties": { "compiled_sql_template": { "anyOf": [ @@ -6235,7 +6214,7 @@ "url": "https://github.com/firefly-operationOS/flyquery/blob/main/LICENSE" }, "title": "flyquery", - "version": "26.5.14" + "version": "26.6.0" }, "openapi": "3.1.0", "paths": { @@ -6951,10 +6930,28 @@ ] } }, - "/api/v1/agent/ingest-jobs": { + "/api/v1/agent/glossary": { "get": { - "operationId": "list_jobs", + "operationId": "list_terms", "parameters": [ + { + "in": "query", + "name": "limit", + "required": false, + "schema": { + "default": 100, + "type": "integer" + } + }, + { + "in": "query", + "name": "offset", + "required": false, + "schema": { + "default": 0, + "type": "integer" + } + }, { "$ref": "#/components/parameters/AgentTokenHeader" }, @@ -6967,7 +6964,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IngestJobListResponse" + "$ref": "#/components/schemas/Paginated[GlossaryTermRead]" } } }, @@ -6979,12 +6976,13 @@ "AgentToken": [] } ], + "summary": "List glossary terms for the caller's workspace (agent-tier).", "tags": [ - "AgentIngestJobs" + "AgentGlossary" ] }, "post": { - "operationId": "create_job", + "operationId": "create", "parameters": [ { "$ref": "#/components/parameters/AgentTokenHeader" @@ -6996,9 +6994,36 @@ "$ref": "#/components/parameters/IdempotencyKeyHeader" } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GlossaryTermCreate" + } + } + }, + "required": true + }, "responses": { "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GlossaryTermRead" + } + } + }, "description": "Successful response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" } }, "security": [ @@ -7006,19 +7031,55 @@ "AgentToken": [] } ], - "summary": "Start a background ingestion job (REPARSE/SAMPLE_REFRESH/...).", + "summary": "Create a glossary term (agent-tier).", "tags": [ - "AgentIngestJobs" + "AgentGlossary" ] } }, - "/api/v1/agent/ingest-jobs/{job_id}": { + "/api/v1/agent/glossary/{term_id}": { + "delete": { + "operationId": "delete", + "parameters": [ + { + "in": "path", + "name": "term_id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "$ref": "#/components/parameters/AgentTokenHeader" + }, + { + "$ref": "#/components/parameters/CorrelationIdHeader" + }, + { + "$ref": "#/components/parameters/IdempotencyKeyHeader" + } + ], + "responses": { + "204": { + "description": "No Content" + } + }, + "security": [ + { + "AgentToken": [] + } + ], + "summary": "Hard-delete a glossary term (agent-tier).", + "tags": [ + "AgentGlossary" + ] + }, "get": { - "operationId": "get_job", + "operationId": "get_term", "parameters": [ { "in": "path", - "name": "job_id", + "name": "term_id", "required": true, "schema": { "type": "string" @@ -7036,7 +7097,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IngestJobRead" + "$ref": "#/components/schemas/GlossaryTermRead" } } }, @@ -7048,18 +7109,17 @@ "AgentToken": [] } ], + "summary": "Fetch a single glossary term (agent-tier).", "tags": [ - "AgentIngestJobs" + "AgentGlossary" ] - } - }, - "/api/v1/agent/ingest-jobs/{job_id}/events": { - "get": { - "operationId": "list_events", + }, + "put": { + "operationId": "update", "parameters": [ { "in": "path", - "name": "job_id", + "name": "term_id", "required": true, "schema": { "type": "string" @@ -7070,18 +7130,41 @@ }, { "$ref": "#/components/parameters/CorrelationIdHeader" + }, + { + "$ref": "#/components/parameters/IdempotencyKeyHeader" } ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/GlossaryTermUpdate" + } + } + }, + "required": true + }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/IngestEventListResponse" + "$ref": "#/components/schemas/GlossaryTermRead" } } }, "description": "Successful response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" } }, "security": [ @@ -7089,18 +7172,893 @@ "AgentToken": [] } ], + "summary": "Sparse-update a glossary term (agent-tier).", "tags": [ - "AgentIngestJobs" + "AgentGlossary" ] } }, - "/api/v1/agent/ingest-jobs/{job_id}/stream": { + "/api/v1/agent/ingest-jobs": { "get": { - "operationId": "stream_job", + "operationId": "list_jobs", "parameters": [ { - "in": "path", - "name": "job_id", + "$ref": "#/components/parameters/AgentTokenHeader" + }, + { + "$ref": "#/components/parameters/CorrelationIdHeader" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IngestJobListResponse" + } + } + }, + "description": "Successful response" + } + }, + "security": [ + { + "AgentToken": [] + } + ], + "tags": [ + "AgentIngestJobs" + ] + }, + "post": { + "operationId": "create_job", + "parameters": [ + { + "$ref": "#/components/parameters/AgentTokenHeader" + }, + { + "$ref": "#/components/parameters/CorrelationIdHeader" + }, + { + "$ref": "#/components/parameters/IdempotencyKeyHeader" + } + ], + "responses": { + "201": { + "description": "Successful response" + } + }, + "security": [ + { + "AgentToken": [] + } + ], + "summary": "Start a background ingestion job (REPARSE/SAMPLE_REFRESH/...).", + "tags": [ + "AgentIngestJobs" + ] + } + }, + "/api/v1/agent/ingest-jobs/{job_id}": { + "get": { + "operationId": "get_job", + "parameters": [ + { + "in": "path", + "name": "job_id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "$ref": "#/components/parameters/AgentTokenHeader" + }, + { + "$ref": "#/components/parameters/CorrelationIdHeader" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IngestJobRead" + } + } + }, + "description": "Successful response" + } + }, + "security": [ + { + "AgentToken": [] + } + ], + "tags": [ + "AgentIngestJobs" + ] + } + }, + "/api/v1/agent/ingest-jobs/{job_id}/events": { + "get": { + "operationId": "list_events", + "parameters": [ + { + "in": "path", + "name": "job_id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "$ref": "#/components/parameters/AgentTokenHeader" + }, + { + "$ref": "#/components/parameters/CorrelationIdHeader" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/IngestEventListResponse" + } + } + }, + "description": "Successful response" + } + }, + "security": [ + { + "AgentToken": [] + } + ], + "tags": [ + "AgentIngestJobs" + ] + } + }, + "/api/v1/agent/ingest-jobs/{job_id}/stream": { + "get": { + "operationId": "stream_job", + "parameters": [ + { + "in": "path", + "name": "job_id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "$ref": "#/components/parameters/AgentTokenHeader" + }, + { + "$ref": "#/components/parameters/CorrelationIdHeader" + } + ], + "responses": { + "200": { + "description": "Successful response" + } + }, + "security": [ + { + "AgentToken": [] + } + ], + "summary": "SSE progress stream. The underlying delegate handles framing,", + "tags": [ + "AgentIngestJobs" + ] + } + }, + "/api/v1/agent/ingest-jobs/{job_id}:cancel": { + "post": { + "description": "Replay-dedup'd via ``Idempotency-Key`` (required). The\nunderlying service is itself idempotent on terminal jobs, but\nwe still cache the response so a retried cancel returns the\nsame wire envelope (same ``status`` field).", + "operationId": "cancel_job", + "parameters": [ + { + "in": "path", + "name": "job_id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "$ref": "#/components/parameters/AgentTokenHeader" + }, + { + "$ref": "#/components/parameters/CorrelationIdHeader" + }, + { + "$ref": "#/components/parameters/IdempotencyKeyHeader" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/CancelResponse" + } + } + }, + "description": "Successful response" + } + }, + "security": [ + { + "AgentToken": [] + } + ], + "summary": "Cooperatively cancel a running job.", + "tags": [ + "AgentIngestJobs" + ] + } + }, + "/api/v1/agent/query": { + "post": { + "description": "Replay-dedup'd via ``Idempotency-Key``. The header is *required*\non the agent surface so an at-least-once delivery agent (which\nretries on network error) doesn't burn budget by re-running the\nsame multi-LLM pipeline twice.\n\n:param http_request: Starlette request (provides tenant context + agent token)\n:param body: validated QueryRequest\n:return: AnswerResponse", + "operationId": "query", + "parameters": [ + { + "$ref": "#/components/parameters/AgentTokenHeader" + }, + { + "$ref": "#/components/parameters/CorrelationIdHeader" + }, + { + "$ref": "#/components/parameters/IdempotencyKeyHeader" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/AnswerResponse" + } + } + }, + "description": "Successful response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "security": [ + { + "AgentToken": [] + } + ], + "summary": "Run the full NL \u2192 SQL \u2192 result pipeline (agent-tier).", + "tags": [ + "AgentQuery" + ] + } + }, + "/api/v1/agent/query/stream": { + "post": { + "description": ":param http_request: Starlette request\n:param body: validated QueryRequest\n:return: StreamingResponse with text/event-stream", + "operationId": "stream", + "parameters": [ + { + "$ref": "#/components/parameters/AgentTokenHeader" + }, + { + "$ref": "#/components/parameters/CorrelationIdHeader" + }, + { + "$ref": "#/components/parameters/IdempotencyKeyHeader" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "text/event-stream": { + "schema": { + "description": "One SSE frame per event. Frames carry ``event:`` + ``data:`` (JSON-encoded) lines.", + "format": "event-stream", + "type": "string" + } + } + }, + "description": "Server-Sent Events stream. Each frame follows the SSE wire format ``event: \\ndata: \\n\\n``. See ``docs/api-reference.md`` section 8 for the per-endpoint event catalogue." + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "security": [ + { + "AgentToken": [] + } + ], + "summary": "Run the pipeline as SSE stream (agent-tier).", + "tags": [ + "AgentQuery" + ] + } + }, + "/api/v1/agent/query:batch": { + "post": { + "description": "Delegates to the user-tier ``QueryController.batch`` by\ninstantiating it inline (same pattern as :meth:`stream`).\nReplay-dedup'd via ``Idempotency-Key`` (required) -- a batch\nis N parallel multi-LLM pipelines, the costliest single\nrequest shape in the API.", + "operationId": "batch", + "parameters": [ + { + "$ref": "#/components/parameters/AgentTokenHeader" + }, + { + "$ref": "#/components/parameters/CorrelationIdHeader" + }, + { + "$ref": "#/components/parameters/IdempotencyKeyHeader" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BatchQueryRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/BatchQueryResponse" + } + } + }, + "description": "Successful response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "security": [ + { + "AgentToken": [] + } + ], + "summary": "Agent-tier mirror of POST /api/v1/query:batch.", + "tags": [ + "AgentQuery" + ] + } + }, + "/api/v1/agent/query:explain": { + "post": { + "description": ":param http_request: Starlette request\n:param body: validated QueryRequest\n:return: ExplainResponse with candidate SQL and reasoning", + "operationId": "explain", + "parameters": [ + { + "$ref": "#/components/parameters/AgentTokenHeader" + }, + { + "$ref": "#/components/parameters/CorrelationIdHeader" + }, + { + "$ref": "#/components/parameters/IdempotencyKeyHeader" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ExplainResponse" + } + } + }, + "description": "Successful response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "security": [ + { + "AgentToken": [] + } + ], + "summary": "Run Grounding + Generation only (agent-tier).", + "tags": [ + "AgentQuery" + ] + } + }, + "/api/v1/agent/query:validate": { + "post": { + "description": ":param http_request: Starlette request\n:param body: validated QueryRequest\n:return: ValidateResponse", + "operationId": "validate", + "parameters": [ + { + "$ref": "#/components/parameters/AgentTokenHeader" + }, + { + "$ref": "#/components/parameters/CorrelationIdHeader" + }, + { + "$ref": "#/components/parameters/IdempotencyKeyHeader" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/QueryRequest" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/ValidateResponse" + } + } + }, + "description": "Successful response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "security": [ + { + "AgentToken": [] + } + ], + "summary": "Run Grounding + Generation + AST + ScopeGuard (agent-tier).", + "tags": [ + "AgentQuery" + ] + } + }, + "/api/v1/agent/schema-objects/{object_id}": { + "get": { + "operationId": "get_schema_object", + "parameters": [ + { + "in": "path", + "name": "object_id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "$ref": "#/components/parameters/AgentTokenHeader" + }, + { + "$ref": "#/components/parameters/CorrelationIdHeader" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SchemaObjectRead" + } + } + }, + "description": "Successful response" + } + }, + "security": [ + { + "AgentToken": [] + } + ], + "tags": [ + "AgentTables" + ] + } + }, + "/api/v1/agent/semantic/dimensions": { + "get": { + "operationId": "list_dimensions", + "parameters": [ + { + "in": "query", + "name": "dataset_id", + "required": false, + "schema": { + "default": null, + "type": "string" + } + }, + { + "in": "query", + "name": "status", + "required": false, + "schema": { + "default": null, + "type": "string" + } + }, + { + "in": "query", + "name": "limit", + "required": false, + "schema": { + "default": 100, + "type": "integer" + } + }, + { + "in": "query", + "name": "offset", + "required": false, + "schema": { + "default": 0, + "type": "integer" + } + }, + { + "$ref": "#/components/parameters/AgentTokenHeader" + }, + { + "$ref": "#/components/parameters/CorrelationIdHeader" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Paginated[SemanticDimensionRead]" + } + } + }, + "description": "Successful response" + } + }, + "security": [ + { + "AgentToken": [] + } + ], + "summary": "List dimensions for the caller's workspace (agent-tier).", + "tags": [ + "AgentSemanticDimensions" + ] + }, + "post": { + "operationId": "create", + "parameters": [ + { + "$ref": "#/components/parameters/AgentTokenHeader" + }, + { + "$ref": "#/components/parameters/CorrelationIdHeader" + }, + { + "$ref": "#/components/parameters/IdempotencyKeyHeader" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SemanticDimensionCreate" + } + } + }, + "required": true + }, + "responses": { + "201": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SemanticDimensionRead" + } + } + }, + "description": "Successful response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "security": [ + { + "AgentToken": [] + } + ], + "summary": "Create a dimension in DRAFT (agent-tier).", + "tags": [ + "AgentSemanticDimensions" + ] + } + }, + "/api/v1/agent/semantic/dimensions/{dimension_id}": { + "get": { + "operationId": "get_dimension", + "parameters": [ + { + "in": "path", + "name": "dimension_id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "$ref": "#/components/parameters/AgentTokenHeader" + }, + { + "$ref": "#/components/parameters/CorrelationIdHeader" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SemanticDimensionRead" + } + } + }, + "description": "Successful response" + } + }, + "security": [ + { + "AgentToken": [] + } + ], + "summary": "Fetch a single dimension (agent-tier).", + "tags": [ + "AgentSemanticDimensions" + ] + }, + "put": { + "operationId": "update", + "parameters": [ + { + "in": "path", + "name": "dimension_id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "$ref": "#/components/parameters/AgentTokenHeader" + }, + { + "$ref": "#/components/parameters/CorrelationIdHeader" + }, + { + "$ref": "#/components/parameters/IdempotencyKeyHeader" + } + ], + "requestBody": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SemanticDimensionUpdate" + } + } + }, + "required": true + }, + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SemanticDimensionRead" + } + } + }, + "description": "Successful response" + }, + "422": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/HTTPValidationError" + } + } + }, + "description": "Validation Error" + } + }, + "security": [ + { + "AgentToken": [] + } + ], + "summary": "Sparse-update a dimension (agent-tier).", + "tags": [ + "AgentSemanticDimensions" + ] + } + }, + "/api/v1/agent/semantic/dimensions/{dimension_id}/history": { + "get": { + "operationId": "history", + "parameters": [ + { + "in": "path", + "name": "dimension_id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "$ref": "#/components/parameters/AgentTokenHeader" + }, + { + "$ref": "#/components/parameters/CorrelationIdHeader" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Paginated[SemanticVersionRead]" + } + } + }, + "description": "Successful response" + } + }, + "security": [ + { + "AgentToken": [] + } + ], + "summary": "Return version history for a dimension (agent-tier).", + "tags": [ + "AgentSemanticDimensions" + ] + } + }, + "/api/v1/agent/semantic/dimensions/{dimension_id}:publish": { + "post": { + "operationId": "publish", + "parameters": [ + { + "in": "path", + "name": "dimension_id", + "required": true, + "schema": { + "type": "string" + } + }, + { + "$ref": "#/components/parameters/AgentTokenHeader" + }, + { + "$ref": "#/components/parameters/CorrelationIdHeader" + }, + { + "$ref": "#/components/parameters/IdempotencyKeyHeader" + } + ], + "responses": { + "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SemanticDimensionRead" + } + } + }, + "description": "Successful response" + } + }, + "security": [ + { + "AgentToken": [] + } + ], + "summary": "Publish a dimension (agent-tier).", + "tags": [ + "AgentSemanticDimensions" + ] + } + }, + "/api/v1/agent/semantic/dimensions/{dimension_id}:retire": { + "post": { + "operationId": "retire", + "parameters": [ + { + "in": "path", + "name": "dimension_id", "required": true, "schema": { "type": "string" @@ -7111,10 +8069,20 @@ }, { "$ref": "#/components/parameters/CorrelationIdHeader" + }, + { + "$ref": "#/components/parameters/IdempotencyKeyHeader" } ], "responses": { "200": { + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/SemanticDimensionRead" + } + } + }, "description": "Successful response" } }, @@ -7123,33 +8091,57 @@ "AgentToken": [] } ], - "summary": "SSE progress stream. The underlying delegate handles framing,", + "summary": "Retire a dimension (agent-tier).", "tags": [ - "AgentIngestJobs" + "AgentSemanticDimensions" ] } }, - "/api/v1/agent/ingest-jobs/{job_id}:cancel": { - "post": { - "description": "Replay-dedup'd via ``Idempotency-Key`` (required). The\nunderlying service is itself idempotent on terminal jobs, but\nwe still cache the response so a retried cancel returns the\nsame wire envelope (same ``status`` field).", - "operationId": "cancel_job", + "/api/v1/agent/semantic/metrics": { + "get": { + "operationId": "list_metrics", "parameters": [ { - "in": "path", - "name": "job_id", - "required": true, + "in": "query", + "name": "dataset_id", + "required": false, "schema": { + "default": null, "type": "string" } }, { - "$ref": "#/components/parameters/AgentTokenHeader" + "in": "query", + "name": "status", + "required": false, + "schema": { + "default": null, + "type": "string" + } }, { - "$ref": "#/components/parameters/CorrelationIdHeader" + "in": "query", + "name": "limit", + "required": false, + "schema": { + "default": 100, + "type": "integer" + } }, { - "$ref": "#/components/parameters/IdempotencyKeyHeader" + "in": "query", + "name": "offset", + "required": false, + "schema": { + "default": 0, + "type": "integer" + } + }, + { + "$ref": "#/components/parameters/AgentTokenHeader" + }, + { + "$ref": "#/components/parameters/CorrelationIdHeader" } ], "responses": { @@ -7157,7 +8149,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/CancelResponse" + "$ref": "#/components/schemas/Paginated[SemanticMetricRead]" } } }, @@ -7169,16 +8161,13 @@ "AgentToken": [] } ], - "summary": "Cooperatively cancel a running job.", + "summary": "List metrics for the caller's workspace (agent-tier).", "tags": [ - "AgentIngestJobs" + "AgentSemanticMetrics" ] - } - }, - "/api/v1/agent/query": { + }, "post": { - "description": "Replay-dedup'd via ``Idempotency-Key``. The header is *required*\non the agent surface so an at-least-once delivery agent (which\nretries on network error) doesn't burn budget by re-running the\nsame multi-LLM pipeline twice.\n\n:param http_request: Starlette request (provides tenant context + agent token)\n:param body: validated QueryRequest\n:return: AnswerResponse", - "operationId": "query", + "operationId": "create", "parameters": [ { "$ref": "#/components/parameters/AgentTokenHeader" @@ -7194,18 +8183,18 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/QueryRequest" + "$ref": "#/components/schemas/SemanticMetricCreate" } } }, "required": true }, "responses": { - "200": { + "201": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/AnswerResponse" + "$ref": "#/components/schemas/SemanticMetricRead" } } }, @@ -7227,59 +8216,41 @@ "AgentToken": [] } ], - "summary": "Run the full NL \u2192 SQL \u2192 result pipeline (agent-tier).", + "summary": "Create a metric in DRAFT (agent-tier).", "tags": [ - "AgentQuery" + "AgentSemanticMetrics" ] } }, - "/api/v1/agent/query/stream": { - "post": { - "description": ":param http_request: Starlette request\n:param body: validated QueryRequest\n:return: StreamingResponse with text/event-stream", - "operationId": "stream", + "/api/v1/agent/semantic/metrics/{metric_id}": { + "get": { + "operationId": "get_metric", "parameters": [ { - "$ref": "#/components/parameters/AgentTokenHeader" + "in": "path", + "name": "metric_id", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/CorrelationIdHeader" + "$ref": "#/components/parameters/AgentTokenHeader" }, { - "$ref": "#/components/parameters/IdempotencyKeyHeader" + "$ref": "#/components/parameters/CorrelationIdHeader" } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/QueryRequest" - } - } - }, - "required": true - }, "responses": { "200": { - "content": { - "text/event-stream": { - "schema": { - "description": "One SSE frame per event. Frames carry ``event:`` + ``data:`` (JSON-encoded) lines.", - "format": "event-stream", - "type": "string" - } - } - }, - "description": "Server-Sent Events stream. Each frame follows the SSE wire format ``event: \\ndata: \\n\\n``. See ``docs/api-reference.md`` section 8 for the per-endpoint event catalogue." - }, - "422": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/HTTPValidationError" + "$ref": "#/components/schemas/SemanticMetricRead" } } }, - "description": "Validation Error" + "description": "Successful response" } }, "security": [ @@ -7287,17 +8258,22 @@ "AgentToken": [] } ], - "summary": "Run the pipeline as SSE stream (agent-tier).", + "summary": "Fetch a single metric (agent-tier).", "tags": [ - "AgentQuery" + "AgentSemanticMetrics" ] - } - }, - "/api/v1/agent/query:batch": { - "post": { - "description": "Delegates to the user-tier ``QueryController.batch`` by\ninstantiating it inline (same pattern as :meth:`stream`).\nReplay-dedup'd via ``Idempotency-Key`` (required) -- a batch\nis N parallel multi-LLM pipelines, the costliest single\nrequest shape in the API.", - "operationId": "batch", + }, + "put": { + "operationId": "update", "parameters": [ + { + "in": "path", + "name": "metric_id", + "required": true, + "schema": { + "type": "string" + } + }, { "$ref": "#/components/parameters/AgentTokenHeader" }, @@ -7312,7 +8288,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/BatchQueryRequest" + "$ref": "#/components/schemas/SemanticMetricUpdate" } } }, @@ -7323,7 +8299,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/BatchQueryResponse" + "$ref": "#/components/schemas/SemanticMetricRead" } } }, @@ -7345,57 +8321,41 @@ "AgentToken": [] } ], - "summary": "Agent-tier mirror of POST /api/v1/query:batch.", + "summary": "Sparse-update a metric (agent-tier).", "tags": [ - "AgentQuery" + "AgentSemanticMetrics" ] } }, - "/api/v1/agent/query:explain": { - "post": { - "description": ":param http_request: Starlette request\n:param body: validated QueryRequest\n:return: ExplainResponse with candidate SQL and reasoning", - "operationId": "explain", + "/api/v1/agent/semantic/metrics/{metric_id}/history": { + "get": { + "operationId": "history", "parameters": [ { - "$ref": "#/components/parameters/AgentTokenHeader" + "in": "path", + "name": "metric_id", + "required": true, + "schema": { + "type": "string" + } }, { - "$ref": "#/components/parameters/CorrelationIdHeader" + "$ref": "#/components/parameters/AgentTokenHeader" }, { - "$ref": "#/components/parameters/IdempotencyKeyHeader" + "$ref": "#/components/parameters/CorrelationIdHeader" } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/QueryRequest" - } - } - }, - "required": true - }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ExplainResponse" + "$ref": "#/components/schemas/Paginated[SemanticVersionRead]" } } }, "description": "Successful response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" } }, "security": [ @@ -7403,17 +8363,24 @@ "AgentToken": [] } ], - "summary": "Run Grounding + Generation only (agent-tier).", + "summary": "Return version history for a metric (agent-tier).", "tags": [ - "AgentQuery" + "AgentSemanticMetrics" ] } }, - "/api/v1/agent/query:validate": { + "/api/v1/agent/semantic/metrics/{metric_id}:publish": { "post": { - "description": ":param http_request: Starlette request\n:param body: validated QueryRequest\n:return: ValidateResponse", - "operationId": "validate", + "operationId": "publish", "parameters": [ + { + "in": "path", + "name": "metric_id", + "required": true, + "schema": { + "type": "string" + } + }, { "$ref": "#/components/parameters/AgentTokenHeader" }, @@ -7424,36 +8391,16 @@ "$ref": "#/components/parameters/IdempotencyKeyHeader" } ], - "requestBody": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/QueryRequest" - } - } - }, - "required": true - }, "responses": { "200": { "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/ValidateResponse" + "$ref": "#/components/schemas/SemanticMetricRead" } } }, "description": "Successful response" - }, - "422": { - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/HTTPValidationError" - } - } - }, - "description": "Validation Error" } }, "security": [ @@ -7461,19 +8408,19 @@ "AgentToken": [] } ], - "summary": "Run Grounding + Generation + AST + ScopeGuard (agent-tier).", + "summary": "Publish a metric (agent-tier).", "tags": [ - "AgentQuery" + "AgentSemanticMetrics" ] } }, - "/api/v1/agent/schema-objects/{object_id}": { - "get": { - "operationId": "get_schema_object", + "/api/v1/agent/semantic/metrics/{metric_id}:retire": { + "post": { + "operationId": "retire", "parameters": [ { "in": "path", - "name": "object_id", + "name": "metric_id", "required": true, "schema": { "type": "string" @@ -7484,6 +8431,9 @@ }, { "$ref": "#/components/parameters/CorrelationIdHeader" + }, + { + "$ref": "#/components/parameters/IdempotencyKeyHeader" } ], "responses": { @@ -7491,7 +8441,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/SchemaObjectRead" + "$ref": "#/components/schemas/SemanticMetricRead" } } }, @@ -7503,8 +8453,9 @@ "AgentToken": [] } ], + "summary": "Retire a metric (agent-tier).", "tags": [ - "AgentTables" + "AgentSemanticMetrics" ] } }, @@ -10814,6 +11765,15 @@ "type": "string" } }, + { + "in": "query", + "name": "status", + "required": false, + "schema": { + "default": null, + "type": "string" + } + }, { "in": "query", "name": "limit", @@ -10860,7 +11820,7 @@ "WorkspaceContext": [] } ], - "summary": "List all semantic dimensions for the caller's workspace.", + "summary": "List semantic dimensions for the caller's workspace (optional status filter).", "tags": [ "SemanticDimensions" ] @@ -11032,7 +11992,7 @@ "WorkspaceContext": [] } ], - "summary": "Sparse-update a dimension; re-validates YAML if definition changes.", + "summary": "Sparse-update a dimension; re-validates + recompiles if published.", "tags": [ "SemanticDimensions" ] @@ -11195,6 +12155,15 @@ "type": "string" } }, + { + "in": "query", + "name": "status", + "required": false, + "schema": { + "default": null, + "type": "string" + } + }, { "in": "query", "name": "limit", @@ -11241,7 +12210,7 @@ "WorkspaceContext": [] } ], - "summary": "List all semantic metrics for the caller's workspace.", + "summary": "List semantic metrics for the caller's workspace (optional status filter).", "tags": [ "SemanticMetrics" ] @@ -11413,7 +12382,7 @@ "WorkspaceContext": [] } ], - "summary": "Sparse-update a metric; re-validates YAML if definition changes.", + "summary": "Sparse-update a metric; re-validates + recompiles if published.", "tags": [ "SemanticMetrics" ] @@ -12523,6 +13492,9 @@ { "name": "AgentExamples" }, + { + "name": "AgentGlossary" + }, { "name": "AgentIngestJobs" }, @@ -12532,6 +13504,12 @@ { "name": "AgentRelations" }, + { + "name": "AgentSemanticDimensions" + }, + { + "name": "AgentSemanticMetrics" + }, { "name": "AgentSqlExecute" }, diff --git a/pyproject.toml b/pyproject.toml index c0ba8b1..51a5579 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -1,7 +1,7 @@ [project] name = "flyquery" # CalVer YY.MM.PP per memory `firefly_uses_calver`. -version = "26.5.14" +version = "26.6.0" description = "Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL service over user-uploaded structured files. Part of Firefly OperationOS." readme = "README.md" requires-python = ">=3.13,<3.14" diff --git a/sdks/java/.openapi-generator/FILES b/sdks/java/.openapi-generator/FILES index d436ba7..1580732 100644 --- a/sdks/java/.openapi-generator/FILES +++ b/sdks/java/.openapi-generator/FILES @@ -7,9 +7,12 @@ build.sbt docs/AgentConversationsApi.md docs/AgentDatasetsApi.md docs/AgentExamplesApi.md +docs/AgentGlossaryApi.md docs/AgentIngestJobsApi.md docs/AgentQueryApi.md docs/AgentRelationsApi.md +docs/AgentSemanticDimensionsApi.md +docs/AgentSemanticMetricsApi.md docs/AgentSqlExecuteApi.md docs/AgentTablesApi.md docs/AgentTokenCreated.md @@ -153,9 +156,12 @@ src/main/java/com/firefly/flyquery/StringUtil.java src/main/java/com/firefly/flyquery/api/AgentConversationsApi.java src/main/java/com/firefly/flyquery/api/AgentDatasetsApi.java src/main/java/com/firefly/flyquery/api/AgentExamplesApi.java +src/main/java/com/firefly/flyquery/api/AgentGlossaryApi.java src/main/java/com/firefly/flyquery/api/AgentIngestJobsApi.java src/main/java/com/firefly/flyquery/api/AgentQueryApi.java src/main/java/com/firefly/flyquery/api/AgentRelationsApi.java +src/main/java/com/firefly/flyquery/api/AgentSemanticDimensionsApi.java +src/main/java/com/firefly/flyquery/api/AgentSemanticMetricsApi.java src/main/java/com/firefly/flyquery/api/AgentSqlExecuteApi.java src/main/java/com/firefly/flyquery/api/AgentTablesApi.java src/main/java/com/firefly/flyquery/api/AgentTokensApi.java @@ -287,9 +293,12 @@ src/main/java/com/firefly/flyquery/model/WorkspaceUpdate.java src/test/java/com/firefly/flyquery/api/AgentConversationsApiTest.java src/test/java/com/firefly/flyquery/api/AgentDatasetsApiTest.java src/test/java/com/firefly/flyquery/api/AgentExamplesApiTest.java +src/test/java/com/firefly/flyquery/api/AgentGlossaryApiTest.java src/test/java/com/firefly/flyquery/api/AgentIngestJobsApiTest.java src/test/java/com/firefly/flyquery/api/AgentQueryApiTest.java src/test/java/com/firefly/flyquery/api/AgentRelationsApiTest.java +src/test/java/com/firefly/flyquery/api/AgentSemanticDimensionsApiTest.java +src/test/java/com/firefly/flyquery/api/AgentSemanticMetricsApiTest.java src/test/java/com/firefly/flyquery/api/AgentSqlExecuteApiTest.java src/test/java/com/firefly/flyquery/api/AgentTablesApiTest.java src/test/java/com/firefly/flyquery/api/AgentTokensApiTest.java diff --git a/sdks/java/api/openapi.yaml b/sdks/java/api/openapi.yaml index 545af97..abd2e9c 100644 --- a/sdks/java/api/openapi.yaml +++ b/sdks/java/api/openapi.yaml @@ -13,7 +13,7 @@ info: name: Apache-2.0 url: https://github.com/firefly-operationOS/flyquery/blob/main/LICENSE title: flyquery - version: 26.5.4 + version: 26.6.0 servers: - description: This service url: / @@ -21,9 +21,12 @@ tags: - name: AgentConversations - name: AgentDatasets - name: AgentExamples +- name: AgentGlossary - name: AgentIngestJobs - name: AgentQuery - name: AgentRelations +- name: AgentSemanticDimensions +- name: AgentSemanticMetrics - name: AgentSqlExecute - name: AgentTables - name: AgentTokens @@ -559,6 +562,166 @@ paths: x-content-type: application/json x-accepts: - application/json + /api/v1/agent/glossary: + get: + operationId: list_terms + parameters: + - explode: true + in: query + name: limit + required: false + schema: + default: 100 + type: integer + style: form + - explode: true + in: query + name: offset + required: false + schema: + default: 0 + type: integer + style: form + - $ref: "#/components/parameters/AgentTokenHeader" + - $ref: "#/components/parameters/CorrelationIdHeader" + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Paginated[GlossaryTermRead]" + description: Successful response + security: + - AgentToken: [] + summary: List glossary terms for the caller's workspace (agent-tier). + tags: + - AgentGlossary + x-accepts: + - application/json + post: + operationId: create + parameters: + - $ref: "#/components/parameters/AgentTokenHeader" + - $ref: "#/components/parameters/CorrelationIdHeader" + - $ref: "#/components/parameters/IdempotencyKeyHeader" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/GlossaryTermCreate" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/GlossaryTermRead" + description: Successful response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/HTTPValidationError" + description: Validation Error + security: + - AgentToken: [] + summary: Create a glossary term (agent-tier). + tags: + - AgentGlossary + x-content-type: application/json + x-accepts: + - application/json + /api/v1/agent/glossary/{term_id}: + delete: + operationId: delete + parameters: + - explode: false + in: path + name: term_id + required: true + schema: + type: string + style: simple + - $ref: "#/components/parameters/AgentTokenHeader" + - $ref: "#/components/parameters/CorrelationIdHeader" + - $ref: "#/components/parameters/IdempotencyKeyHeader" + responses: + "204": + description: No Content + security: + - AgentToken: [] + summary: Hard-delete a glossary term (agent-tier). + tags: + - AgentGlossary + x-accepts: + - application/json + get: + operationId: get_term + parameters: + - explode: false + in: path + name: term_id + required: true + schema: + nullable: true + type: string + style: simple + - $ref: "#/components/parameters/AgentTokenHeader" + - $ref: "#/components/parameters/CorrelationIdHeader" + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/GlossaryTermRead" + description: Successful response + security: + - AgentToken: [] + summary: Fetch a single glossary term (agent-tier). + tags: + - AgentGlossary + x-accepts: + - application/json + put: + operationId: update + parameters: + - explode: false + in: path + name: term_id + required: true + schema: + type: string + style: simple + - $ref: "#/components/parameters/AgentTokenHeader" + - $ref: "#/components/parameters/CorrelationIdHeader" + - $ref: "#/components/parameters/IdempotencyKeyHeader" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/GlossaryTermUpdate" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/GlossaryTermRead" + description: Successful response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/HTTPValidationError" + description: Validation Error + security: + - AgentToken: [] + summary: Sparse-update a glossary term (agent-tier). + tags: + - AgentGlossary + x-content-type: application/json + x-accepts: + - application/json /api/v1/agent/ingest-jobs: get: operationId: list_jobs @@ -740,66 +903,554 @@ paths: description: Validation Error security: - AgentToken: [] - summary: Run the full NL → SQL → result pipeline (agent-tier). + summary: Run the full NL → SQL → result pipeline (agent-tier). + tags: + - AgentQuery + x-content-type: application/json + x-accepts: + - application/json + /api/v1/agent/query/stream: + post: + description: |- + :param http_request: Starlette request + :param body: validated QueryRequest + :return: StreamingResponse with text/event-stream + operationId: stream + parameters: + - $ref: "#/components/parameters/AgentTokenHeader" + - $ref: "#/components/parameters/CorrelationIdHeader" + - $ref: "#/components/parameters/IdempotencyKeyHeader" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/QueryRequest" + required: true + responses: + "200": + content: + text/event-stream: + schema: + description: One SSE frame per event. Frames carry ``event:`` + ``data:`` + (JSON-encoded) lines. + format: event-stream + type: string + description: "Server-Sent Events stream. Each frame follows the SSE wire\ + \ format ``event: \\ndata: \\n\\n``. See ``docs/api-reference.md``\ + \ section 8 for the per-endpoint event catalogue." + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/HTTPValidationError" + description: Validation Error + security: + - AgentToken: [] + summary: Run the pipeline as SSE stream (agent-tier). + tags: + - AgentQuery + x-content-type: application/json + x-accepts: + - application/json + - text/event-stream + /api/v1/agent/query:batch: + post: + description: |- + Delegates to the user-tier ``QueryController.batch`` by + instantiating it inline (same pattern as :meth:`stream`). + Replay-dedup'd via ``Idempotency-Key`` (required) -- a batch + is N parallel multi-LLM pipelines, the costliest single + request shape in the API. + operationId: batch + parameters: + - $ref: "#/components/parameters/AgentTokenHeader" + - $ref: "#/components/parameters/CorrelationIdHeader" + - $ref: "#/components/parameters/IdempotencyKeyHeader" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/BatchQueryRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/BatchQueryResponse" + description: Successful response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/HTTPValidationError" + description: Validation Error + security: + - AgentToken: [] + summary: Agent-tier mirror of POST /api/v1/query:batch. + tags: + - AgentQuery + x-content-type: application/json + x-accepts: + - application/json + /api/v1/agent/query:explain: + post: + description: |- + :param http_request: Starlette request + :param body: validated QueryRequest + :return: ExplainResponse with candidate SQL and reasoning + operationId: explain + parameters: + - $ref: "#/components/parameters/AgentTokenHeader" + - $ref: "#/components/parameters/CorrelationIdHeader" + - $ref: "#/components/parameters/IdempotencyKeyHeader" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/QueryRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ExplainResponse" + description: Successful response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/HTTPValidationError" + description: Validation Error + security: + - AgentToken: [] + summary: Run Grounding + Generation only (agent-tier). + tags: + - AgentQuery + x-content-type: application/json + x-accepts: + - application/json + /api/v1/agent/query:validate: + post: + description: |- + :param http_request: Starlette request + :param body: validated QueryRequest + :return: ValidateResponse + operationId: validate + parameters: + - $ref: "#/components/parameters/AgentTokenHeader" + - $ref: "#/components/parameters/CorrelationIdHeader" + - $ref: "#/components/parameters/IdempotencyKeyHeader" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/QueryRequest" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/ValidateResponse" + description: Successful response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/HTTPValidationError" + description: Validation Error + security: + - AgentToken: [] + summary: Run Grounding + Generation + AST + ScopeGuard (agent-tier). + tags: + - AgentQuery + x-content-type: application/json + x-accepts: + - application/json + /api/v1/agent/schema-objects/{object_id}: + get: + operationId: get_schema_object + parameters: + - explode: false + in: path + name: object_id + required: true + schema: + nullable: true + type: string + style: simple + - $ref: "#/components/parameters/AgentTokenHeader" + - $ref: "#/components/parameters/CorrelationIdHeader" + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/SchemaObjectRead" + description: Successful response + security: + - AgentToken: [] + tags: + - AgentTables + x-accepts: + - application/json + /api/v1/agent/semantic/dimensions: + get: + operationId: list_dimensions + parameters: + - explode: true + in: query + name: dataset_id + required: false + schema: + type: string + style: form + - explode: true + in: query + name: status + required: false + schema: + type: string + style: form + - explode: true + in: query + name: limit + required: false + schema: + default: 100 + type: integer + style: form + - explode: true + in: query + name: offset + required: false + schema: + default: 0 + type: integer + style: form + - $ref: "#/components/parameters/AgentTokenHeader" + - $ref: "#/components/parameters/CorrelationIdHeader" + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Paginated[SemanticDimensionRead]" + description: Successful response + security: + - AgentToken: [] + summary: List dimensions for the caller's workspace (agent-tier). + tags: + - AgentSemanticDimensions + x-accepts: + - application/json + post: + operationId: create + parameters: + - $ref: "#/components/parameters/AgentTokenHeader" + - $ref: "#/components/parameters/CorrelationIdHeader" + - $ref: "#/components/parameters/IdempotencyKeyHeader" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/SemanticDimensionCreate" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/SemanticDimensionRead" + description: Successful response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/HTTPValidationError" + description: Validation Error + security: + - AgentToken: [] + summary: Create a dimension in DRAFT (agent-tier). + tags: + - AgentSemanticDimensions + x-content-type: application/json + x-accepts: + - application/json + /api/v1/agent/semantic/dimensions/{dimension_id}: + get: + operationId: get_dimension + parameters: + - explode: false + in: path + name: dimension_id + required: true + schema: + nullable: true + type: string + style: simple + - $ref: "#/components/parameters/AgentTokenHeader" + - $ref: "#/components/parameters/CorrelationIdHeader" + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/SemanticDimensionRead" + description: Successful response + security: + - AgentToken: [] + summary: Fetch a single dimension (agent-tier). + tags: + - AgentSemanticDimensions + x-accepts: + - application/json + put: + operationId: update + parameters: + - explode: false + in: path + name: dimension_id + required: true + schema: + type: string + style: simple + - $ref: "#/components/parameters/AgentTokenHeader" + - $ref: "#/components/parameters/CorrelationIdHeader" + - $ref: "#/components/parameters/IdempotencyKeyHeader" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/SemanticDimensionUpdate" + required: true + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/SemanticDimensionRead" + description: Successful response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/HTTPValidationError" + description: Validation Error + security: + - AgentToken: [] + summary: Sparse-update a dimension (agent-tier). + tags: + - AgentSemanticDimensions + x-content-type: application/json + x-accepts: + - application/json + /api/v1/agent/semantic/dimensions/{dimension_id}/history: + get: + operationId: history + parameters: + - explode: false + in: path + name: dimension_id + required: true + schema: + type: string + style: simple + - $ref: "#/components/parameters/AgentTokenHeader" + - $ref: "#/components/parameters/CorrelationIdHeader" + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Paginated[SemanticVersionRead]" + description: Successful response + security: + - AgentToken: [] + summary: Return version history for a dimension (agent-tier). + tags: + - AgentSemanticDimensions + x-accepts: + - application/json + /api/v1/agent/semantic/dimensions/{dimension_id}:publish: + post: + operationId: publish + parameters: + - explode: false + in: path + name: dimension_id + required: true + schema: + type: string + style: simple + - $ref: "#/components/parameters/AgentTokenHeader" + - $ref: "#/components/parameters/CorrelationIdHeader" + - $ref: "#/components/parameters/IdempotencyKeyHeader" + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/SemanticDimensionRead" + description: Successful response + security: + - AgentToken: [] + summary: Publish a dimension (agent-tier). + tags: + - AgentSemanticDimensions + x-accepts: + - application/json + /api/v1/agent/semantic/dimensions/{dimension_id}:retire: + post: + operationId: retire + parameters: + - explode: false + in: path + name: dimension_id + required: true + schema: + type: string + style: simple + - $ref: "#/components/parameters/AgentTokenHeader" + - $ref: "#/components/parameters/CorrelationIdHeader" + - $ref: "#/components/parameters/IdempotencyKeyHeader" + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/SemanticDimensionRead" + description: Successful response + security: + - AgentToken: [] + summary: Retire a dimension (agent-tier). + tags: + - AgentSemanticDimensions + x-accepts: + - application/json + /api/v1/agent/semantic/metrics: + get: + operationId: list_metrics + parameters: + - explode: true + in: query + name: dataset_id + required: false + schema: + type: string + style: form + - explode: true + in: query + name: status + required: false + schema: + type: string + style: form + - explode: true + in: query + name: limit + required: false + schema: + default: 100 + type: integer + style: form + - explode: true + in: query + name: offset + required: false + schema: + default: 0 + type: integer + style: form + - $ref: "#/components/parameters/AgentTokenHeader" + - $ref: "#/components/parameters/CorrelationIdHeader" + responses: + "200": + content: + application/json: + schema: + $ref: "#/components/schemas/Paginated[SemanticMetricRead]" + description: Successful response + security: + - AgentToken: [] + summary: List metrics for the caller's workspace (agent-tier). + tags: + - AgentSemanticMetrics + x-accepts: + - application/json + post: + operationId: create + parameters: + - $ref: "#/components/parameters/AgentTokenHeader" + - $ref: "#/components/parameters/CorrelationIdHeader" + - $ref: "#/components/parameters/IdempotencyKeyHeader" + requestBody: + content: + application/json: + schema: + $ref: "#/components/schemas/SemanticMetricCreate" + required: true + responses: + "201": + content: + application/json: + schema: + $ref: "#/components/schemas/SemanticMetricRead" + description: Successful response + "422": + content: + application/json: + schema: + $ref: "#/components/schemas/HTTPValidationError" + description: Validation Error + security: + - AgentToken: [] + summary: Create a metric in DRAFT (agent-tier). tags: - - AgentQuery + - AgentSemanticMetrics x-content-type: application/json x-accepts: - application/json - /api/v1/agent/query/stream: - post: - description: |- - :param http_request: Starlette request - :param body: validated QueryRequest - :return: StreamingResponse with text/event-stream - operationId: stream + /api/v1/agent/semantic/metrics/{metric_id}: + get: + operationId: get_metric parameters: + - explode: false + in: path + name: metric_id + required: true + schema: + nullable: true + type: string + style: simple - $ref: "#/components/parameters/AgentTokenHeader" - $ref: "#/components/parameters/CorrelationIdHeader" - - $ref: "#/components/parameters/IdempotencyKeyHeader" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/QueryRequest" - required: true responses: "200": - content: - text/event-stream: - schema: - description: One SSE frame per event. Frames carry ``event:`` + ``data:`` - (JSON-encoded) lines. - format: event-stream - type: string - description: "Server-Sent Events stream. Each frame follows the SSE wire\ - \ format ``event: \\ndata: \\n\\n``. See ``docs/api-reference.md``\ - \ section 8 for the per-endpoint event catalogue." - "422": content: application/json: schema: - $ref: "#/components/schemas/HTTPValidationError" - description: Validation Error + $ref: "#/components/schemas/SemanticMetricRead" + description: Successful response security: - AgentToken: [] - summary: Run the pipeline as SSE stream (agent-tier). + summary: Fetch a single metric (agent-tier). tags: - - AgentQuery - x-content-type: application/json + - AgentSemanticMetrics x-accepts: - application/json - - text/event-stream - /api/v1/agent/query:batch: - post: - description: |- - Delegates to the user-tier ``QueryController.batch`` by - instantiating it inline (same pattern as :meth:`stream`). - Replay-dedup'd via ``Idempotency-Key`` (required) -- a batch - is N parallel multi-LLM pipelines, the costliest single - request shape in the API. - operationId: batch + put: + operationId: update parameters: + - explode: false + in: path + name: metric_id + required: true + schema: + type: string + style: simple - $ref: "#/components/parameters/AgentTokenHeader" - $ref: "#/components/parameters/CorrelationIdHeader" - $ref: "#/components/parameters/IdempotencyKeyHeader" @@ -807,14 +1458,14 @@ paths: content: application/json: schema: - $ref: "#/components/schemas/BatchQueryRequest" + $ref: "#/components/schemas/SemanticMetricUpdate" required: true responses: "200": content: application/json: schema: - $ref: "#/components/schemas/BatchQueryResponse" + $ref: "#/components/schemas/SemanticMetricRead" description: Successful response "422": content: @@ -824,113 +1475,93 @@ paths: description: Validation Error security: - AgentToken: [] - summary: Agent-tier mirror of POST /api/v1/query:batch. + summary: Sparse-update a metric (agent-tier). tags: - - AgentQuery + - AgentSemanticMetrics x-content-type: application/json x-accepts: - application/json - /api/v1/agent/query:explain: - post: - description: |- - :param http_request: Starlette request - :param body: validated QueryRequest - :return: ExplainResponse with candidate SQL and reasoning - operationId: explain + /api/v1/agent/semantic/metrics/{metric_id}/history: + get: + operationId: history parameters: + - explode: false + in: path + name: metric_id + required: true + schema: + type: string + style: simple - $ref: "#/components/parameters/AgentTokenHeader" - $ref: "#/components/parameters/CorrelationIdHeader" - - $ref: "#/components/parameters/IdempotencyKeyHeader" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/QueryRequest" - required: true responses: "200": content: application/json: schema: - $ref: "#/components/schemas/ExplainResponse" + $ref: "#/components/schemas/Paginated[SemanticVersionRead]" description: Successful response - "422": - content: - application/json: - schema: - $ref: "#/components/schemas/HTTPValidationError" - description: Validation Error security: - AgentToken: [] - summary: Run Grounding + Generation only (agent-tier). + summary: Return version history for a metric (agent-tier). tags: - - AgentQuery - x-content-type: application/json + - AgentSemanticMetrics x-accepts: - application/json - /api/v1/agent/query:validate: + /api/v1/agent/semantic/metrics/{metric_id}:publish: post: - description: |- - :param http_request: Starlette request - :param body: validated QueryRequest - :return: ValidateResponse - operationId: validate + operationId: publish parameters: + - explode: false + in: path + name: metric_id + required: true + schema: + type: string + style: simple - $ref: "#/components/parameters/AgentTokenHeader" - $ref: "#/components/parameters/CorrelationIdHeader" - $ref: "#/components/parameters/IdempotencyKeyHeader" - requestBody: - content: - application/json: - schema: - $ref: "#/components/schemas/QueryRequest" - required: true responses: "200": content: application/json: schema: - $ref: "#/components/schemas/ValidateResponse" + $ref: "#/components/schemas/SemanticMetricRead" description: Successful response - "422": - content: - application/json: - schema: - $ref: "#/components/schemas/HTTPValidationError" - description: Validation Error security: - AgentToken: [] - summary: Run Grounding + Generation + AST + ScopeGuard (agent-tier). + summary: Publish a metric (agent-tier). tags: - - AgentQuery - x-content-type: application/json + - AgentSemanticMetrics x-accepts: - application/json - /api/v1/agent/schema-objects/{object_id}: - get: - operationId: get_schema_object + /api/v1/agent/semantic/metrics/{metric_id}:retire: + post: + operationId: retire parameters: - explode: false in: path - name: object_id + name: metric_id required: true schema: - nullable: true type: string style: simple - $ref: "#/components/parameters/AgentTokenHeader" - $ref: "#/components/parameters/CorrelationIdHeader" + - $ref: "#/components/parameters/IdempotencyKeyHeader" responses: "200": content: application/json: schema: - $ref: "#/components/schemas/SchemaObjectRead" + $ref: "#/components/schemas/SemanticMetricRead" description: Successful response security: - AgentToken: [] + summary: Retire a metric (agent-tier). tags: - - AgentTables + - AgentSemanticMetrics x-accepts: - application/json /api/v1/agent/sql:execute: @@ -2425,7 +3056,6 @@ paths: name: term_id required: true schema: - nullable: true type: string style: simple - $ref: "#/components/parameters/TenantIdHeader" @@ -3290,6 +3920,13 @@ paths: schema: type: string style: form + - explode: true + in: query + name: status + required: false + schema: + type: string + style: form - explode: true in: query name: limit @@ -3319,7 +3956,8 @@ paths: security: - TenantContext: [] WorkspaceContext: [] - summary: List all semantic dimensions for the caller's workspace. + summary: List semantic dimensions for the caller's workspace (optional status + filter). tags: - SemanticDimensions x-accepts: @@ -3368,7 +4006,6 @@ paths: name: dimension_id required: true schema: - nullable: true type: string style: simple - $ref: "#/components/parameters/TenantIdHeader" @@ -3425,7 +4062,7 @@ paths: security: - TenantContext: [] WorkspaceContext: [] - summary: Sparse-update a dimension; re-validates YAML if definition changes. + summary: Sparse-update a dimension; re-validates + recompiles if published. tags: - SemanticDimensions x-content-type: application/json @@ -3531,6 +4168,13 @@ paths: schema: type: string style: form + - explode: true + in: query + name: status + required: false + schema: + type: string + style: form - explode: true in: query name: limit @@ -3560,7 +4204,7 @@ paths: security: - TenantContext: [] WorkspaceContext: [] - summary: List all semantic metrics for the caller's workspace. + summary: List semantic metrics for the caller's workspace (optional status filter). tags: - SemanticMetrics x-accepts: @@ -3609,7 +4253,6 @@ paths: name: metric_id required: true schema: - nullable: true type: string style: simple - $ref: "#/components/parameters/TenantIdHeader" @@ -3666,7 +4309,7 @@ paths: security: - TenantContext: [] WorkspaceContext: [] - summary: Sparse-update a metric; re-validates YAML if definition changes. + summary: Sparse-update a metric; re-validates + recompiles if published. tags: - SemanticMetrics x-content-type: application/json @@ -6042,44 +6685,44 @@ components: GlossaryTermCreate: description: Payload for creating a new glossary term. example: - related_metrics_json: - - related_metrics_json - - related_metrics_json - synonyms_json: - - synonyms_json - - synonyms_json + related_columns: + - related_columns + - related_columns + related_metrics: + - related_metrics + - related_metrics + synonyms: + - synonyms + - synonyms definition: definition - related_columns_json: - - related_columns_json - - related_columns_json term: term - tags_json: - - tags_json - - tags_json + tags: + - tags + - tags properties: definition: minLength: 1 title: Definition type: string - related_columns_json: + related_columns: items: type: string - title: Related Columns Json + title: Related Columns type: array - related_metrics_json: + related_metrics: items: type: string - title: Related Metrics Json + title: Related Metrics type: array - synonyms_json: + synonyms: items: type: string - title: Synonyms Json + title: Synonyms type: array - tags_json: + tags: items: type: string - title: Tags Json + title: Tags type: array term: maxLength: 512 @@ -6174,39 +6817,39 @@ components: GlossaryTermUpdate: description: Sparse-update payload for an existing glossary term. example: - related_metrics_json: - - related_metrics_json - - related_metrics_json - synonyms_json: - - synonyms_json - - synonyms_json + related_columns: + - related_columns + - related_columns + related_metrics: + - related_metrics + - related_metrics + synonyms: + - synonyms + - synonyms definition: definition - related_columns_json: - - related_columns_json - - related_columns_json - tags_json: - - tags_json - - tags_json + tags: + - tags + - tags properties: definition: nullable: true type: string - related_columns_json: + related_columns: items: type: string nullable: true type: array - related_metrics_json: + related_metrics: items: type: string nullable: true type: array - synonyms_json: + synonyms: items: type: string nullable: true type: array - tags_json: + tags: items: type: string nullable: true @@ -7174,11 +7817,13 @@ components: label: label compiled_sql_template: compiled_sql_template workspace_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + dimension_type: categorical updated_at: 2000-01-23T04:56:07.000+00:00 definition_yaml: definition_yaml - metric_type: SIMPLE name: name id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + metadata_json: + key: "" status: DRAFT - tenant_id: tenant_id dataset_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 @@ -7188,11 +7833,13 @@ components: label: label compiled_sql_template: compiled_sql_template workspace_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + dimension_type: categorical updated_at: 2000-01-23T04:56:07.000+00:00 definition_yaml: definition_yaml - metric_type: SIMPLE name: name id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + metadata_json: + key: "" status: DRAFT properties: has_more: @@ -7233,6 +7880,8 @@ components: metric_type: SIMPLE name: name id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + metadata_json: + key: "" status: DRAFT - tenant_id: tenant_id dataset_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 @@ -7247,6 +7896,8 @@ components: metric_type: SIMPLE name: name id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + metadata_json: + key: "" status: DRAFT properties: has_more: @@ -8182,11 +8833,14 @@ components: type: array title: SchemaObjectUpdate SemanticDimensionCreate: - description: Payload for creating a new semantic dimension. + description: |- + Payload for creating a new semantic dimension. + + The dimension's ``type`` (categorical|time) is taken from the + ``definition_yaml`` body, not a separate request field. example: definition_yaml: definition_yaml dataset_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 - metric_type: SIMPLE name: name description: description label: label @@ -8205,15 +8859,6 @@ components: label: nullable: true type: string - metric_type: - default: SIMPLE - enum: - - SIMPLE - - RATIO - - DERIVED - - CUMULATIVE - title: Metric Type - type: string name: maxLength: 256 minLength: 1 @@ -8235,11 +8880,13 @@ components: label: label compiled_sql_template: compiled_sql_template workspace_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + dimension_type: categorical updated_at: 2000-01-23T04:56:07.000+00:00 definition_yaml: definition_yaml - metric_type: SIMPLE name: name id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + metadata_json: + key: "" status: DRAFT properties: compiled_sql_template: @@ -8262,6 +8909,12 @@ components: description: nullable: true type: string + dimension_type: + enum: + - categorical + - time + title: Dimension Type + type: string id: format: uuid title: Id @@ -8269,14 +8922,10 @@ components: label: nullable: true type: string - metric_type: - enum: - - SIMPLE - - RATIO - - DERIVED - - CUMULATIVE - title: Metric Type - type: string + metadata_json: + additionalProperties: true + title: Metadata Json + type: object name: title: Name type: string @@ -8305,9 +8954,9 @@ components: - dataset_id - definition_yaml - description + - dimension_type - id - label - - metric_type - name - status - tenant_id @@ -8318,7 +8967,6 @@ components: description: Sparse-update payload for an existing semantic dimension. example: definition_yaml: definition_yaml - metric_type: SIMPLE description: description label: label properties: @@ -8331,14 +8979,6 @@ components: label: nullable: true type: string - metric_type: - enum: - - SIMPLE - - RATIO - - DERIVED - - CUMULATIVE - nullable: true - type: string title: SemanticDimensionUpdate SemanticMetricCreate: description: Payload for creating a new semantic metric. @@ -8399,6 +9039,8 @@ components: metric_type: SIMPLE name: name id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 + metadata_json: + key: "" status: DRAFT properties: compiled_sql_template: @@ -8428,6 +9070,10 @@ components: label: nullable: true type: string + metadata_json: + additionalProperties: true + title: Metadata Json + type: object metric_type: enum: - SIMPLE @@ -8500,7 +9146,12 @@ components: type: string title: SemanticMetricUpdate SemanticVersionRead: - description: Read representation of a flyquery_semantic_versions row. + description: |- + Read representation of a flyquery_semantic_versions row. + + Field names follow the documented payload (``version_number``, + ``metric_id``); the underlying columns are ``version`` / ``parent_id`` + and are mapped via validation aliases. example: tenant_id: tenant_id workspace_id: 046b6c7f-0b8a-43b9-b35d-6489e6daee91 diff --git a/sdks/java/build.gradle b/sdks/java/build.gradle index 4d9ad62..ad36a6b 100644 --- a/sdks/java/build.gradle +++ b/sdks/java/build.gradle @@ -2,7 +2,7 @@ apply plugin: 'idea' apply plugin: 'eclipse' group = 'com.firefly' -version = '26.5.11' +version = '26.6.0' buildscript { repositories { diff --git a/sdks/java/docs/AgentGlossaryApi.md b/sdks/java/docs/AgentGlossaryApi.md new file mode 100644 index 0000000..0ffb1db --- /dev/null +++ b/sdks/java/docs/AgentGlossaryApi.md @@ -0,0 +1,399 @@ +# AgentGlossaryApi + +All URIs are relative to *http://localhost* + +| Method | HTTP request | Description | +|------------- | ------------- | -------------| +| [**create**](AgentGlossaryApi.md#create) | **POST** /api/v1/agent/glossary | Create a glossary term (agent-tier). | +| [**delete**](AgentGlossaryApi.md#delete) | **DELETE** /api/v1/agent/glossary/{term_id} | Hard-delete a glossary term (agent-tier). | +| [**getTerm**](AgentGlossaryApi.md#getTerm) | **GET** /api/v1/agent/glossary/{term_id} | Fetch a single glossary term (agent-tier). | +| [**listTerms**](AgentGlossaryApi.md#listTerms) | **GET** /api/v1/agent/glossary | List glossary terms for the caller's workspace (agent-tier). | +| [**update**](AgentGlossaryApi.md#update) | **PUT** /api/v1/agent/glossary/{term_id} | Sparse-update a glossary term (agent-tier). | + + + +## create + +> GlossaryTermRead create(xAgentToken, glossaryTermCreate, xCorrelationId, idempotencyKey) + +Create a glossary term (agent-tier). + +### Example + +```java +// Import classes: +import com.firefly.flyquery.ApiClient; +import com.firefly.flyquery.ApiException; +import com.firefly.flyquery.Configuration; +import com.firefly.flyquery.auth.*; +import com.firefly.flyquery.models.*; +import com.firefly.flyquery.api.AgentGlossaryApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://localhost"); + + // Configure API key authorization: AgentToken + ApiKeyAuth AgentToken = (ApiKeyAuth) defaultClient.getAuthentication("AgentToken"); + AgentToken.setApiKey("YOUR API KEY"); + // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) + //AgentToken.setApiKeyPrefix("Token"); + + AgentGlossaryApi apiInstance = new AgentGlossaryApi(defaultClient); + String xAgentToken = "fqt_live_aBcDeF1234567890aBcDeF1234567890"; // String | Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + GlossaryTermCreate glossaryTermCreate = new GlossaryTermCreate(); // GlossaryTermCreate | + UUID xCorrelationId = UUID.fromString("550e8400-e29b-41d4-a716-446655440000"); // UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + String idempotencyKey = "ingest-2026-05-23-abc123"; // String | Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + try { + GlossaryTermRead result = apiInstance.create(xAgentToken, glossaryTermCreate, xCorrelationId, idempotencyKey); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling AgentGlossaryApi#create"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **xAgentToken** | **String**| Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. | | +| **glossaryTermCreate** | [**GlossaryTermCreate**](GlossaryTermCreate.md)| | | +| **xCorrelationId** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] | +| **idempotencyKey** | **String**| Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. | [optional] | + +### Return type + +[**GlossaryTermRead**](GlossaryTermRead.md) + +### Authorization + +[AgentToken](../README.md#AgentToken) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **201** | Successful response | - | +| **422** | Validation Error | - | + + +## delete + +> delete(termId, xAgentToken, xCorrelationId, idempotencyKey) + +Hard-delete a glossary term (agent-tier). + +### Example + +```java +// Import classes: +import com.firefly.flyquery.ApiClient; +import com.firefly.flyquery.ApiException; +import com.firefly.flyquery.Configuration; +import com.firefly.flyquery.auth.*; +import com.firefly.flyquery.models.*; +import com.firefly.flyquery.api.AgentGlossaryApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://localhost"); + + // Configure API key authorization: AgentToken + ApiKeyAuth AgentToken = (ApiKeyAuth) defaultClient.getAuthentication("AgentToken"); + AgentToken.setApiKey("YOUR API KEY"); + // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) + //AgentToken.setApiKeyPrefix("Token"); + + AgentGlossaryApi apiInstance = new AgentGlossaryApi(defaultClient); + String termId = "termId_example"; // String | + String xAgentToken = "fqt_live_aBcDeF1234567890aBcDeF1234567890"; // String | Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + UUID xCorrelationId = UUID.fromString("550e8400-e29b-41d4-a716-446655440000"); // UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + String idempotencyKey = "ingest-2026-05-23-abc123"; // String | Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + try { + apiInstance.delete(termId, xAgentToken, xCorrelationId, idempotencyKey); + } catch (ApiException e) { + System.err.println("Exception when calling AgentGlossaryApi#delete"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **termId** | **String**| | | +| **xAgentToken** | **String**| Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. | | +| **xCorrelationId** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] | +| **idempotencyKey** | **String**| Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. | [optional] | + +### Return type + +null (empty response body) + +### Authorization + +[AgentToken](../README.md#AgentToken) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: Not defined + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **204** | No Content | - | + + +## getTerm + +> GlossaryTermRead getTerm(termId, xAgentToken, xCorrelationId) + +Fetch a single glossary term (agent-tier). + +### Example + +```java +// Import classes: +import com.firefly.flyquery.ApiClient; +import com.firefly.flyquery.ApiException; +import com.firefly.flyquery.Configuration; +import com.firefly.flyquery.auth.*; +import com.firefly.flyquery.models.*; +import com.firefly.flyquery.api.AgentGlossaryApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://localhost"); + + // Configure API key authorization: AgentToken + ApiKeyAuth AgentToken = (ApiKeyAuth) defaultClient.getAuthentication("AgentToken"); + AgentToken.setApiKey("YOUR API KEY"); + // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) + //AgentToken.setApiKeyPrefix("Token"); + + AgentGlossaryApi apiInstance = new AgentGlossaryApi(defaultClient); + String termId = "termId_example"; // String | + String xAgentToken = "fqt_live_aBcDeF1234567890aBcDeF1234567890"; // String | Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + UUID xCorrelationId = UUID.fromString("550e8400-e29b-41d4-a716-446655440000"); // UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + try { + GlossaryTermRead result = apiInstance.getTerm(termId, xAgentToken, xCorrelationId); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling AgentGlossaryApi#getTerm"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **termId** | **String**| | | +| **xAgentToken** | **String**| Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. | | +| **xCorrelationId** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] | + +### Return type + +[**GlossaryTermRead**](GlossaryTermRead.md) + +### Authorization + +[AgentToken](../README.md#AgentToken) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Successful response | - | + + +## listTerms + +> PaginatedGlossaryTermRead listTerms(xAgentToken, limit, offset, xCorrelationId) + +List glossary terms for the caller's workspace (agent-tier). + +### Example + +```java +// Import classes: +import com.firefly.flyquery.ApiClient; +import com.firefly.flyquery.ApiException; +import com.firefly.flyquery.Configuration; +import com.firefly.flyquery.auth.*; +import com.firefly.flyquery.models.*; +import com.firefly.flyquery.api.AgentGlossaryApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://localhost"); + + // Configure API key authorization: AgentToken + ApiKeyAuth AgentToken = (ApiKeyAuth) defaultClient.getAuthentication("AgentToken"); + AgentToken.setApiKey("YOUR API KEY"); + // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) + //AgentToken.setApiKeyPrefix("Token"); + + AgentGlossaryApi apiInstance = new AgentGlossaryApi(defaultClient); + String xAgentToken = "fqt_live_aBcDeF1234567890aBcDeF1234567890"; // String | Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + Integer limit = 100; // Integer | + Integer offset = 0; // Integer | + UUID xCorrelationId = UUID.fromString("550e8400-e29b-41d4-a716-446655440000"); // UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + try { + PaginatedGlossaryTermRead result = apiInstance.listTerms(xAgentToken, limit, offset, xCorrelationId); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling AgentGlossaryApi#listTerms"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **xAgentToken** | **String**| Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. | | +| **limit** | **Integer**| | [optional] [default to 100] | +| **offset** | **Integer**| | [optional] [default to 0] | +| **xCorrelationId** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] | + +### Return type + +[**PaginatedGlossaryTermRead**](PaginatedGlossaryTermRead.md) + +### Authorization + +[AgentToken](../README.md#AgentToken) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Successful response | - | + + +## update + +> GlossaryTermRead update(termId, xAgentToken, glossaryTermUpdate, xCorrelationId, idempotencyKey) + +Sparse-update a glossary term (agent-tier). + +### Example + +```java +// Import classes: +import com.firefly.flyquery.ApiClient; +import com.firefly.flyquery.ApiException; +import com.firefly.flyquery.Configuration; +import com.firefly.flyquery.auth.*; +import com.firefly.flyquery.models.*; +import com.firefly.flyquery.api.AgentGlossaryApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://localhost"); + + // Configure API key authorization: AgentToken + ApiKeyAuth AgentToken = (ApiKeyAuth) defaultClient.getAuthentication("AgentToken"); + AgentToken.setApiKey("YOUR API KEY"); + // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) + //AgentToken.setApiKeyPrefix("Token"); + + AgentGlossaryApi apiInstance = new AgentGlossaryApi(defaultClient); + String termId = "termId_example"; // String | + String xAgentToken = "fqt_live_aBcDeF1234567890aBcDeF1234567890"; // String | Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + GlossaryTermUpdate glossaryTermUpdate = new GlossaryTermUpdate(); // GlossaryTermUpdate | + UUID xCorrelationId = UUID.fromString("550e8400-e29b-41d4-a716-446655440000"); // UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + String idempotencyKey = "ingest-2026-05-23-abc123"; // String | Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + try { + GlossaryTermRead result = apiInstance.update(termId, xAgentToken, glossaryTermUpdate, xCorrelationId, idempotencyKey); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling AgentGlossaryApi#update"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **termId** | **String**| | | +| **xAgentToken** | **String**| Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. | | +| **glossaryTermUpdate** | [**GlossaryTermUpdate**](GlossaryTermUpdate.md)| | | +| **xCorrelationId** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] | +| **idempotencyKey** | **String**| Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. | [optional] | + +### Return type + +[**GlossaryTermRead**](GlossaryTermRead.md) + +### Authorization + +[AgentToken](../README.md#AgentToken) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Successful response | - | +| **422** | Validation Error | - | + diff --git a/sdks/java/docs/AgentSemanticDimensionsApi.md b/sdks/java/docs/AgentSemanticDimensionsApi.md new file mode 100644 index 0000000..4b6c053 --- /dev/null +++ b/sdks/java/docs/AgentSemanticDimensionsApi.md @@ -0,0 +1,558 @@ +# AgentSemanticDimensionsApi + +All URIs are relative to *http://localhost* + +| Method | HTTP request | Description | +|------------- | ------------- | -------------| +| [**create**](AgentSemanticDimensionsApi.md#create) | **POST** /api/v1/agent/semantic/dimensions | Create a dimension in DRAFT (agent-tier). | +| [**getDimension**](AgentSemanticDimensionsApi.md#getDimension) | **GET** /api/v1/agent/semantic/dimensions/{dimension_id} | Fetch a single dimension (agent-tier). | +| [**history**](AgentSemanticDimensionsApi.md#history) | **GET** /api/v1/agent/semantic/dimensions/{dimension_id}/history | Return version history for a dimension (agent-tier). | +| [**listDimensions**](AgentSemanticDimensionsApi.md#listDimensions) | **GET** /api/v1/agent/semantic/dimensions | List dimensions for the caller's workspace (agent-tier). | +| [**publish**](AgentSemanticDimensionsApi.md#publish) | **POST** /api/v1/agent/semantic/dimensions/{dimension_id}:publish | Publish a dimension (agent-tier). | +| [**retire**](AgentSemanticDimensionsApi.md#retire) | **POST** /api/v1/agent/semantic/dimensions/{dimension_id}:retire | Retire a dimension (agent-tier). | +| [**update**](AgentSemanticDimensionsApi.md#update) | **PUT** /api/v1/agent/semantic/dimensions/{dimension_id} | Sparse-update a dimension (agent-tier). | + + + +## create + +> SemanticDimensionRead create(xAgentToken, semanticDimensionCreate, xCorrelationId, idempotencyKey) + +Create a dimension in DRAFT (agent-tier). + +### Example + +```java +// Import classes: +import com.firefly.flyquery.ApiClient; +import com.firefly.flyquery.ApiException; +import com.firefly.flyquery.Configuration; +import com.firefly.flyquery.auth.*; +import com.firefly.flyquery.models.*; +import com.firefly.flyquery.api.AgentSemanticDimensionsApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://localhost"); + + // Configure API key authorization: AgentToken + ApiKeyAuth AgentToken = (ApiKeyAuth) defaultClient.getAuthentication("AgentToken"); + AgentToken.setApiKey("YOUR API KEY"); + // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) + //AgentToken.setApiKeyPrefix("Token"); + + AgentSemanticDimensionsApi apiInstance = new AgentSemanticDimensionsApi(defaultClient); + String xAgentToken = "fqt_live_aBcDeF1234567890aBcDeF1234567890"; // String | Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + SemanticDimensionCreate semanticDimensionCreate = new SemanticDimensionCreate(); // SemanticDimensionCreate | + UUID xCorrelationId = UUID.fromString("550e8400-e29b-41d4-a716-446655440000"); // UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + String idempotencyKey = "ingest-2026-05-23-abc123"; // String | Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + try { + SemanticDimensionRead result = apiInstance.create(xAgentToken, semanticDimensionCreate, xCorrelationId, idempotencyKey); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling AgentSemanticDimensionsApi#create"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **xAgentToken** | **String**| Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. | | +| **semanticDimensionCreate** | [**SemanticDimensionCreate**](SemanticDimensionCreate.md)| | | +| **xCorrelationId** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] | +| **idempotencyKey** | **String**| Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. | [optional] | + +### Return type + +[**SemanticDimensionRead**](SemanticDimensionRead.md) + +### Authorization + +[AgentToken](../README.md#AgentToken) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **201** | Successful response | - | +| **422** | Validation Error | - | + + +## getDimension + +> SemanticDimensionRead getDimension(dimensionId, xAgentToken, xCorrelationId) + +Fetch a single dimension (agent-tier). + +### Example + +```java +// Import classes: +import com.firefly.flyquery.ApiClient; +import com.firefly.flyquery.ApiException; +import com.firefly.flyquery.Configuration; +import com.firefly.flyquery.auth.*; +import com.firefly.flyquery.models.*; +import com.firefly.flyquery.api.AgentSemanticDimensionsApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://localhost"); + + // Configure API key authorization: AgentToken + ApiKeyAuth AgentToken = (ApiKeyAuth) defaultClient.getAuthentication("AgentToken"); + AgentToken.setApiKey("YOUR API KEY"); + // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) + //AgentToken.setApiKeyPrefix("Token"); + + AgentSemanticDimensionsApi apiInstance = new AgentSemanticDimensionsApi(defaultClient); + String dimensionId = "dimensionId_example"; // String | + String xAgentToken = "fqt_live_aBcDeF1234567890aBcDeF1234567890"; // String | Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + UUID xCorrelationId = UUID.fromString("550e8400-e29b-41d4-a716-446655440000"); // UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + try { + SemanticDimensionRead result = apiInstance.getDimension(dimensionId, xAgentToken, xCorrelationId); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling AgentSemanticDimensionsApi#getDimension"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **dimensionId** | **String**| | | +| **xAgentToken** | **String**| Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. | | +| **xCorrelationId** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] | + +### Return type + +[**SemanticDimensionRead**](SemanticDimensionRead.md) + +### Authorization + +[AgentToken](../README.md#AgentToken) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Successful response | - | + + +## history + +> PaginatedSemanticVersionRead history(dimensionId, xAgentToken, xCorrelationId) + +Return version history for a dimension (agent-tier). + +### Example + +```java +// Import classes: +import com.firefly.flyquery.ApiClient; +import com.firefly.flyquery.ApiException; +import com.firefly.flyquery.Configuration; +import com.firefly.flyquery.auth.*; +import com.firefly.flyquery.models.*; +import com.firefly.flyquery.api.AgentSemanticDimensionsApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://localhost"); + + // Configure API key authorization: AgentToken + ApiKeyAuth AgentToken = (ApiKeyAuth) defaultClient.getAuthentication("AgentToken"); + AgentToken.setApiKey("YOUR API KEY"); + // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) + //AgentToken.setApiKeyPrefix("Token"); + + AgentSemanticDimensionsApi apiInstance = new AgentSemanticDimensionsApi(defaultClient); + String dimensionId = "dimensionId_example"; // String | + String xAgentToken = "fqt_live_aBcDeF1234567890aBcDeF1234567890"; // String | Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + UUID xCorrelationId = UUID.fromString("550e8400-e29b-41d4-a716-446655440000"); // UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + try { + PaginatedSemanticVersionRead result = apiInstance.history(dimensionId, xAgentToken, xCorrelationId); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling AgentSemanticDimensionsApi#history"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **dimensionId** | **String**| | | +| **xAgentToken** | **String**| Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. | | +| **xCorrelationId** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] | + +### Return type + +[**PaginatedSemanticVersionRead**](PaginatedSemanticVersionRead.md) + +### Authorization + +[AgentToken](../README.md#AgentToken) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Successful response | - | + + +## listDimensions + +> PaginatedSemanticDimensionRead listDimensions(xAgentToken, datasetId, status, limit, offset, xCorrelationId) + +List dimensions for the caller's workspace (agent-tier). + +### Example + +```java +// Import classes: +import com.firefly.flyquery.ApiClient; +import com.firefly.flyquery.ApiException; +import com.firefly.flyquery.Configuration; +import com.firefly.flyquery.auth.*; +import com.firefly.flyquery.models.*; +import com.firefly.flyquery.api.AgentSemanticDimensionsApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://localhost"); + + // Configure API key authorization: AgentToken + ApiKeyAuth AgentToken = (ApiKeyAuth) defaultClient.getAuthentication("AgentToken"); + AgentToken.setApiKey("YOUR API KEY"); + // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) + //AgentToken.setApiKeyPrefix("Token"); + + AgentSemanticDimensionsApi apiInstance = new AgentSemanticDimensionsApi(defaultClient); + String xAgentToken = "fqt_live_aBcDeF1234567890aBcDeF1234567890"; // String | Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + String datasetId = "datasetId_example"; // String | + String status = "status_example"; // String | + Integer limit = 100; // Integer | + Integer offset = 0; // Integer | + UUID xCorrelationId = UUID.fromString("550e8400-e29b-41d4-a716-446655440000"); // UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + try { + PaginatedSemanticDimensionRead result = apiInstance.listDimensions(xAgentToken, datasetId, status, limit, offset, xCorrelationId); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling AgentSemanticDimensionsApi#listDimensions"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **xAgentToken** | **String**| Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. | | +| **datasetId** | **String**| | [optional] | +| **status** | **String**| | [optional] | +| **limit** | **Integer**| | [optional] [default to 100] | +| **offset** | **Integer**| | [optional] [default to 0] | +| **xCorrelationId** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] | + +### Return type + +[**PaginatedSemanticDimensionRead**](PaginatedSemanticDimensionRead.md) + +### Authorization + +[AgentToken](../README.md#AgentToken) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Successful response | - | + + +## publish + +> SemanticDimensionRead publish(dimensionId, xAgentToken, xCorrelationId, idempotencyKey) + +Publish a dimension (agent-tier). + +### Example + +```java +// Import classes: +import com.firefly.flyquery.ApiClient; +import com.firefly.flyquery.ApiException; +import com.firefly.flyquery.Configuration; +import com.firefly.flyquery.auth.*; +import com.firefly.flyquery.models.*; +import com.firefly.flyquery.api.AgentSemanticDimensionsApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://localhost"); + + // Configure API key authorization: AgentToken + ApiKeyAuth AgentToken = (ApiKeyAuth) defaultClient.getAuthentication("AgentToken"); + AgentToken.setApiKey("YOUR API KEY"); + // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) + //AgentToken.setApiKeyPrefix("Token"); + + AgentSemanticDimensionsApi apiInstance = new AgentSemanticDimensionsApi(defaultClient); + String dimensionId = "dimensionId_example"; // String | + String xAgentToken = "fqt_live_aBcDeF1234567890aBcDeF1234567890"; // String | Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + UUID xCorrelationId = UUID.fromString("550e8400-e29b-41d4-a716-446655440000"); // UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + String idempotencyKey = "ingest-2026-05-23-abc123"; // String | Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + try { + SemanticDimensionRead result = apiInstance.publish(dimensionId, xAgentToken, xCorrelationId, idempotencyKey); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling AgentSemanticDimensionsApi#publish"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **dimensionId** | **String**| | | +| **xAgentToken** | **String**| Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. | | +| **xCorrelationId** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] | +| **idempotencyKey** | **String**| Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. | [optional] | + +### Return type + +[**SemanticDimensionRead**](SemanticDimensionRead.md) + +### Authorization + +[AgentToken](../README.md#AgentToken) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Successful response | - | + + +## retire + +> SemanticDimensionRead retire(dimensionId, xAgentToken, xCorrelationId, idempotencyKey) + +Retire a dimension (agent-tier). + +### Example + +```java +// Import classes: +import com.firefly.flyquery.ApiClient; +import com.firefly.flyquery.ApiException; +import com.firefly.flyquery.Configuration; +import com.firefly.flyquery.auth.*; +import com.firefly.flyquery.models.*; +import com.firefly.flyquery.api.AgentSemanticDimensionsApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://localhost"); + + // Configure API key authorization: AgentToken + ApiKeyAuth AgentToken = (ApiKeyAuth) defaultClient.getAuthentication("AgentToken"); + AgentToken.setApiKey("YOUR API KEY"); + // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) + //AgentToken.setApiKeyPrefix("Token"); + + AgentSemanticDimensionsApi apiInstance = new AgentSemanticDimensionsApi(defaultClient); + String dimensionId = "dimensionId_example"; // String | + String xAgentToken = "fqt_live_aBcDeF1234567890aBcDeF1234567890"; // String | Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + UUID xCorrelationId = UUID.fromString("550e8400-e29b-41d4-a716-446655440000"); // UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + String idempotencyKey = "ingest-2026-05-23-abc123"; // String | Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + try { + SemanticDimensionRead result = apiInstance.retire(dimensionId, xAgentToken, xCorrelationId, idempotencyKey); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling AgentSemanticDimensionsApi#retire"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **dimensionId** | **String**| | | +| **xAgentToken** | **String**| Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. | | +| **xCorrelationId** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] | +| **idempotencyKey** | **String**| Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. | [optional] | + +### Return type + +[**SemanticDimensionRead**](SemanticDimensionRead.md) + +### Authorization + +[AgentToken](../README.md#AgentToken) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Successful response | - | + + +## update + +> SemanticDimensionRead update(dimensionId, xAgentToken, semanticDimensionUpdate, xCorrelationId, idempotencyKey) + +Sparse-update a dimension (agent-tier). + +### Example + +```java +// Import classes: +import com.firefly.flyquery.ApiClient; +import com.firefly.flyquery.ApiException; +import com.firefly.flyquery.Configuration; +import com.firefly.flyquery.auth.*; +import com.firefly.flyquery.models.*; +import com.firefly.flyquery.api.AgentSemanticDimensionsApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://localhost"); + + // Configure API key authorization: AgentToken + ApiKeyAuth AgentToken = (ApiKeyAuth) defaultClient.getAuthentication("AgentToken"); + AgentToken.setApiKey("YOUR API KEY"); + // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) + //AgentToken.setApiKeyPrefix("Token"); + + AgentSemanticDimensionsApi apiInstance = new AgentSemanticDimensionsApi(defaultClient); + String dimensionId = "dimensionId_example"; // String | + String xAgentToken = "fqt_live_aBcDeF1234567890aBcDeF1234567890"; // String | Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + SemanticDimensionUpdate semanticDimensionUpdate = new SemanticDimensionUpdate(); // SemanticDimensionUpdate | + UUID xCorrelationId = UUID.fromString("550e8400-e29b-41d4-a716-446655440000"); // UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + String idempotencyKey = "ingest-2026-05-23-abc123"; // String | Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + try { + SemanticDimensionRead result = apiInstance.update(dimensionId, xAgentToken, semanticDimensionUpdate, xCorrelationId, idempotencyKey); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling AgentSemanticDimensionsApi#update"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **dimensionId** | **String**| | | +| **xAgentToken** | **String**| Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. | | +| **semanticDimensionUpdate** | [**SemanticDimensionUpdate**](SemanticDimensionUpdate.md)| | | +| **xCorrelationId** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] | +| **idempotencyKey** | **String**| Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. | [optional] | + +### Return type + +[**SemanticDimensionRead**](SemanticDimensionRead.md) + +### Authorization + +[AgentToken](../README.md#AgentToken) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Successful response | - | +| **422** | Validation Error | - | + diff --git a/sdks/java/docs/AgentSemanticMetricsApi.md b/sdks/java/docs/AgentSemanticMetricsApi.md new file mode 100644 index 0000000..06fa5a1 --- /dev/null +++ b/sdks/java/docs/AgentSemanticMetricsApi.md @@ -0,0 +1,558 @@ +# AgentSemanticMetricsApi + +All URIs are relative to *http://localhost* + +| Method | HTTP request | Description | +|------------- | ------------- | -------------| +| [**create**](AgentSemanticMetricsApi.md#create) | **POST** /api/v1/agent/semantic/metrics | Create a metric in DRAFT (agent-tier). | +| [**getMetric**](AgentSemanticMetricsApi.md#getMetric) | **GET** /api/v1/agent/semantic/metrics/{metric_id} | Fetch a single metric (agent-tier). | +| [**history**](AgentSemanticMetricsApi.md#history) | **GET** /api/v1/agent/semantic/metrics/{metric_id}/history | Return version history for a metric (agent-tier). | +| [**listMetrics**](AgentSemanticMetricsApi.md#listMetrics) | **GET** /api/v1/agent/semantic/metrics | List metrics for the caller's workspace (agent-tier). | +| [**publish**](AgentSemanticMetricsApi.md#publish) | **POST** /api/v1/agent/semantic/metrics/{metric_id}:publish | Publish a metric (agent-tier). | +| [**retire**](AgentSemanticMetricsApi.md#retire) | **POST** /api/v1/agent/semantic/metrics/{metric_id}:retire | Retire a metric (agent-tier). | +| [**update**](AgentSemanticMetricsApi.md#update) | **PUT** /api/v1/agent/semantic/metrics/{metric_id} | Sparse-update a metric (agent-tier). | + + + +## create + +> SemanticMetricRead create(xAgentToken, semanticMetricCreate, xCorrelationId, idempotencyKey) + +Create a metric in DRAFT (agent-tier). + +### Example + +```java +// Import classes: +import com.firefly.flyquery.ApiClient; +import com.firefly.flyquery.ApiException; +import com.firefly.flyquery.Configuration; +import com.firefly.flyquery.auth.*; +import com.firefly.flyquery.models.*; +import com.firefly.flyquery.api.AgentSemanticMetricsApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://localhost"); + + // Configure API key authorization: AgentToken + ApiKeyAuth AgentToken = (ApiKeyAuth) defaultClient.getAuthentication("AgentToken"); + AgentToken.setApiKey("YOUR API KEY"); + // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) + //AgentToken.setApiKeyPrefix("Token"); + + AgentSemanticMetricsApi apiInstance = new AgentSemanticMetricsApi(defaultClient); + String xAgentToken = "fqt_live_aBcDeF1234567890aBcDeF1234567890"; // String | Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + SemanticMetricCreate semanticMetricCreate = new SemanticMetricCreate(); // SemanticMetricCreate | + UUID xCorrelationId = UUID.fromString("550e8400-e29b-41d4-a716-446655440000"); // UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + String idempotencyKey = "ingest-2026-05-23-abc123"; // String | Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + try { + SemanticMetricRead result = apiInstance.create(xAgentToken, semanticMetricCreate, xCorrelationId, idempotencyKey); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling AgentSemanticMetricsApi#create"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **xAgentToken** | **String**| Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. | | +| **semanticMetricCreate** | [**SemanticMetricCreate**](SemanticMetricCreate.md)| | | +| **xCorrelationId** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] | +| **idempotencyKey** | **String**| Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. | [optional] | + +### Return type + +[**SemanticMetricRead**](SemanticMetricRead.md) + +### Authorization + +[AgentToken](../README.md#AgentToken) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **201** | Successful response | - | +| **422** | Validation Error | - | + + +## getMetric + +> SemanticMetricRead getMetric(metricId, xAgentToken, xCorrelationId) + +Fetch a single metric (agent-tier). + +### Example + +```java +// Import classes: +import com.firefly.flyquery.ApiClient; +import com.firefly.flyquery.ApiException; +import com.firefly.flyquery.Configuration; +import com.firefly.flyquery.auth.*; +import com.firefly.flyquery.models.*; +import com.firefly.flyquery.api.AgentSemanticMetricsApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://localhost"); + + // Configure API key authorization: AgentToken + ApiKeyAuth AgentToken = (ApiKeyAuth) defaultClient.getAuthentication("AgentToken"); + AgentToken.setApiKey("YOUR API KEY"); + // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) + //AgentToken.setApiKeyPrefix("Token"); + + AgentSemanticMetricsApi apiInstance = new AgentSemanticMetricsApi(defaultClient); + String metricId = "metricId_example"; // String | + String xAgentToken = "fqt_live_aBcDeF1234567890aBcDeF1234567890"; // String | Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + UUID xCorrelationId = UUID.fromString("550e8400-e29b-41d4-a716-446655440000"); // UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + try { + SemanticMetricRead result = apiInstance.getMetric(metricId, xAgentToken, xCorrelationId); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling AgentSemanticMetricsApi#getMetric"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **metricId** | **String**| | | +| **xAgentToken** | **String**| Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. | | +| **xCorrelationId** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] | + +### Return type + +[**SemanticMetricRead**](SemanticMetricRead.md) + +### Authorization + +[AgentToken](../README.md#AgentToken) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Successful response | - | + + +## history + +> PaginatedSemanticVersionRead history(metricId, xAgentToken, xCorrelationId) + +Return version history for a metric (agent-tier). + +### Example + +```java +// Import classes: +import com.firefly.flyquery.ApiClient; +import com.firefly.flyquery.ApiException; +import com.firefly.flyquery.Configuration; +import com.firefly.flyquery.auth.*; +import com.firefly.flyquery.models.*; +import com.firefly.flyquery.api.AgentSemanticMetricsApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://localhost"); + + // Configure API key authorization: AgentToken + ApiKeyAuth AgentToken = (ApiKeyAuth) defaultClient.getAuthentication("AgentToken"); + AgentToken.setApiKey("YOUR API KEY"); + // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) + //AgentToken.setApiKeyPrefix("Token"); + + AgentSemanticMetricsApi apiInstance = new AgentSemanticMetricsApi(defaultClient); + String metricId = "metricId_example"; // String | + String xAgentToken = "fqt_live_aBcDeF1234567890aBcDeF1234567890"; // String | Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + UUID xCorrelationId = UUID.fromString("550e8400-e29b-41d4-a716-446655440000"); // UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + try { + PaginatedSemanticVersionRead result = apiInstance.history(metricId, xAgentToken, xCorrelationId); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling AgentSemanticMetricsApi#history"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **metricId** | **String**| | | +| **xAgentToken** | **String**| Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. | | +| **xCorrelationId** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] | + +### Return type + +[**PaginatedSemanticVersionRead**](PaginatedSemanticVersionRead.md) + +### Authorization + +[AgentToken](../README.md#AgentToken) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Successful response | - | + + +## listMetrics + +> PaginatedSemanticMetricRead listMetrics(xAgentToken, datasetId, status, limit, offset, xCorrelationId) + +List metrics for the caller's workspace (agent-tier). + +### Example + +```java +// Import classes: +import com.firefly.flyquery.ApiClient; +import com.firefly.flyquery.ApiException; +import com.firefly.flyquery.Configuration; +import com.firefly.flyquery.auth.*; +import com.firefly.flyquery.models.*; +import com.firefly.flyquery.api.AgentSemanticMetricsApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://localhost"); + + // Configure API key authorization: AgentToken + ApiKeyAuth AgentToken = (ApiKeyAuth) defaultClient.getAuthentication("AgentToken"); + AgentToken.setApiKey("YOUR API KEY"); + // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) + //AgentToken.setApiKeyPrefix("Token"); + + AgentSemanticMetricsApi apiInstance = new AgentSemanticMetricsApi(defaultClient); + String xAgentToken = "fqt_live_aBcDeF1234567890aBcDeF1234567890"; // String | Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + String datasetId = "datasetId_example"; // String | + String status = "status_example"; // String | + Integer limit = 100; // Integer | + Integer offset = 0; // Integer | + UUID xCorrelationId = UUID.fromString("550e8400-e29b-41d4-a716-446655440000"); // UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + try { + PaginatedSemanticMetricRead result = apiInstance.listMetrics(xAgentToken, datasetId, status, limit, offset, xCorrelationId); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling AgentSemanticMetricsApi#listMetrics"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **xAgentToken** | **String**| Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. | | +| **datasetId** | **String**| | [optional] | +| **status** | **String**| | [optional] | +| **limit** | **Integer**| | [optional] [default to 100] | +| **offset** | **Integer**| | [optional] [default to 0] | +| **xCorrelationId** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] | + +### Return type + +[**PaginatedSemanticMetricRead**](PaginatedSemanticMetricRead.md) + +### Authorization + +[AgentToken](../README.md#AgentToken) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Successful response | - | + + +## publish + +> SemanticMetricRead publish(metricId, xAgentToken, xCorrelationId, idempotencyKey) + +Publish a metric (agent-tier). + +### Example + +```java +// Import classes: +import com.firefly.flyquery.ApiClient; +import com.firefly.flyquery.ApiException; +import com.firefly.flyquery.Configuration; +import com.firefly.flyquery.auth.*; +import com.firefly.flyquery.models.*; +import com.firefly.flyquery.api.AgentSemanticMetricsApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://localhost"); + + // Configure API key authorization: AgentToken + ApiKeyAuth AgentToken = (ApiKeyAuth) defaultClient.getAuthentication("AgentToken"); + AgentToken.setApiKey("YOUR API KEY"); + // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) + //AgentToken.setApiKeyPrefix("Token"); + + AgentSemanticMetricsApi apiInstance = new AgentSemanticMetricsApi(defaultClient); + String metricId = "metricId_example"; // String | + String xAgentToken = "fqt_live_aBcDeF1234567890aBcDeF1234567890"; // String | Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + UUID xCorrelationId = UUID.fromString("550e8400-e29b-41d4-a716-446655440000"); // UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + String idempotencyKey = "ingest-2026-05-23-abc123"; // String | Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + try { + SemanticMetricRead result = apiInstance.publish(metricId, xAgentToken, xCorrelationId, idempotencyKey); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling AgentSemanticMetricsApi#publish"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **metricId** | **String**| | | +| **xAgentToken** | **String**| Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. | | +| **xCorrelationId** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] | +| **idempotencyKey** | **String**| Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. | [optional] | + +### Return type + +[**SemanticMetricRead**](SemanticMetricRead.md) + +### Authorization + +[AgentToken](../README.md#AgentToken) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Successful response | - | + + +## retire + +> SemanticMetricRead retire(metricId, xAgentToken, xCorrelationId, idempotencyKey) + +Retire a metric (agent-tier). + +### Example + +```java +// Import classes: +import com.firefly.flyquery.ApiClient; +import com.firefly.flyquery.ApiException; +import com.firefly.flyquery.Configuration; +import com.firefly.flyquery.auth.*; +import com.firefly.flyquery.models.*; +import com.firefly.flyquery.api.AgentSemanticMetricsApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://localhost"); + + // Configure API key authorization: AgentToken + ApiKeyAuth AgentToken = (ApiKeyAuth) defaultClient.getAuthentication("AgentToken"); + AgentToken.setApiKey("YOUR API KEY"); + // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) + //AgentToken.setApiKeyPrefix("Token"); + + AgentSemanticMetricsApi apiInstance = new AgentSemanticMetricsApi(defaultClient); + String metricId = "metricId_example"; // String | + String xAgentToken = "fqt_live_aBcDeF1234567890aBcDeF1234567890"; // String | Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + UUID xCorrelationId = UUID.fromString("550e8400-e29b-41d4-a716-446655440000"); // UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + String idempotencyKey = "ingest-2026-05-23-abc123"; // String | Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + try { + SemanticMetricRead result = apiInstance.retire(metricId, xAgentToken, xCorrelationId, idempotencyKey); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling AgentSemanticMetricsApi#retire"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **metricId** | **String**| | | +| **xAgentToken** | **String**| Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. | | +| **xCorrelationId** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] | +| **idempotencyKey** | **String**| Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. | [optional] | + +### Return type + +[**SemanticMetricRead**](SemanticMetricRead.md) + +### Authorization + +[AgentToken](../README.md#AgentToken) + +### HTTP request headers + +- **Content-Type**: Not defined +- **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Successful response | - | + + +## update + +> SemanticMetricRead update(metricId, xAgentToken, semanticMetricUpdate, xCorrelationId, idempotencyKey) + +Sparse-update a metric (agent-tier). + +### Example + +```java +// Import classes: +import com.firefly.flyquery.ApiClient; +import com.firefly.flyquery.ApiException; +import com.firefly.flyquery.Configuration; +import com.firefly.flyquery.auth.*; +import com.firefly.flyquery.models.*; +import com.firefly.flyquery.api.AgentSemanticMetricsApi; + +public class Example { + public static void main(String[] args) { + ApiClient defaultClient = Configuration.getDefaultApiClient(); + defaultClient.setBasePath("http://localhost"); + + // Configure API key authorization: AgentToken + ApiKeyAuth AgentToken = (ApiKeyAuth) defaultClient.getAuthentication("AgentToken"); + AgentToken.setApiKey("YOUR API KEY"); + // Uncomment the following line to set a prefix for the API key, e.g. "Token" (defaults to null) + //AgentToken.setApiKeyPrefix("Token"); + + AgentSemanticMetricsApi apiInstance = new AgentSemanticMetricsApi(defaultClient); + String metricId = "metricId_example"; // String | + String xAgentToken = "fqt_live_aBcDeF1234567890aBcDeF1234567890"; // String | Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + SemanticMetricUpdate semanticMetricUpdate = new SemanticMetricUpdate(); // SemanticMetricUpdate | + UUID xCorrelationId = UUID.fromString("550e8400-e29b-41d4-a716-446655440000"); // UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + String idempotencyKey = "ingest-2026-05-23-abc123"; // String | Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + try { + SemanticMetricRead result = apiInstance.update(metricId, xAgentToken, semanticMetricUpdate, xCorrelationId, idempotencyKey); + System.out.println(result); + } catch (ApiException e) { + System.err.println("Exception when calling AgentSemanticMetricsApi#update"); + System.err.println("Status code: " + e.getCode()); + System.err.println("Reason: " + e.getResponseBody()); + System.err.println("Response headers: " + e.getResponseHeaders()); + e.printStackTrace(); + } + } +} +``` + +### Parameters + + +| Name | Type | Description | Notes | +|------------- | ------------- | ------------- | -------------| +| **metricId** | **String**| | | +| **xAgentToken** | **String**| Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. | | +| **semanticMetricUpdate** | [**SemanticMetricUpdate**](SemanticMetricUpdate.md)| | | +| **xCorrelationId** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] | +| **idempotencyKey** | **String**| Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. | [optional] | + +### Return type + +[**SemanticMetricRead**](SemanticMetricRead.md) + +### Authorization + +[AgentToken](../README.md#AgentToken) + +### HTTP request headers + +- **Content-Type**: application/json +- **Accept**: application/json + + +### HTTP response details +| Status code | Description | Response headers | +|-------------|-------------|------------------| +| **200** | Successful response | - | +| **422** | Validation Error | - | + diff --git a/sdks/java/docs/GlossaryTermCreate.md b/sdks/java/docs/GlossaryTermCreate.md index 71f0af1..6688670 100644 --- a/sdks/java/docs/GlossaryTermCreate.md +++ b/sdks/java/docs/GlossaryTermCreate.md @@ -9,10 +9,10 @@ Payload for creating a new glossary term. | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**definition** | **String** | | | -|**relatedColumnsJson** | **List<String>** | | [optional] | -|**relatedMetricsJson** | **List<String>** | | [optional] | -|**synonymsJson** | **List<String>** | | [optional] | -|**tagsJson** | **List<String>** | | [optional] | +|**relatedColumns** | **List<String>** | | [optional] | +|**relatedMetrics** | **List<String>** | | [optional] | +|**synonyms** | **List<String>** | | [optional] | +|**tags** | **List<String>** | | [optional] | |**term** | **String** | | | diff --git a/sdks/java/docs/GlossaryTermUpdate.md b/sdks/java/docs/GlossaryTermUpdate.md index f7a97b2..5556b33 100644 --- a/sdks/java/docs/GlossaryTermUpdate.md +++ b/sdks/java/docs/GlossaryTermUpdate.md @@ -9,10 +9,10 @@ Sparse-update payload for an existing glossary term. | Name | Type | Description | Notes | |------------ | ------------- | ------------- | -------------| |**definition** | **String** | | [optional] | -|**relatedColumnsJson** | **List<String>** | | [optional] | -|**relatedMetricsJson** | **List<String>** | | [optional] | -|**synonymsJson** | **List<String>** | | [optional] | -|**tagsJson** | **List<String>** | | [optional] | +|**relatedColumns** | **List<String>** | | [optional] | +|**relatedMetrics** | **List<String>** | | [optional] | +|**synonyms** | **List<String>** | | [optional] | +|**tags** | **List<String>** | | [optional] | diff --git a/sdks/java/docs/SemanticDimensionCreate.md b/sdks/java/docs/SemanticDimensionCreate.md index 5aeaa8c..07e2410 100644 --- a/sdks/java/docs/SemanticDimensionCreate.md +++ b/sdks/java/docs/SemanticDimensionCreate.md @@ -2,7 +2,7 @@ # SemanticDimensionCreate -Payload for creating a new semantic dimension. +Payload for creating a new semantic dimension. The dimension's ``type`` (categorical|time) is taken from the ``definition_yaml`` body, not a separate request field. ## Properties @@ -12,19 +12,7 @@ Payload for creating a new semantic dimension. |**definitionYaml** | **String** | | | |**description** | **String** | | [optional] | |**label** | **String** | | [optional] | -|**metricType** | [**MetricTypeEnum**](#MetricTypeEnum) | | [optional] | |**name** | **String** | | | -## Enum: MetricTypeEnum - -| Name | Value | -|---- | -----| -| SIMPLE | "SIMPLE" | -| RATIO | "RATIO" | -| DERIVED | "DERIVED" | -| CUMULATIVE | "CUMULATIVE" | - - - diff --git a/sdks/java/docs/SemanticDimensionRead.md b/sdks/java/docs/SemanticDimensionRead.md index ffd2854..26101c0 100644 --- a/sdks/java/docs/SemanticDimensionRead.md +++ b/sdks/java/docs/SemanticDimensionRead.md @@ -14,9 +14,10 @@ Full read representation of a flyquery_semantic_dimensions row. |**datasetId** | **UUID** | | | |**definitionYaml** | **String** | | | |**description** | **String** | | | +|**dimensionType** | [**DimensionTypeEnum**](#DimensionTypeEnum) | | | |**id** | **UUID** | | | |**label** | **String** | | | -|**metricType** | [**MetricTypeEnum**](#MetricTypeEnum) | | | +|**metadataJson** | **Map<String, Object>** | | [optional] | |**name** | **String** | | | |**status** | [**StatusEnum**](#StatusEnum) | | | |**tenantId** | **String** | | | @@ -25,14 +26,12 @@ Full read representation of a flyquery_semantic_dimensions row. -## Enum: MetricTypeEnum +## Enum: DimensionTypeEnum | Name | Value | |---- | -----| -| SIMPLE | "SIMPLE" | -| RATIO | "RATIO" | -| DERIVED | "DERIVED" | -| CUMULATIVE | "CUMULATIVE" | +| CATEGORICAL | "categorical" | +| TIME | "time" | diff --git a/sdks/java/docs/SemanticDimensionUpdate.md b/sdks/java/docs/SemanticDimensionUpdate.md index 2e89729..fb87908 100644 --- a/sdks/java/docs/SemanticDimensionUpdate.md +++ b/sdks/java/docs/SemanticDimensionUpdate.md @@ -11,18 +11,6 @@ Sparse-update payload for an existing semantic dimension. |**definitionYaml** | **String** | | [optional] | |**description** | **String** | | [optional] | |**label** | **String** | | [optional] | -|**metricType** | [**MetricTypeEnum**](#MetricTypeEnum) | | [optional] | - - - -## Enum: MetricTypeEnum - -| Name | Value | -|---- | -----| -| SIMPLE | "SIMPLE" | -| RATIO | "RATIO" | -| DERIVED | "DERIVED" | -| CUMULATIVE | "CUMULATIVE" | diff --git a/sdks/java/docs/SemanticDimensionsApi.md b/sdks/java/docs/SemanticDimensionsApi.md index 64ca6bc..ea4c96b 100644 --- a/sdks/java/docs/SemanticDimensionsApi.md +++ b/sdks/java/docs/SemanticDimensionsApi.md @@ -7,10 +7,10 @@ All URIs are relative to *http://localhost* | [**create**](SemanticDimensionsApi.md#create) | **POST** /api/v1/semantic/dimensions | Create a new semantic dimension in DRAFT status. | | [**getDimension**](SemanticDimensionsApi.md#getDimension) | **GET** /api/v1/semantic/dimensions/{dimension_id} | Fetch a single semantic dimension by id. | | [**history**](SemanticDimensionsApi.md#history) | **GET** /api/v1/semantic/dimensions/{dimension_id}/history | Return version history for a dimension, oldest first. | -| [**listDimensions**](SemanticDimensionsApi.md#listDimensions) | **GET** /api/v1/semantic/dimensions | List all semantic dimensions for the caller's workspace. | +| [**listDimensions**](SemanticDimensionsApi.md#listDimensions) | **GET** /api/v1/semantic/dimensions | List semantic dimensions for the caller's workspace (optional status filter). | | [**publish**](SemanticDimensionsApi.md#publish) | **POST** /api/v1/semantic/dimensions/{dimension_id}:publish | Validate, compile, and publish a dimension (status → PUBLISHED). | | [**retire**](SemanticDimensionsApi.md#retire) | **POST** /api/v1/semantic/dimensions/{dimension_id}:retire | Retire a dimension (status → RETIRED). | -| [**update**](SemanticDimensionsApi.md#update) | **PUT** /api/v1/semantic/dimensions/{dimension_id} | Sparse-update a dimension; re-validates YAML if definition changes. | +| [**update**](SemanticDimensionsApi.md#update) | **PUT** /api/v1/semantic/dimensions/{dimension_id} | Sparse-update a dimension; re-validates + recompiles if published. | @@ -268,9 +268,9 @@ public class Example { ## listDimensions -> PaginatedSemanticDimensionRead listDimensions(xTenantId, xWorkspaceId, datasetId, limit, offset, xCorrelationId) +> PaginatedSemanticDimensionRead listDimensions(xTenantId, xWorkspaceId, datasetId, status, limit, offset, xCorrelationId) -List all semantic dimensions for the caller's workspace. +List semantic dimensions for the caller's workspace (optional status filter). ### Example @@ -304,11 +304,12 @@ public class Example { String xTenantId = "acme-corp"; // String | Tenant slug. Required on every non-agent endpoint -- bounds the row-level security policy and appears in every audit event. Must match the JWT tenant claim if Authorization is also present. String xWorkspaceId = "00000000-0000-0000-0000-000000000001"; // String | Workspace identifier. Accepts either the workspace UUID or its slug -- the slug form lets SDKs avoid carrying UUIDs around. Used to scope every query, ingest, and schema KB operation. String datasetId = "datasetId_example"; // String | + String status = "status_example"; // String | Integer limit = 100; // Integer | Integer offset = 0; // Integer | UUID xCorrelationId = UUID.fromString("550e8400-e29b-41d4-a716-446655440000"); // UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. try { - PaginatedSemanticDimensionRead result = apiInstance.listDimensions(xTenantId, xWorkspaceId, datasetId, limit, offset, xCorrelationId); + PaginatedSemanticDimensionRead result = apiInstance.listDimensions(xTenantId, xWorkspaceId, datasetId, status, limit, offset, xCorrelationId); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling SemanticDimensionsApi#listDimensions"); @@ -329,6 +330,7 @@ public class Example { | **xTenantId** | **String**| Tenant slug. Required on every non-agent endpoint -- bounds the row-level security policy and appears in every audit event. Must match the JWT tenant claim if Authorization is also present. | | | **xWorkspaceId** | **String**| Workspace identifier. Accepts either the workspace UUID or its slug -- the slug form lets SDKs avoid carrying UUIDs around. Used to scope every query, ingest, and schema KB operation. | | | **datasetId** | **String**| | [optional] | +| **status** | **String**| | [optional] | | **limit** | **Integer**| | [optional] [default to 100] | | **offset** | **Integer**| | [optional] [default to 0] | | **xCorrelationId** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] | @@ -527,7 +529,7 @@ public class Example { > SemanticDimensionRead update(dimensionId, xTenantId, xWorkspaceId, semanticDimensionUpdate, xCorrelationId, idempotencyKey) -Sparse-update a dimension; re-validates YAML if definition changes. +Sparse-update a dimension; re-validates + recompiles if published. ### Example diff --git a/sdks/java/docs/SemanticMetricRead.md b/sdks/java/docs/SemanticMetricRead.md index 05d49c8..4094ea7 100644 --- a/sdks/java/docs/SemanticMetricRead.md +++ b/sdks/java/docs/SemanticMetricRead.md @@ -16,6 +16,7 @@ Full read representation of a flyquery_semantic_metrics row. |**description** | **String** | | | |**id** | **UUID** | | | |**label** | **String** | | | +|**metadataJson** | **Map<String, Object>** | | [optional] | |**metricType** | [**MetricTypeEnum**](#MetricTypeEnum) | | | |**name** | **String** | | | |**status** | [**StatusEnum**](#StatusEnum) | | | diff --git a/sdks/java/docs/SemanticMetricsApi.md b/sdks/java/docs/SemanticMetricsApi.md index 927bb44..59e8db7 100644 --- a/sdks/java/docs/SemanticMetricsApi.md +++ b/sdks/java/docs/SemanticMetricsApi.md @@ -7,10 +7,10 @@ All URIs are relative to *http://localhost* | [**create**](SemanticMetricsApi.md#create) | **POST** /api/v1/semantic/metrics | Create a new semantic metric in DRAFT status. | | [**getMetric**](SemanticMetricsApi.md#getMetric) | **GET** /api/v1/semantic/metrics/{metric_id} | Fetch a single semantic metric by id. | | [**history**](SemanticMetricsApi.md#history) | **GET** /api/v1/semantic/metrics/{metric_id}/history | Return version history for a metric, oldest first. | -| [**listMetrics**](SemanticMetricsApi.md#listMetrics) | **GET** /api/v1/semantic/metrics | List all semantic metrics for the caller's workspace. | +| [**listMetrics**](SemanticMetricsApi.md#listMetrics) | **GET** /api/v1/semantic/metrics | List semantic metrics for the caller's workspace (optional status filter). | | [**publish**](SemanticMetricsApi.md#publish) | **POST** /api/v1/semantic/metrics/{metric_id}:publish | Validate, compile, and publish a metric (status → PUBLISHED). | | [**retire**](SemanticMetricsApi.md#retire) | **POST** /api/v1/semantic/metrics/{metric_id}:retire | Retire a metric (status → RETIRED). | -| [**update**](SemanticMetricsApi.md#update) | **PUT** /api/v1/semantic/metrics/{metric_id} | Sparse-update a metric; re-validates YAML if definition changes. | +| [**update**](SemanticMetricsApi.md#update) | **PUT** /api/v1/semantic/metrics/{metric_id} | Sparse-update a metric; re-validates + recompiles if published. | @@ -270,9 +270,9 @@ public class Example { ## listMetrics -> PaginatedSemanticMetricRead listMetrics(xTenantId, xWorkspaceId, datasetId, limit, offset, xCorrelationId) +> PaginatedSemanticMetricRead listMetrics(xTenantId, xWorkspaceId, datasetId, status, limit, offset, xCorrelationId) -List all semantic metrics for the caller's workspace. +List semantic metrics for the caller's workspace (optional status filter). ### Example @@ -306,11 +306,12 @@ public class Example { String xTenantId = "acme-corp"; // String | Tenant slug. Required on every non-agent endpoint -- bounds the row-level security policy and appears in every audit event. Must match the JWT tenant claim if Authorization is also present. String xWorkspaceId = "00000000-0000-0000-0000-000000000001"; // String | Workspace identifier. Accepts either the workspace UUID or its slug -- the slug form lets SDKs avoid carrying UUIDs around. Used to scope every query, ingest, and schema KB operation. String datasetId = "datasetId_example"; // String | + String status = "status_example"; // String | Integer limit = 100; // Integer | Integer offset = 0; // Integer | UUID xCorrelationId = UUID.fromString("550e8400-e29b-41d4-a716-446655440000"); // UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. try { - PaginatedSemanticMetricRead result = apiInstance.listMetrics(xTenantId, xWorkspaceId, datasetId, limit, offset, xCorrelationId); + PaginatedSemanticMetricRead result = apiInstance.listMetrics(xTenantId, xWorkspaceId, datasetId, status, limit, offset, xCorrelationId); System.out.println(result); } catch (ApiException e) { System.err.println("Exception when calling SemanticMetricsApi#listMetrics"); @@ -331,6 +332,7 @@ public class Example { | **xTenantId** | **String**| Tenant slug. Required on every non-agent endpoint -- bounds the row-level security policy and appears in every audit event. Must match the JWT tenant claim if Authorization is also present. | | | **xWorkspaceId** | **String**| Workspace identifier. Accepts either the workspace UUID or its slug -- the slug form lets SDKs avoid carrying UUIDs around. Used to scope every query, ingest, and schema KB operation. | | | **datasetId** | **String**| | [optional] | +| **status** | **String**| | [optional] | | **limit** | **Integer**| | [optional] [default to 100] | | **offset** | **Integer**| | [optional] [default to 0] | | **xCorrelationId** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] | @@ -529,7 +531,7 @@ public class Example { > SemanticMetricRead update(metricId, xTenantId, xWorkspaceId, semanticMetricUpdate, xCorrelationId, idempotencyKey) -Sparse-update a metric; re-validates YAML if definition changes. +Sparse-update a metric; re-validates + recompiles if published. ### Example diff --git a/sdks/java/docs/SemanticVersionRead.md b/sdks/java/docs/SemanticVersionRead.md index f1345f9..01239e4 100644 --- a/sdks/java/docs/SemanticVersionRead.md +++ b/sdks/java/docs/SemanticVersionRead.md @@ -2,7 +2,7 @@ # SemanticVersionRead -Read representation of a flyquery_semantic_versions row. +Read representation of a flyquery_semantic_versions row. Field names follow the documented payload (``version_number``, ``metric_id``); the underlying columns are ``version`` / ``parent_id`` and are mapped via validation aliases. ## Properties diff --git a/sdks/java/git_push.sh b/sdks/java/git_push.sh index 7a835d4..f53a75d 100644 --- a/sdks/java/git_push.sh +++ b/sdks/java/git_push.sh @@ -1,18 +1,4 @@ #!/bin/sh -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - # ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/ # # Usage example: /bin/sh ./git_push.sh wing328 openapi-petstore-perl "minor update" "gitlab.com" diff --git a/sdks/java/pom.xml b/sdks/java/pom.xml index dd89f1b..e552076 100644 --- a/sdks/java/pom.xml +++ b/sdks/java/pom.xml @@ -5,7 +5,7 @@ flyquery-sdk jar flyquery-sdk - 26.5.12 + 26.6.0 https://github.com/firefly-operationOS/flyquery Java SDK for flyquery -- Operational Structured-Data Intelligence. Auto-generated from the flyquery OpenAPI 3.1 spec. Targets Java 25 + Spring Boot 3.5.9 + WebFlux. diff --git a/sdks/java/src/main/java/com/firefly/flyquery/ApiClient.java b/sdks/java/src/main/java/com/firefly/flyquery/ApiClient.java index 470a6b4..766dd39 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/ApiClient.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/ApiClient.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -95,7 +81,7 @@ import com.firefly.flyquery.auth.HttpBearerAuth; import com.firefly.flyquery.auth.ApiKeyAuth; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class ApiClient extends JavaTimeFormatter { public enum CollectionFormat { CSV(","), TSV("\t"), SSV(" "), PIPES("|"), MULTI(null); diff --git a/sdks/java/src/main/java/com/firefly/flyquery/JavaTimeFormatter.java b/sdks/java/src/main/java/com/firefly/flyquery/JavaTimeFormatter.java index fe35641..e46aa83 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/JavaTimeFormatter.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/JavaTimeFormatter.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -34,7 +20,7 @@ * Class that add parsing/formatting support for Java 8+ {@code OffsetDateTime} class. * It's generated for java clients when {@code AbstractJavaCodegen#dateLibrary} specified as {@code java8}. */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class JavaTimeFormatter { private DateTimeFormatter offsetDateTimeFormatter = DateTimeFormatter.ISO_OFFSET_DATE_TIME; diff --git a/sdks/java/src/main/java/com/firefly/flyquery/RFC3339DateFormat.java b/sdks/java/src/main/java/com/firefly/flyquery/RFC3339DateFormat.java index 9f8eb60..6ebebc8 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/RFC3339DateFormat.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/RFC3339DateFormat.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -35,7 +21,7 @@ import java.util.TimeZone; import com.fasterxml.jackson.databind.util.StdDateFormat; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class RFC3339DateFormat extends DateFormat { private static final long serialVersionUID = 1L; private static final TimeZone TIMEZONE_Z = TimeZone.getTimeZone("UTC"); diff --git a/sdks/java/src/main/java/com/firefly/flyquery/RFC3339InstantDeserializer.java b/sdks/java/src/main/java/com/firefly/flyquery/RFC3339InstantDeserializer.java index 4be0900..9542760 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/RFC3339InstantDeserializer.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/RFC3339InstantDeserializer.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -42,7 +28,7 @@ import com.fasterxml.jackson.datatype.jsr310.JavaTimeFeature; import com.fasterxml.jackson.datatype.jsr310.deser.InstantDeserializer; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class RFC3339InstantDeserializer extends InstantDeserializer { private static final long serialVersionUID = 1L; private final static boolean DEFAULT_NORMALIZE_ZONE_ID = JavaTimeFeature.NORMALIZE_DESERIALIZED_ZONE_ID.enabledByDefault(); diff --git a/sdks/java/src/main/java/com/firefly/flyquery/RFC3339JavaTimeModule.java b/sdks/java/src/main/java/com/firefly/flyquery/RFC3339JavaTimeModule.java index d6117ce..caf1a0c 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/RFC3339JavaTimeModule.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/RFC3339JavaTimeModule.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -33,7 +19,7 @@ import com.fasterxml.jackson.databind.module.SimpleModule; import com.fasterxml.jackson.databind.Module.SetupContext; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class RFC3339JavaTimeModule extends SimpleModule { private static final long serialVersionUID = 1L; diff --git a/sdks/java/src/main/java/com/firefly/flyquery/ServerConfiguration.java b/sdks/java/src/main/java/com/firefly/flyquery/ServerConfiguration.java index badc7d1..2b273d9 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/ServerConfiguration.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/ServerConfiguration.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -32,7 +18,7 @@ /** * Representing a Server configuration. */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class ServerConfiguration { public String URL; public String description; diff --git a/sdks/java/src/main/java/com/firefly/flyquery/ServerVariable.java b/sdks/java/src/main/java/com/firefly/flyquery/ServerVariable.java index adc0c16..e5ad099 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/ServerVariable.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/ServerVariable.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -32,7 +18,7 @@ /** * Representing a Server Variable for server URL template substitution. */ -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class ServerVariable { public String description; public String defaultValue; diff --git a/sdks/java/src/main/java/com/firefly/flyquery/StringUtil.java b/sdks/java/src/main/java/com/firefly/flyquery/StringUtil.java index e0d64a4..8bffdda 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/StringUtil.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/StringUtil.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -30,7 +16,7 @@ import java.util.Collection; import java.util.Iterator; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class StringUtil { /** * Check if the given array contains the given value (with case-insensitive comparison). diff --git a/sdks/java/src/main/java/com/firefly/flyquery/api/AgentConversationsApi.java b/sdks/java/src/main/java/com/firefly/flyquery/api/AgentConversationsApi.java index 90989cc..5c07e5e 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/api/AgentConversationsApi.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/api/AgentConversationsApi.java @@ -1,17 +1,3 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - package com.firefly.flyquery.api; import com.firefly.flyquery.ApiClient; @@ -45,7 +31,7 @@ import reactor.core.publisher.Mono; import reactor.core.publisher.Flux; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class AgentConversationsApi { private ApiClient apiClient; diff --git a/sdks/java/src/main/java/com/firefly/flyquery/api/AgentDatasetsApi.java b/sdks/java/src/main/java/com/firefly/flyquery/api/AgentDatasetsApi.java index 11fddec..1675228 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/api/AgentDatasetsApi.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/api/AgentDatasetsApi.java @@ -1,17 +1,3 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - package com.firefly.flyquery.api; import com.firefly.flyquery.ApiClient; @@ -41,7 +27,7 @@ import reactor.core.publisher.Mono; import reactor.core.publisher.Flux; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class AgentDatasetsApi { private ApiClient apiClient; diff --git a/sdks/java/src/main/java/com/firefly/flyquery/api/AgentExamplesApi.java b/sdks/java/src/main/java/com/firefly/flyquery/api/AgentExamplesApi.java index 6cdf161..a395dd4 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/api/AgentExamplesApi.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/api/AgentExamplesApi.java @@ -1,17 +1,3 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - package com.firefly.flyquery.api; import com.firefly.flyquery.ApiClient; @@ -44,7 +30,7 @@ import reactor.core.publisher.Mono; import reactor.core.publisher.Flux; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class AgentExamplesApi { private ApiClient apiClient; diff --git a/sdks/java/src/main/java/com/firefly/flyquery/api/AgentGlossaryApi.java b/sdks/java/src/main/java/com/firefly/flyquery/api/AgentGlossaryApi.java new file mode 100644 index 0000000..15e6744 --- /dev/null +++ b/sdks/java/src/main/java/com/firefly/flyquery/api/AgentGlossaryApi.java @@ -0,0 +1,540 @@ +package com.firefly.flyquery.api; + +import com.firefly.flyquery.ApiClient; + +import com.firefly.flyquery.model.GlossaryTermCreate; +import com.firefly.flyquery.model.GlossaryTermRead; +import com.firefly.flyquery.model.GlossaryTermUpdate; +import com.firefly.flyquery.model.HTTPValidationError; +import com.firefly.flyquery.model.PaginatedGlossaryTermRead; +import java.util.UUID; + +import java.util.HashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Objects; +import java.util.Arrays; +import java.util.stream.Collectors; + +import org.springframework.core.io.FileSystemResource; +import org.springframework.core.ParameterizedTypeReference; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpMethod; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; +import org.springframework.web.reactive.function.client.WebClient.ResponseSpec; +import org.springframework.web.reactive.function.client.WebClientResponseException; +import reactor.core.publisher.Mono; +import reactor.core.publisher.Flux; + +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +public class AgentGlossaryApi { + private ApiClient apiClient; + + public AgentGlossaryApi() { + this(new ApiClient()); + } + + public AgentGlossaryApi(ApiClient apiClient) { + this.apiClient = apiClient; + } + + public ApiClient getApiClient() { + return apiClient; + } + + public void setApiClient(ApiClient apiClient) { + this.apiClient = apiClient; + } + + /** + * Create a glossary term (agent-tier). + * + *

201 - Successful response + *

422 - Validation Error + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param glossaryTermCreate The glossaryTermCreate parameter + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @return GlossaryTermRead + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + private ResponseSpec createRequestCreation(@jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nonnull GlossaryTermCreate glossaryTermCreate, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + Object postBody = glossaryTermCreate; + // verify the required parameter 'xAgentToken' is set + if (xAgentToken == null) { + throw new WebClientResponseException("Missing the required parameter 'xAgentToken' when calling create", HttpStatus.BAD_REQUEST.value(), HttpStatus.BAD_REQUEST.getReasonPhrase(), null, null, null); + } + // verify the required parameter 'glossaryTermCreate' is set + if (glossaryTermCreate == null) { + throw new WebClientResponseException("Missing the required parameter 'glossaryTermCreate' when calling create", HttpStatus.BAD_REQUEST.value(), HttpStatus.BAD_REQUEST.getReasonPhrase(), null, null, null); + } + // create path and map variables + final Map pathParams = new HashMap(); + + final MultiValueMap queryParams = new LinkedMultiValueMap(); + final HttpHeaders headerParams = new HttpHeaders(); + final MultiValueMap cookieParams = new LinkedMultiValueMap(); + final MultiValueMap formParams = new LinkedMultiValueMap(); + + if (xAgentToken != null) + headerParams.add("X-Agent-Token", apiClient.parameterToString(xAgentToken)); + if (xCorrelationId != null) + headerParams.add("X-Correlation-Id", apiClient.parameterToString(xCorrelationId)); + if (idempotencyKey != null) + headerParams.add("Idempotency-Key", apiClient.parameterToString(idempotencyKey)); + final String[] localVarAccepts = { + "application/json" + }; + final List localVarAccept = apiClient.selectHeaderAccept(localVarAccepts); + final String[] localVarContentTypes = { + "application/json" + }; + final MediaType localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes); + + String[] localVarAuthNames = new String[] { "AgentToken" }; + + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return apiClient.invokeAPI("/api/v1/agent/glossary", HttpMethod.POST, pathParams, queryParams, postBody, headerParams, cookieParams, formParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType); + } + + /** + * Create a glossary term (agent-tier). + * + *

201 - Successful response + *

422 - Validation Error + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param glossaryTermCreate The glossaryTermCreate parameter + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @return GlossaryTermRead + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public Mono create(@jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nonnull GlossaryTermCreate glossaryTermCreate, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return createRequestCreation(xAgentToken, glossaryTermCreate, xCorrelationId, idempotencyKey).bodyToMono(localVarReturnType); + } + + /** + * Create a glossary term (agent-tier). + * + *

201 - Successful response + *

422 - Validation Error + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param glossaryTermCreate The glossaryTermCreate parameter + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @return ResponseEntity<GlossaryTermRead> + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public Mono> createWithHttpInfo(@jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nonnull GlossaryTermCreate glossaryTermCreate, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return createRequestCreation(xAgentToken, glossaryTermCreate, xCorrelationId, idempotencyKey).toEntity(localVarReturnType); + } + + /** + * Create a glossary term (agent-tier). + * + *

201 - Successful response + *

422 - Validation Error + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param glossaryTermCreate The glossaryTermCreate parameter + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @return ResponseSpec + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public ResponseSpec createWithResponseSpec(@jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nonnull GlossaryTermCreate glossaryTermCreate, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + return createRequestCreation(xAgentToken, glossaryTermCreate, xCorrelationId, idempotencyKey); + } + + /** + * Hard-delete a glossary term (agent-tier). + * + *

204 - No Content + * @param termId The termId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + private ResponseSpec deleteRequestCreation(@jakarta.annotation.Nonnull String termId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + Object postBody = null; + // verify the required parameter 'termId' is set + if (termId == null) { + throw new WebClientResponseException("Missing the required parameter 'termId' when calling delete", HttpStatus.BAD_REQUEST.value(), HttpStatus.BAD_REQUEST.getReasonPhrase(), null, null, null); + } + // verify the required parameter 'xAgentToken' is set + if (xAgentToken == null) { + throw new WebClientResponseException("Missing the required parameter 'xAgentToken' when calling delete", HttpStatus.BAD_REQUEST.value(), HttpStatus.BAD_REQUEST.getReasonPhrase(), null, null, null); + } + // create path and map variables + final Map pathParams = new HashMap(); + + pathParams.put("term_id", termId); + + final MultiValueMap queryParams = new LinkedMultiValueMap(); + final HttpHeaders headerParams = new HttpHeaders(); + final MultiValueMap cookieParams = new LinkedMultiValueMap(); + final MultiValueMap formParams = new LinkedMultiValueMap(); + + if (xAgentToken != null) + headerParams.add("X-Agent-Token", apiClient.parameterToString(xAgentToken)); + if (xCorrelationId != null) + headerParams.add("X-Correlation-Id", apiClient.parameterToString(xCorrelationId)); + if (idempotencyKey != null) + headerParams.add("Idempotency-Key", apiClient.parameterToString(idempotencyKey)); + final String[] localVarAccepts = { }; + final List localVarAccept = apiClient.selectHeaderAccept(localVarAccepts); + final String[] localVarContentTypes = { }; + final MediaType localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes); + + String[] localVarAuthNames = new String[] { "AgentToken" }; + + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return apiClient.invokeAPI("/api/v1/agent/glossary/{term_id}", HttpMethod.DELETE, pathParams, queryParams, postBody, headerParams, cookieParams, formParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType); + } + + /** + * Hard-delete a glossary term (agent-tier). + * + *

204 - No Content + * @param termId The termId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public Mono delete(@jakarta.annotation.Nonnull String termId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return deleteRequestCreation(termId, xAgentToken, xCorrelationId, idempotencyKey).bodyToMono(localVarReturnType); + } + + /** + * Hard-delete a glossary term (agent-tier). + * + *

204 - No Content + * @param termId The termId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public Mono> deleteWithHttpInfo(@jakarta.annotation.Nonnull String termId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return deleteRequestCreation(termId, xAgentToken, xCorrelationId, idempotencyKey).toEntity(localVarReturnType); + } + + /** + * Hard-delete a glossary term (agent-tier). + * + *

204 - No Content + * @param termId The termId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @return ResponseSpec + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public ResponseSpec deleteWithResponseSpec(@jakarta.annotation.Nonnull String termId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + return deleteRequestCreation(termId, xAgentToken, xCorrelationId, idempotencyKey); + } + + /** + * Fetch a single glossary term (agent-tier). + * + *

200 - Successful response + * @param termId The termId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @return GlossaryTermRead + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + private ResponseSpec getTermRequestCreation(@jakarta.annotation.Nullable String termId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + Object postBody = null; + // verify the required parameter 'termId' is set + if (termId == null) { + throw new WebClientResponseException("Missing the required parameter 'termId' when calling getTerm", HttpStatus.BAD_REQUEST.value(), HttpStatus.BAD_REQUEST.getReasonPhrase(), null, null, null); + } + // verify the required parameter 'xAgentToken' is set + if (xAgentToken == null) { + throw new WebClientResponseException("Missing the required parameter 'xAgentToken' when calling getTerm", HttpStatus.BAD_REQUEST.value(), HttpStatus.BAD_REQUEST.getReasonPhrase(), null, null, null); + } + // create path and map variables + final Map pathParams = new HashMap(); + + pathParams.put("term_id", termId); + + final MultiValueMap queryParams = new LinkedMultiValueMap(); + final HttpHeaders headerParams = new HttpHeaders(); + final MultiValueMap cookieParams = new LinkedMultiValueMap(); + final MultiValueMap formParams = new LinkedMultiValueMap(); + + if (xAgentToken != null) + headerParams.add("X-Agent-Token", apiClient.parameterToString(xAgentToken)); + if (xCorrelationId != null) + headerParams.add("X-Correlation-Id", apiClient.parameterToString(xCorrelationId)); + final String[] localVarAccepts = { + "application/json" + }; + final List localVarAccept = apiClient.selectHeaderAccept(localVarAccepts); + final String[] localVarContentTypes = { }; + final MediaType localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes); + + String[] localVarAuthNames = new String[] { "AgentToken" }; + + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return apiClient.invokeAPI("/api/v1/agent/glossary/{term_id}", HttpMethod.GET, pathParams, queryParams, postBody, headerParams, cookieParams, formParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType); + } + + /** + * Fetch a single glossary term (agent-tier). + * + *

200 - Successful response + * @param termId The termId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @return GlossaryTermRead + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public Mono getTerm(@jakarta.annotation.Nullable String termId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return getTermRequestCreation(termId, xAgentToken, xCorrelationId).bodyToMono(localVarReturnType); + } + + /** + * Fetch a single glossary term (agent-tier). + * + *

200 - Successful response + * @param termId The termId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @return ResponseEntity<GlossaryTermRead> + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public Mono> getTermWithHttpInfo(@jakarta.annotation.Nullable String termId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return getTermRequestCreation(termId, xAgentToken, xCorrelationId).toEntity(localVarReturnType); + } + + /** + * Fetch a single glossary term (agent-tier). + * + *

200 - Successful response + * @param termId The termId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @return ResponseSpec + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public ResponseSpec getTermWithResponseSpec(@jakarta.annotation.Nullable String termId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + return getTermRequestCreation(termId, xAgentToken, xCorrelationId); + } + + /** + * List glossary terms for the caller's workspace (agent-tier). + * + *

200 - Successful response + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param limit The limit parameter + * @param offset The offset parameter + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @return PaginatedGlossaryTermRead + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + private ResponseSpec listTermsRequestCreation(@jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable Integer limit, @jakarta.annotation.Nullable Integer offset, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + Object postBody = null; + // verify the required parameter 'xAgentToken' is set + if (xAgentToken == null) { + throw new WebClientResponseException("Missing the required parameter 'xAgentToken' when calling listTerms", HttpStatus.BAD_REQUEST.value(), HttpStatus.BAD_REQUEST.getReasonPhrase(), null, null, null); + } + // create path and map variables + final Map pathParams = new HashMap(); + + final MultiValueMap queryParams = new LinkedMultiValueMap(); + final HttpHeaders headerParams = new HttpHeaders(); + final MultiValueMap cookieParams = new LinkedMultiValueMap(); + final MultiValueMap formParams = new LinkedMultiValueMap(); + + queryParams.putAll(apiClient.parameterToMultiValueMap(null, "limit", limit)); + queryParams.putAll(apiClient.parameterToMultiValueMap(null, "offset", offset)); + + if (xAgentToken != null) + headerParams.add("X-Agent-Token", apiClient.parameterToString(xAgentToken)); + if (xCorrelationId != null) + headerParams.add("X-Correlation-Id", apiClient.parameterToString(xCorrelationId)); + final String[] localVarAccepts = { + "application/json" + }; + final List localVarAccept = apiClient.selectHeaderAccept(localVarAccepts); + final String[] localVarContentTypes = { }; + final MediaType localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes); + + String[] localVarAuthNames = new String[] { "AgentToken" }; + + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return apiClient.invokeAPI("/api/v1/agent/glossary", HttpMethod.GET, pathParams, queryParams, postBody, headerParams, cookieParams, formParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType); + } + + /** + * List glossary terms for the caller's workspace (agent-tier). + * + *

200 - Successful response + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param limit The limit parameter + * @param offset The offset parameter + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @return PaginatedGlossaryTermRead + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public Mono listTerms(@jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable Integer limit, @jakarta.annotation.Nullable Integer offset, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return listTermsRequestCreation(xAgentToken, limit, offset, xCorrelationId).bodyToMono(localVarReturnType); + } + + /** + * List glossary terms for the caller's workspace (agent-tier). + * + *

200 - Successful response + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param limit The limit parameter + * @param offset The offset parameter + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @return ResponseEntity<PaginatedGlossaryTermRead> + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public Mono> listTermsWithHttpInfo(@jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable Integer limit, @jakarta.annotation.Nullable Integer offset, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return listTermsRequestCreation(xAgentToken, limit, offset, xCorrelationId).toEntity(localVarReturnType); + } + + /** + * List glossary terms for the caller's workspace (agent-tier). + * + *

200 - Successful response + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param limit The limit parameter + * @param offset The offset parameter + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @return ResponseSpec + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public ResponseSpec listTermsWithResponseSpec(@jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable Integer limit, @jakarta.annotation.Nullable Integer offset, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + return listTermsRequestCreation(xAgentToken, limit, offset, xCorrelationId); + } + + /** + * Sparse-update a glossary term (agent-tier). + * + *

200 - Successful response + *

422 - Validation Error + * @param termId The termId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param glossaryTermUpdate The glossaryTermUpdate parameter + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @return GlossaryTermRead + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + private ResponseSpec updateRequestCreation(@jakarta.annotation.Nonnull String termId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nonnull GlossaryTermUpdate glossaryTermUpdate, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + Object postBody = glossaryTermUpdate; + // verify the required parameter 'termId' is set + if (termId == null) { + throw new WebClientResponseException("Missing the required parameter 'termId' when calling update", HttpStatus.BAD_REQUEST.value(), HttpStatus.BAD_REQUEST.getReasonPhrase(), null, null, null); + } + // verify the required parameter 'xAgentToken' is set + if (xAgentToken == null) { + throw new WebClientResponseException("Missing the required parameter 'xAgentToken' when calling update", HttpStatus.BAD_REQUEST.value(), HttpStatus.BAD_REQUEST.getReasonPhrase(), null, null, null); + } + // verify the required parameter 'glossaryTermUpdate' is set + if (glossaryTermUpdate == null) { + throw new WebClientResponseException("Missing the required parameter 'glossaryTermUpdate' when calling update", HttpStatus.BAD_REQUEST.value(), HttpStatus.BAD_REQUEST.getReasonPhrase(), null, null, null); + } + // create path and map variables + final Map pathParams = new HashMap(); + + pathParams.put("term_id", termId); + + final MultiValueMap queryParams = new LinkedMultiValueMap(); + final HttpHeaders headerParams = new HttpHeaders(); + final MultiValueMap cookieParams = new LinkedMultiValueMap(); + final MultiValueMap formParams = new LinkedMultiValueMap(); + + if (xAgentToken != null) + headerParams.add("X-Agent-Token", apiClient.parameterToString(xAgentToken)); + if (xCorrelationId != null) + headerParams.add("X-Correlation-Id", apiClient.parameterToString(xCorrelationId)); + if (idempotencyKey != null) + headerParams.add("Idempotency-Key", apiClient.parameterToString(idempotencyKey)); + final String[] localVarAccepts = { + "application/json" + }; + final List localVarAccept = apiClient.selectHeaderAccept(localVarAccepts); + final String[] localVarContentTypes = { + "application/json" + }; + final MediaType localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes); + + String[] localVarAuthNames = new String[] { "AgentToken" }; + + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return apiClient.invokeAPI("/api/v1/agent/glossary/{term_id}", HttpMethod.PUT, pathParams, queryParams, postBody, headerParams, cookieParams, formParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType); + } + + /** + * Sparse-update a glossary term (agent-tier). + * + *

200 - Successful response + *

422 - Validation Error + * @param termId The termId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param glossaryTermUpdate The glossaryTermUpdate parameter + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @return GlossaryTermRead + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public Mono update(@jakarta.annotation.Nonnull String termId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nonnull GlossaryTermUpdate glossaryTermUpdate, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return updateRequestCreation(termId, xAgentToken, glossaryTermUpdate, xCorrelationId, idempotencyKey).bodyToMono(localVarReturnType); + } + + /** + * Sparse-update a glossary term (agent-tier). + * + *

200 - Successful response + *

422 - Validation Error + * @param termId The termId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param glossaryTermUpdate The glossaryTermUpdate parameter + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @return ResponseEntity<GlossaryTermRead> + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public Mono> updateWithHttpInfo(@jakarta.annotation.Nonnull String termId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nonnull GlossaryTermUpdate glossaryTermUpdate, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return updateRequestCreation(termId, xAgentToken, glossaryTermUpdate, xCorrelationId, idempotencyKey).toEntity(localVarReturnType); + } + + /** + * Sparse-update a glossary term (agent-tier). + * + *

200 - Successful response + *

422 - Validation Error + * @param termId The termId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param glossaryTermUpdate The glossaryTermUpdate parameter + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @return ResponseSpec + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public ResponseSpec updateWithResponseSpec(@jakarta.annotation.Nonnull String termId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nonnull GlossaryTermUpdate glossaryTermUpdate, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + return updateRequestCreation(termId, xAgentToken, glossaryTermUpdate, xCorrelationId, idempotencyKey); + } +} diff --git a/sdks/java/src/main/java/com/firefly/flyquery/api/AgentIngestJobsApi.java b/sdks/java/src/main/java/com/firefly/flyquery/api/AgentIngestJobsApi.java index 2855639..662a753 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/api/AgentIngestJobsApi.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/api/AgentIngestJobsApi.java @@ -1,17 +1,3 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - package com.firefly.flyquery.api; import com.firefly.flyquery.ApiClient; @@ -44,7 +30,7 @@ import reactor.core.publisher.Mono; import reactor.core.publisher.Flux; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class AgentIngestJobsApi { private ApiClient apiClient; diff --git a/sdks/java/src/main/java/com/firefly/flyquery/api/AgentQueryApi.java b/sdks/java/src/main/java/com/firefly/flyquery/api/AgentQueryApi.java index d06d94f..7cdefe0 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/api/AgentQueryApi.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/api/AgentQueryApi.java @@ -1,17 +1,3 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - package com.firefly.flyquery.api; import com.firefly.flyquery.ApiClient; @@ -47,7 +33,7 @@ import reactor.core.publisher.Mono; import reactor.core.publisher.Flux; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class AgentQueryApi { private ApiClient apiClient; diff --git a/sdks/java/src/main/java/com/firefly/flyquery/api/AgentRelationsApi.java b/sdks/java/src/main/java/com/firefly/flyquery/api/AgentRelationsApi.java index d61c0b4..d9ac568 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/api/AgentRelationsApi.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/api/AgentRelationsApi.java @@ -1,17 +1,3 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - package com.firefly.flyquery.api; import com.firefly.flyquery.ApiClient; @@ -41,7 +27,7 @@ import reactor.core.publisher.Mono; import reactor.core.publisher.Flux; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class AgentRelationsApi { private ApiClient apiClient; diff --git a/sdks/java/src/main/java/com/firefly/flyquery/api/AgentSemanticDimensionsApi.java b/sdks/java/src/main/java/com/firefly/flyquery/api/AgentSemanticDimensionsApi.java new file mode 100644 index 0000000..03c293f --- /dev/null +++ b/sdks/java/src/main/java/com/firefly/flyquery/api/AgentSemanticDimensionsApi.java @@ -0,0 +1,744 @@ +package com.firefly.flyquery.api; + +import com.firefly.flyquery.ApiClient; + +import com.firefly.flyquery.model.HTTPValidationError; +import com.firefly.flyquery.model.PaginatedSemanticDimensionRead; +import com.firefly.flyquery.model.PaginatedSemanticVersionRead; +import com.firefly.flyquery.model.SemanticDimensionCreate; +import com.firefly.flyquery.model.SemanticDimensionRead; +import com.firefly.flyquery.model.SemanticDimensionUpdate; +import java.util.UUID; + +import java.util.HashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Objects; +import java.util.Arrays; +import java.util.stream.Collectors; + +import org.springframework.core.io.FileSystemResource; +import org.springframework.core.ParameterizedTypeReference; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpMethod; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; +import org.springframework.web.reactive.function.client.WebClient.ResponseSpec; +import org.springframework.web.reactive.function.client.WebClientResponseException; +import reactor.core.publisher.Mono; +import reactor.core.publisher.Flux; + +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +public class AgentSemanticDimensionsApi { + private ApiClient apiClient; + + public AgentSemanticDimensionsApi() { + this(new ApiClient()); + } + + public AgentSemanticDimensionsApi(ApiClient apiClient) { + this.apiClient = apiClient; + } + + public ApiClient getApiClient() { + return apiClient; + } + + public void setApiClient(ApiClient apiClient) { + this.apiClient = apiClient; + } + + /** + * Create a dimension in DRAFT (agent-tier). + * + *

201 - Successful response + *

422 - Validation Error + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param semanticDimensionCreate The semanticDimensionCreate parameter + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @return SemanticDimensionRead + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + private ResponseSpec createRequestCreation(@jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nonnull SemanticDimensionCreate semanticDimensionCreate, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + Object postBody = semanticDimensionCreate; + // verify the required parameter 'xAgentToken' is set + if (xAgentToken == null) { + throw new WebClientResponseException("Missing the required parameter 'xAgentToken' when calling create", HttpStatus.BAD_REQUEST.value(), HttpStatus.BAD_REQUEST.getReasonPhrase(), null, null, null); + } + // verify the required parameter 'semanticDimensionCreate' is set + if (semanticDimensionCreate == null) { + throw new WebClientResponseException("Missing the required parameter 'semanticDimensionCreate' when calling create", HttpStatus.BAD_REQUEST.value(), HttpStatus.BAD_REQUEST.getReasonPhrase(), null, null, null); + } + // create path and map variables + final Map pathParams = new HashMap(); + + final MultiValueMap queryParams = new LinkedMultiValueMap(); + final HttpHeaders headerParams = new HttpHeaders(); + final MultiValueMap cookieParams = new LinkedMultiValueMap(); + final MultiValueMap formParams = new LinkedMultiValueMap(); + + if (xAgentToken != null) + headerParams.add("X-Agent-Token", apiClient.parameterToString(xAgentToken)); + if (xCorrelationId != null) + headerParams.add("X-Correlation-Id", apiClient.parameterToString(xCorrelationId)); + if (idempotencyKey != null) + headerParams.add("Idempotency-Key", apiClient.parameterToString(idempotencyKey)); + final String[] localVarAccepts = { + "application/json" + }; + final List localVarAccept = apiClient.selectHeaderAccept(localVarAccepts); + final String[] localVarContentTypes = { + "application/json" + }; + final MediaType localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes); + + String[] localVarAuthNames = new String[] { "AgentToken" }; + + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return apiClient.invokeAPI("/api/v1/agent/semantic/dimensions", HttpMethod.POST, pathParams, queryParams, postBody, headerParams, cookieParams, formParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType); + } + + /** + * Create a dimension in DRAFT (agent-tier). + * + *

201 - Successful response + *

422 - Validation Error + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param semanticDimensionCreate The semanticDimensionCreate parameter + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @return SemanticDimensionRead + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public Mono create(@jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nonnull SemanticDimensionCreate semanticDimensionCreate, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return createRequestCreation(xAgentToken, semanticDimensionCreate, xCorrelationId, idempotencyKey).bodyToMono(localVarReturnType); + } + + /** + * Create a dimension in DRAFT (agent-tier). + * + *

201 - Successful response + *

422 - Validation Error + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param semanticDimensionCreate The semanticDimensionCreate parameter + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @return ResponseEntity<SemanticDimensionRead> + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public Mono> createWithHttpInfo(@jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nonnull SemanticDimensionCreate semanticDimensionCreate, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return createRequestCreation(xAgentToken, semanticDimensionCreate, xCorrelationId, idempotencyKey).toEntity(localVarReturnType); + } + + /** + * Create a dimension in DRAFT (agent-tier). + * + *

201 - Successful response + *

422 - Validation Error + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param semanticDimensionCreate The semanticDimensionCreate parameter + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @return ResponseSpec + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public ResponseSpec createWithResponseSpec(@jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nonnull SemanticDimensionCreate semanticDimensionCreate, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + return createRequestCreation(xAgentToken, semanticDimensionCreate, xCorrelationId, idempotencyKey); + } + + /** + * Fetch a single dimension (agent-tier). + * + *

200 - Successful response + * @param dimensionId The dimensionId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @return SemanticDimensionRead + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + private ResponseSpec getDimensionRequestCreation(@jakarta.annotation.Nullable String dimensionId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + Object postBody = null; + // verify the required parameter 'dimensionId' is set + if (dimensionId == null) { + throw new WebClientResponseException("Missing the required parameter 'dimensionId' when calling getDimension", HttpStatus.BAD_REQUEST.value(), HttpStatus.BAD_REQUEST.getReasonPhrase(), null, null, null); + } + // verify the required parameter 'xAgentToken' is set + if (xAgentToken == null) { + throw new WebClientResponseException("Missing the required parameter 'xAgentToken' when calling getDimension", HttpStatus.BAD_REQUEST.value(), HttpStatus.BAD_REQUEST.getReasonPhrase(), null, null, null); + } + // create path and map variables + final Map pathParams = new HashMap(); + + pathParams.put("dimension_id", dimensionId); + + final MultiValueMap queryParams = new LinkedMultiValueMap(); + final HttpHeaders headerParams = new HttpHeaders(); + final MultiValueMap cookieParams = new LinkedMultiValueMap(); + final MultiValueMap formParams = new LinkedMultiValueMap(); + + if (xAgentToken != null) + headerParams.add("X-Agent-Token", apiClient.parameterToString(xAgentToken)); + if (xCorrelationId != null) + headerParams.add("X-Correlation-Id", apiClient.parameterToString(xCorrelationId)); + final String[] localVarAccepts = { + "application/json" + }; + final List localVarAccept = apiClient.selectHeaderAccept(localVarAccepts); + final String[] localVarContentTypes = { }; + final MediaType localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes); + + String[] localVarAuthNames = new String[] { "AgentToken" }; + + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return apiClient.invokeAPI("/api/v1/agent/semantic/dimensions/{dimension_id}", HttpMethod.GET, pathParams, queryParams, postBody, headerParams, cookieParams, formParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType); + } + + /** + * Fetch a single dimension (agent-tier). + * + *

200 - Successful response + * @param dimensionId The dimensionId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @return SemanticDimensionRead + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public Mono getDimension(@jakarta.annotation.Nullable String dimensionId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return getDimensionRequestCreation(dimensionId, xAgentToken, xCorrelationId).bodyToMono(localVarReturnType); + } + + /** + * Fetch a single dimension (agent-tier). + * + *

200 - Successful response + * @param dimensionId The dimensionId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @return ResponseEntity<SemanticDimensionRead> + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public Mono> getDimensionWithHttpInfo(@jakarta.annotation.Nullable String dimensionId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return getDimensionRequestCreation(dimensionId, xAgentToken, xCorrelationId).toEntity(localVarReturnType); + } + + /** + * Fetch a single dimension (agent-tier). + * + *

200 - Successful response + * @param dimensionId The dimensionId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @return ResponseSpec + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public ResponseSpec getDimensionWithResponseSpec(@jakarta.annotation.Nullable String dimensionId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + return getDimensionRequestCreation(dimensionId, xAgentToken, xCorrelationId); + } + + /** + * Return version history for a dimension (agent-tier). + * + *

200 - Successful response + * @param dimensionId The dimensionId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @return PaginatedSemanticVersionRead + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + private ResponseSpec historyRequestCreation(@jakarta.annotation.Nonnull String dimensionId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + Object postBody = null; + // verify the required parameter 'dimensionId' is set + if (dimensionId == null) { + throw new WebClientResponseException("Missing the required parameter 'dimensionId' when calling history", HttpStatus.BAD_REQUEST.value(), HttpStatus.BAD_REQUEST.getReasonPhrase(), null, null, null); + } + // verify the required parameter 'xAgentToken' is set + if (xAgentToken == null) { + throw new WebClientResponseException("Missing the required parameter 'xAgentToken' when calling history", HttpStatus.BAD_REQUEST.value(), HttpStatus.BAD_REQUEST.getReasonPhrase(), null, null, null); + } + // create path and map variables + final Map pathParams = new HashMap(); + + pathParams.put("dimension_id", dimensionId); + + final MultiValueMap queryParams = new LinkedMultiValueMap(); + final HttpHeaders headerParams = new HttpHeaders(); + final MultiValueMap cookieParams = new LinkedMultiValueMap(); + final MultiValueMap formParams = new LinkedMultiValueMap(); + + if (xAgentToken != null) + headerParams.add("X-Agent-Token", apiClient.parameterToString(xAgentToken)); + if (xCorrelationId != null) + headerParams.add("X-Correlation-Id", apiClient.parameterToString(xCorrelationId)); + final String[] localVarAccepts = { + "application/json" + }; + final List localVarAccept = apiClient.selectHeaderAccept(localVarAccepts); + final String[] localVarContentTypes = { }; + final MediaType localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes); + + String[] localVarAuthNames = new String[] { "AgentToken" }; + + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return apiClient.invokeAPI("/api/v1/agent/semantic/dimensions/{dimension_id}/history", HttpMethod.GET, pathParams, queryParams, postBody, headerParams, cookieParams, formParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType); + } + + /** + * Return version history for a dimension (agent-tier). + * + *

200 - Successful response + * @param dimensionId The dimensionId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @return PaginatedSemanticVersionRead + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public Mono history(@jakarta.annotation.Nonnull String dimensionId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return historyRequestCreation(dimensionId, xAgentToken, xCorrelationId).bodyToMono(localVarReturnType); + } + + /** + * Return version history for a dimension (agent-tier). + * + *

200 - Successful response + * @param dimensionId The dimensionId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @return ResponseEntity<PaginatedSemanticVersionRead> + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public Mono> historyWithHttpInfo(@jakarta.annotation.Nonnull String dimensionId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return historyRequestCreation(dimensionId, xAgentToken, xCorrelationId).toEntity(localVarReturnType); + } + + /** + * Return version history for a dimension (agent-tier). + * + *

200 - Successful response + * @param dimensionId The dimensionId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @return ResponseSpec + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public ResponseSpec historyWithResponseSpec(@jakarta.annotation.Nonnull String dimensionId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + return historyRequestCreation(dimensionId, xAgentToken, xCorrelationId); + } + + /** + * List dimensions for the caller's workspace (agent-tier). + * + *

200 - Successful response + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param datasetId The datasetId parameter + * @param status The status parameter + * @param limit The limit parameter + * @param offset The offset parameter + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @return PaginatedSemanticDimensionRead + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + private ResponseSpec listDimensionsRequestCreation(@jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable String datasetId, @jakarta.annotation.Nullable String status, @jakarta.annotation.Nullable Integer limit, @jakarta.annotation.Nullable Integer offset, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + Object postBody = null; + // verify the required parameter 'xAgentToken' is set + if (xAgentToken == null) { + throw new WebClientResponseException("Missing the required parameter 'xAgentToken' when calling listDimensions", HttpStatus.BAD_REQUEST.value(), HttpStatus.BAD_REQUEST.getReasonPhrase(), null, null, null); + } + // create path and map variables + final Map pathParams = new HashMap(); + + final MultiValueMap queryParams = new LinkedMultiValueMap(); + final HttpHeaders headerParams = new HttpHeaders(); + final MultiValueMap cookieParams = new LinkedMultiValueMap(); + final MultiValueMap formParams = new LinkedMultiValueMap(); + + queryParams.putAll(apiClient.parameterToMultiValueMap(null, "dataset_id", datasetId)); + queryParams.putAll(apiClient.parameterToMultiValueMap(null, "status", status)); + queryParams.putAll(apiClient.parameterToMultiValueMap(null, "limit", limit)); + queryParams.putAll(apiClient.parameterToMultiValueMap(null, "offset", offset)); + + if (xAgentToken != null) + headerParams.add("X-Agent-Token", apiClient.parameterToString(xAgentToken)); + if (xCorrelationId != null) + headerParams.add("X-Correlation-Id", apiClient.parameterToString(xCorrelationId)); + final String[] localVarAccepts = { + "application/json" + }; + final List localVarAccept = apiClient.selectHeaderAccept(localVarAccepts); + final String[] localVarContentTypes = { }; + final MediaType localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes); + + String[] localVarAuthNames = new String[] { "AgentToken" }; + + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return apiClient.invokeAPI("/api/v1/agent/semantic/dimensions", HttpMethod.GET, pathParams, queryParams, postBody, headerParams, cookieParams, formParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType); + } + + /** + * List dimensions for the caller's workspace (agent-tier). + * + *

200 - Successful response + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param datasetId The datasetId parameter + * @param status The status parameter + * @param limit The limit parameter + * @param offset The offset parameter + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @return PaginatedSemanticDimensionRead + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public Mono listDimensions(@jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable String datasetId, @jakarta.annotation.Nullable String status, @jakarta.annotation.Nullable Integer limit, @jakarta.annotation.Nullable Integer offset, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return listDimensionsRequestCreation(xAgentToken, datasetId, status, limit, offset, xCorrelationId).bodyToMono(localVarReturnType); + } + + /** + * List dimensions for the caller's workspace (agent-tier). + * + *

200 - Successful response + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param datasetId The datasetId parameter + * @param status The status parameter + * @param limit The limit parameter + * @param offset The offset parameter + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @return ResponseEntity<PaginatedSemanticDimensionRead> + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public Mono> listDimensionsWithHttpInfo(@jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable String datasetId, @jakarta.annotation.Nullable String status, @jakarta.annotation.Nullable Integer limit, @jakarta.annotation.Nullable Integer offset, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return listDimensionsRequestCreation(xAgentToken, datasetId, status, limit, offset, xCorrelationId).toEntity(localVarReturnType); + } + + /** + * List dimensions for the caller's workspace (agent-tier). + * + *

200 - Successful response + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param datasetId The datasetId parameter + * @param status The status parameter + * @param limit The limit parameter + * @param offset The offset parameter + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @return ResponseSpec + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public ResponseSpec listDimensionsWithResponseSpec(@jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable String datasetId, @jakarta.annotation.Nullable String status, @jakarta.annotation.Nullable Integer limit, @jakarta.annotation.Nullable Integer offset, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + return listDimensionsRequestCreation(xAgentToken, datasetId, status, limit, offset, xCorrelationId); + } + + /** + * Publish a dimension (agent-tier). + * + *

200 - Successful response + * @param dimensionId The dimensionId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @return SemanticDimensionRead + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + private ResponseSpec publishRequestCreation(@jakarta.annotation.Nonnull String dimensionId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + Object postBody = null; + // verify the required parameter 'dimensionId' is set + if (dimensionId == null) { + throw new WebClientResponseException("Missing the required parameter 'dimensionId' when calling publish", HttpStatus.BAD_REQUEST.value(), HttpStatus.BAD_REQUEST.getReasonPhrase(), null, null, null); + } + // verify the required parameter 'xAgentToken' is set + if (xAgentToken == null) { + throw new WebClientResponseException("Missing the required parameter 'xAgentToken' when calling publish", HttpStatus.BAD_REQUEST.value(), HttpStatus.BAD_REQUEST.getReasonPhrase(), null, null, null); + } + // create path and map variables + final Map pathParams = new HashMap(); + + pathParams.put("dimension_id", dimensionId); + + final MultiValueMap queryParams = new LinkedMultiValueMap(); + final HttpHeaders headerParams = new HttpHeaders(); + final MultiValueMap cookieParams = new LinkedMultiValueMap(); + final MultiValueMap formParams = new LinkedMultiValueMap(); + + if (xAgentToken != null) + headerParams.add("X-Agent-Token", apiClient.parameterToString(xAgentToken)); + if (xCorrelationId != null) + headerParams.add("X-Correlation-Id", apiClient.parameterToString(xCorrelationId)); + if (idempotencyKey != null) + headerParams.add("Idempotency-Key", apiClient.parameterToString(idempotencyKey)); + final String[] localVarAccepts = { + "application/json" + }; + final List localVarAccept = apiClient.selectHeaderAccept(localVarAccepts); + final String[] localVarContentTypes = { }; + final MediaType localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes); + + String[] localVarAuthNames = new String[] { "AgentToken" }; + + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return apiClient.invokeAPI("/api/v1/agent/semantic/dimensions/{dimension_id}:publish", HttpMethod.POST, pathParams, queryParams, postBody, headerParams, cookieParams, formParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType); + } + + /** + * Publish a dimension (agent-tier). + * + *

200 - Successful response + * @param dimensionId The dimensionId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @return SemanticDimensionRead + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public Mono publish(@jakarta.annotation.Nonnull String dimensionId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return publishRequestCreation(dimensionId, xAgentToken, xCorrelationId, idempotencyKey).bodyToMono(localVarReturnType); + } + + /** + * Publish a dimension (agent-tier). + * + *

200 - Successful response + * @param dimensionId The dimensionId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @return ResponseEntity<SemanticDimensionRead> + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public Mono> publishWithHttpInfo(@jakarta.annotation.Nonnull String dimensionId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return publishRequestCreation(dimensionId, xAgentToken, xCorrelationId, idempotencyKey).toEntity(localVarReturnType); + } + + /** + * Publish a dimension (agent-tier). + * + *

200 - Successful response + * @param dimensionId The dimensionId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @return ResponseSpec + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public ResponseSpec publishWithResponseSpec(@jakarta.annotation.Nonnull String dimensionId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + return publishRequestCreation(dimensionId, xAgentToken, xCorrelationId, idempotencyKey); + } + + /** + * Retire a dimension (agent-tier). + * + *

200 - Successful response + * @param dimensionId The dimensionId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @return SemanticDimensionRead + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + private ResponseSpec retireRequestCreation(@jakarta.annotation.Nonnull String dimensionId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + Object postBody = null; + // verify the required parameter 'dimensionId' is set + if (dimensionId == null) { + throw new WebClientResponseException("Missing the required parameter 'dimensionId' when calling retire", HttpStatus.BAD_REQUEST.value(), HttpStatus.BAD_REQUEST.getReasonPhrase(), null, null, null); + } + // verify the required parameter 'xAgentToken' is set + if (xAgentToken == null) { + throw new WebClientResponseException("Missing the required parameter 'xAgentToken' when calling retire", HttpStatus.BAD_REQUEST.value(), HttpStatus.BAD_REQUEST.getReasonPhrase(), null, null, null); + } + // create path and map variables + final Map pathParams = new HashMap(); + + pathParams.put("dimension_id", dimensionId); + + final MultiValueMap queryParams = new LinkedMultiValueMap(); + final HttpHeaders headerParams = new HttpHeaders(); + final MultiValueMap cookieParams = new LinkedMultiValueMap(); + final MultiValueMap formParams = new LinkedMultiValueMap(); + + if (xAgentToken != null) + headerParams.add("X-Agent-Token", apiClient.parameterToString(xAgentToken)); + if (xCorrelationId != null) + headerParams.add("X-Correlation-Id", apiClient.parameterToString(xCorrelationId)); + if (idempotencyKey != null) + headerParams.add("Idempotency-Key", apiClient.parameterToString(idempotencyKey)); + final String[] localVarAccepts = { + "application/json" + }; + final List localVarAccept = apiClient.selectHeaderAccept(localVarAccepts); + final String[] localVarContentTypes = { }; + final MediaType localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes); + + String[] localVarAuthNames = new String[] { "AgentToken" }; + + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return apiClient.invokeAPI("/api/v1/agent/semantic/dimensions/{dimension_id}:retire", HttpMethod.POST, pathParams, queryParams, postBody, headerParams, cookieParams, formParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType); + } + + /** + * Retire a dimension (agent-tier). + * + *

200 - Successful response + * @param dimensionId The dimensionId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @return SemanticDimensionRead + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public Mono retire(@jakarta.annotation.Nonnull String dimensionId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return retireRequestCreation(dimensionId, xAgentToken, xCorrelationId, idempotencyKey).bodyToMono(localVarReturnType); + } + + /** + * Retire a dimension (agent-tier). + * + *

200 - Successful response + * @param dimensionId The dimensionId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @return ResponseEntity<SemanticDimensionRead> + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public Mono> retireWithHttpInfo(@jakarta.annotation.Nonnull String dimensionId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return retireRequestCreation(dimensionId, xAgentToken, xCorrelationId, idempotencyKey).toEntity(localVarReturnType); + } + + /** + * Retire a dimension (agent-tier). + * + *

200 - Successful response + * @param dimensionId The dimensionId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @return ResponseSpec + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public ResponseSpec retireWithResponseSpec(@jakarta.annotation.Nonnull String dimensionId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + return retireRequestCreation(dimensionId, xAgentToken, xCorrelationId, idempotencyKey); + } + + /** + * Sparse-update a dimension (agent-tier). + * + *

200 - Successful response + *

422 - Validation Error + * @param dimensionId The dimensionId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param semanticDimensionUpdate The semanticDimensionUpdate parameter + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @return SemanticDimensionRead + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + private ResponseSpec updateRequestCreation(@jakarta.annotation.Nonnull String dimensionId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nonnull SemanticDimensionUpdate semanticDimensionUpdate, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + Object postBody = semanticDimensionUpdate; + // verify the required parameter 'dimensionId' is set + if (dimensionId == null) { + throw new WebClientResponseException("Missing the required parameter 'dimensionId' when calling update", HttpStatus.BAD_REQUEST.value(), HttpStatus.BAD_REQUEST.getReasonPhrase(), null, null, null); + } + // verify the required parameter 'xAgentToken' is set + if (xAgentToken == null) { + throw new WebClientResponseException("Missing the required parameter 'xAgentToken' when calling update", HttpStatus.BAD_REQUEST.value(), HttpStatus.BAD_REQUEST.getReasonPhrase(), null, null, null); + } + // verify the required parameter 'semanticDimensionUpdate' is set + if (semanticDimensionUpdate == null) { + throw new WebClientResponseException("Missing the required parameter 'semanticDimensionUpdate' when calling update", HttpStatus.BAD_REQUEST.value(), HttpStatus.BAD_REQUEST.getReasonPhrase(), null, null, null); + } + // create path and map variables + final Map pathParams = new HashMap(); + + pathParams.put("dimension_id", dimensionId); + + final MultiValueMap queryParams = new LinkedMultiValueMap(); + final HttpHeaders headerParams = new HttpHeaders(); + final MultiValueMap cookieParams = new LinkedMultiValueMap(); + final MultiValueMap formParams = new LinkedMultiValueMap(); + + if (xAgentToken != null) + headerParams.add("X-Agent-Token", apiClient.parameterToString(xAgentToken)); + if (xCorrelationId != null) + headerParams.add("X-Correlation-Id", apiClient.parameterToString(xCorrelationId)); + if (idempotencyKey != null) + headerParams.add("Idempotency-Key", apiClient.parameterToString(idempotencyKey)); + final String[] localVarAccepts = { + "application/json" + }; + final List localVarAccept = apiClient.selectHeaderAccept(localVarAccepts); + final String[] localVarContentTypes = { + "application/json" + }; + final MediaType localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes); + + String[] localVarAuthNames = new String[] { "AgentToken" }; + + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return apiClient.invokeAPI("/api/v1/agent/semantic/dimensions/{dimension_id}", HttpMethod.PUT, pathParams, queryParams, postBody, headerParams, cookieParams, formParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType); + } + + /** + * Sparse-update a dimension (agent-tier). + * + *

200 - Successful response + *

422 - Validation Error + * @param dimensionId The dimensionId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param semanticDimensionUpdate The semanticDimensionUpdate parameter + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @return SemanticDimensionRead + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public Mono update(@jakarta.annotation.Nonnull String dimensionId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nonnull SemanticDimensionUpdate semanticDimensionUpdate, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return updateRequestCreation(dimensionId, xAgentToken, semanticDimensionUpdate, xCorrelationId, idempotencyKey).bodyToMono(localVarReturnType); + } + + /** + * Sparse-update a dimension (agent-tier). + * + *

200 - Successful response + *

422 - Validation Error + * @param dimensionId The dimensionId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param semanticDimensionUpdate The semanticDimensionUpdate parameter + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @return ResponseEntity<SemanticDimensionRead> + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public Mono> updateWithHttpInfo(@jakarta.annotation.Nonnull String dimensionId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nonnull SemanticDimensionUpdate semanticDimensionUpdate, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return updateRequestCreation(dimensionId, xAgentToken, semanticDimensionUpdate, xCorrelationId, idempotencyKey).toEntity(localVarReturnType); + } + + /** + * Sparse-update a dimension (agent-tier). + * + *

200 - Successful response + *

422 - Validation Error + * @param dimensionId The dimensionId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param semanticDimensionUpdate The semanticDimensionUpdate parameter + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @return ResponseSpec + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public ResponseSpec updateWithResponseSpec(@jakarta.annotation.Nonnull String dimensionId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nonnull SemanticDimensionUpdate semanticDimensionUpdate, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + return updateRequestCreation(dimensionId, xAgentToken, semanticDimensionUpdate, xCorrelationId, idempotencyKey); + } +} diff --git a/sdks/java/src/main/java/com/firefly/flyquery/api/AgentSemanticMetricsApi.java b/sdks/java/src/main/java/com/firefly/flyquery/api/AgentSemanticMetricsApi.java new file mode 100644 index 0000000..277786d --- /dev/null +++ b/sdks/java/src/main/java/com/firefly/flyquery/api/AgentSemanticMetricsApi.java @@ -0,0 +1,744 @@ +package com.firefly.flyquery.api; + +import com.firefly.flyquery.ApiClient; + +import com.firefly.flyquery.model.HTTPValidationError; +import com.firefly.flyquery.model.PaginatedSemanticMetricRead; +import com.firefly.flyquery.model.PaginatedSemanticVersionRead; +import com.firefly.flyquery.model.SemanticMetricCreate; +import com.firefly.flyquery.model.SemanticMetricRead; +import com.firefly.flyquery.model.SemanticMetricUpdate; +import java.util.UUID; + +import java.util.HashMap; +import java.util.List; +import java.util.Locale; +import java.util.Map; +import java.util.Objects; +import java.util.Arrays; +import java.util.stream.Collectors; + +import org.springframework.core.io.FileSystemResource; +import org.springframework.core.ParameterizedTypeReference; +import org.springframework.http.HttpHeaders; +import org.springframework.http.HttpMethod; +import org.springframework.http.HttpStatus; +import org.springframework.http.MediaType; +import org.springframework.http.ResponseEntity; +import org.springframework.util.LinkedMultiValueMap; +import org.springframework.util.MultiValueMap; +import org.springframework.web.reactive.function.client.WebClient.ResponseSpec; +import org.springframework.web.reactive.function.client.WebClientResponseException; +import reactor.core.publisher.Mono; +import reactor.core.publisher.Flux; + +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +public class AgentSemanticMetricsApi { + private ApiClient apiClient; + + public AgentSemanticMetricsApi() { + this(new ApiClient()); + } + + public AgentSemanticMetricsApi(ApiClient apiClient) { + this.apiClient = apiClient; + } + + public ApiClient getApiClient() { + return apiClient; + } + + public void setApiClient(ApiClient apiClient) { + this.apiClient = apiClient; + } + + /** + * Create a metric in DRAFT (agent-tier). + * + *

201 - Successful response + *

422 - Validation Error + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param semanticMetricCreate The semanticMetricCreate parameter + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @return SemanticMetricRead + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + private ResponseSpec createRequestCreation(@jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nonnull SemanticMetricCreate semanticMetricCreate, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + Object postBody = semanticMetricCreate; + // verify the required parameter 'xAgentToken' is set + if (xAgentToken == null) { + throw new WebClientResponseException("Missing the required parameter 'xAgentToken' when calling create", HttpStatus.BAD_REQUEST.value(), HttpStatus.BAD_REQUEST.getReasonPhrase(), null, null, null); + } + // verify the required parameter 'semanticMetricCreate' is set + if (semanticMetricCreate == null) { + throw new WebClientResponseException("Missing the required parameter 'semanticMetricCreate' when calling create", HttpStatus.BAD_REQUEST.value(), HttpStatus.BAD_REQUEST.getReasonPhrase(), null, null, null); + } + // create path and map variables + final Map pathParams = new HashMap(); + + final MultiValueMap queryParams = new LinkedMultiValueMap(); + final HttpHeaders headerParams = new HttpHeaders(); + final MultiValueMap cookieParams = new LinkedMultiValueMap(); + final MultiValueMap formParams = new LinkedMultiValueMap(); + + if (xAgentToken != null) + headerParams.add("X-Agent-Token", apiClient.parameterToString(xAgentToken)); + if (xCorrelationId != null) + headerParams.add("X-Correlation-Id", apiClient.parameterToString(xCorrelationId)); + if (idempotencyKey != null) + headerParams.add("Idempotency-Key", apiClient.parameterToString(idempotencyKey)); + final String[] localVarAccepts = { + "application/json" + }; + final List localVarAccept = apiClient.selectHeaderAccept(localVarAccepts); + final String[] localVarContentTypes = { + "application/json" + }; + final MediaType localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes); + + String[] localVarAuthNames = new String[] { "AgentToken" }; + + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return apiClient.invokeAPI("/api/v1/agent/semantic/metrics", HttpMethod.POST, pathParams, queryParams, postBody, headerParams, cookieParams, formParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType); + } + + /** + * Create a metric in DRAFT (agent-tier). + * + *

201 - Successful response + *

422 - Validation Error + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param semanticMetricCreate The semanticMetricCreate parameter + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @return SemanticMetricRead + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public Mono create(@jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nonnull SemanticMetricCreate semanticMetricCreate, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return createRequestCreation(xAgentToken, semanticMetricCreate, xCorrelationId, idempotencyKey).bodyToMono(localVarReturnType); + } + + /** + * Create a metric in DRAFT (agent-tier). + * + *

201 - Successful response + *

422 - Validation Error + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param semanticMetricCreate The semanticMetricCreate parameter + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @return ResponseEntity<SemanticMetricRead> + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public Mono> createWithHttpInfo(@jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nonnull SemanticMetricCreate semanticMetricCreate, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return createRequestCreation(xAgentToken, semanticMetricCreate, xCorrelationId, idempotencyKey).toEntity(localVarReturnType); + } + + /** + * Create a metric in DRAFT (agent-tier). + * + *

201 - Successful response + *

422 - Validation Error + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param semanticMetricCreate The semanticMetricCreate parameter + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @return ResponseSpec + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public ResponseSpec createWithResponseSpec(@jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nonnull SemanticMetricCreate semanticMetricCreate, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + return createRequestCreation(xAgentToken, semanticMetricCreate, xCorrelationId, idempotencyKey); + } + + /** + * Fetch a single metric (agent-tier). + * + *

200 - Successful response + * @param metricId The metricId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @return SemanticMetricRead + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + private ResponseSpec getMetricRequestCreation(@jakarta.annotation.Nullable String metricId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + Object postBody = null; + // verify the required parameter 'metricId' is set + if (metricId == null) { + throw new WebClientResponseException("Missing the required parameter 'metricId' when calling getMetric", HttpStatus.BAD_REQUEST.value(), HttpStatus.BAD_REQUEST.getReasonPhrase(), null, null, null); + } + // verify the required parameter 'xAgentToken' is set + if (xAgentToken == null) { + throw new WebClientResponseException("Missing the required parameter 'xAgentToken' when calling getMetric", HttpStatus.BAD_REQUEST.value(), HttpStatus.BAD_REQUEST.getReasonPhrase(), null, null, null); + } + // create path and map variables + final Map pathParams = new HashMap(); + + pathParams.put("metric_id", metricId); + + final MultiValueMap queryParams = new LinkedMultiValueMap(); + final HttpHeaders headerParams = new HttpHeaders(); + final MultiValueMap cookieParams = new LinkedMultiValueMap(); + final MultiValueMap formParams = new LinkedMultiValueMap(); + + if (xAgentToken != null) + headerParams.add("X-Agent-Token", apiClient.parameterToString(xAgentToken)); + if (xCorrelationId != null) + headerParams.add("X-Correlation-Id", apiClient.parameterToString(xCorrelationId)); + final String[] localVarAccepts = { + "application/json" + }; + final List localVarAccept = apiClient.selectHeaderAccept(localVarAccepts); + final String[] localVarContentTypes = { }; + final MediaType localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes); + + String[] localVarAuthNames = new String[] { "AgentToken" }; + + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return apiClient.invokeAPI("/api/v1/agent/semantic/metrics/{metric_id}", HttpMethod.GET, pathParams, queryParams, postBody, headerParams, cookieParams, formParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType); + } + + /** + * Fetch a single metric (agent-tier). + * + *

200 - Successful response + * @param metricId The metricId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @return SemanticMetricRead + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public Mono getMetric(@jakarta.annotation.Nullable String metricId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return getMetricRequestCreation(metricId, xAgentToken, xCorrelationId).bodyToMono(localVarReturnType); + } + + /** + * Fetch a single metric (agent-tier). + * + *

200 - Successful response + * @param metricId The metricId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @return ResponseEntity<SemanticMetricRead> + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public Mono> getMetricWithHttpInfo(@jakarta.annotation.Nullable String metricId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return getMetricRequestCreation(metricId, xAgentToken, xCorrelationId).toEntity(localVarReturnType); + } + + /** + * Fetch a single metric (agent-tier). + * + *

200 - Successful response + * @param metricId The metricId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @return ResponseSpec + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public ResponseSpec getMetricWithResponseSpec(@jakarta.annotation.Nullable String metricId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + return getMetricRequestCreation(metricId, xAgentToken, xCorrelationId); + } + + /** + * Return version history for a metric (agent-tier). + * + *

200 - Successful response + * @param metricId The metricId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @return PaginatedSemanticVersionRead + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + private ResponseSpec historyRequestCreation(@jakarta.annotation.Nonnull String metricId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + Object postBody = null; + // verify the required parameter 'metricId' is set + if (metricId == null) { + throw new WebClientResponseException("Missing the required parameter 'metricId' when calling history", HttpStatus.BAD_REQUEST.value(), HttpStatus.BAD_REQUEST.getReasonPhrase(), null, null, null); + } + // verify the required parameter 'xAgentToken' is set + if (xAgentToken == null) { + throw new WebClientResponseException("Missing the required parameter 'xAgentToken' when calling history", HttpStatus.BAD_REQUEST.value(), HttpStatus.BAD_REQUEST.getReasonPhrase(), null, null, null); + } + // create path and map variables + final Map pathParams = new HashMap(); + + pathParams.put("metric_id", metricId); + + final MultiValueMap queryParams = new LinkedMultiValueMap(); + final HttpHeaders headerParams = new HttpHeaders(); + final MultiValueMap cookieParams = new LinkedMultiValueMap(); + final MultiValueMap formParams = new LinkedMultiValueMap(); + + if (xAgentToken != null) + headerParams.add("X-Agent-Token", apiClient.parameterToString(xAgentToken)); + if (xCorrelationId != null) + headerParams.add("X-Correlation-Id", apiClient.parameterToString(xCorrelationId)); + final String[] localVarAccepts = { + "application/json" + }; + final List localVarAccept = apiClient.selectHeaderAccept(localVarAccepts); + final String[] localVarContentTypes = { }; + final MediaType localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes); + + String[] localVarAuthNames = new String[] { "AgentToken" }; + + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return apiClient.invokeAPI("/api/v1/agent/semantic/metrics/{metric_id}/history", HttpMethod.GET, pathParams, queryParams, postBody, headerParams, cookieParams, formParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType); + } + + /** + * Return version history for a metric (agent-tier). + * + *

200 - Successful response + * @param metricId The metricId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @return PaginatedSemanticVersionRead + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public Mono history(@jakarta.annotation.Nonnull String metricId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return historyRequestCreation(metricId, xAgentToken, xCorrelationId).bodyToMono(localVarReturnType); + } + + /** + * Return version history for a metric (agent-tier). + * + *

200 - Successful response + * @param metricId The metricId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @return ResponseEntity<PaginatedSemanticVersionRead> + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public Mono> historyWithHttpInfo(@jakarta.annotation.Nonnull String metricId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return historyRequestCreation(metricId, xAgentToken, xCorrelationId).toEntity(localVarReturnType); + } + + /** + * Return version history for a metric (agent-tier). + * + *

200 - Successful response + * @param metricId The metricId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @return ResponseSpec + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public ResponseSpec historyWithResponseSpec(@jakarta.annotation.Nonnull String metricId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + return historyRequestCreation(metricId, xAgentToken, xCorrelationId); + } + + /** + * List metrics for the caller's workspace (agent-tier). + * + *

200 - Successful response + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param datasetId The datasetId parameter + * @param status The status parameter + * @param limit The limit parameter + * @param offset The offset parameter + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @return PaginatedSemanticMetricRead + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + private ResponseSpec listMetricsRequestCreation(@jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable String datasetId, @jakarta.annotation.Nullable String status, @jakarta.annotation.Nullable Integer limit, @jakarta.annotation.Nullable Integer offset, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + Object postBody = null; + // verify the required parameter 'xAgentToken' is set + if (xAgentToken == null) { + throw new WebClientResponseException("Missing the required parameter 'xAgentToken' when calling listMetrics", HttpStatus.BAD_REQUEST.value(), HttpStatus.BAD_REQUEST.getReasonPhrase(), null, null, null); + } + // create path and map variables + final Map pathParams = new HashMap(); + + final MultiValueMap queryParams = new LinkedMultiValueMap(); + final HttpHeaders headerParams = new HttpHeaders(); + final MultiValueMap cookieParams = new LinkedMultiValueMap(); + final MultiValueMap formParams = new LinkedMultiValueMap(); + + queryParams.putAll(apiClient.parameterToMultiValueMap(null, "dataset_id", datasetId)); + queryParams.putAll(apiClient.parameterToMultiValueMap(null, "status", status)); + queryParams.putAll(apiClient.parameterToMultiValueMap(null, "limit", limit)); + queryParams.putAll(apiClient.parameterToMultiValueMap(null, "offset", offset)); + + if (xAgentToken != null) + headerParams.add("X-Agent-Token", apiClient.parameterToString(xAgentToken)); + if (xCorrelationId != null) + headerParams.add("X-Correlation-Id", apiClient.parameterToString(xCorrelationId)); + final String[] localVarAccepts = { + "application/json" + }; + final List localVarAccept = apiClient.selectHeaderAccept(localVarAccepts); + final String[] localVarContentTypes = { }; + final MediaType localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes); + + String[] localVarAuthNames = new String[] { "AgentToken" }; + + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return apiClient.invokeAPI("/api/v1/agent/semantic/metrics", HttpMethod.GET, pathParams, queryParams, postBody, headerParams, cookieParams, formParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType); + } + + /** + * List metrics for the caller's workspace (agent-tier). + * + *

200 - Successful response + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param datasetId The datasetId parameter + * @param status The status parameter + * @param limit The limit parameter + * @param offset The offset parameter + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @return PaginatedSemanticMetricRead + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public Mono listMetrics(@jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable String datasetId, @jakarta.annotation.Nullable String status, @jakarta.annotation.Nullable Integer limit, @jakarta.annotation.Nullable Integer offset, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return listMetricsRequestCreation(xAgentToken, datasetId, status, limit, offset, xCorrelationId).bodyToMono(localVarReturnType); + } + + /** + * List metrics for the caller's workspace (agent-tier). + * + *

200 - Successful response + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param datasetId The datasetId parameter + * @param status The status parameter + * @param limit The limit parameter + * @param offset The offset parameter + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @return ResponseEntity<PaginatedSemanticMetricRead> + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public Mono> listMetricsWithHttpInfo(@jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable String datasetId, @jakarta.annotation.Nullable String status, @jakarta.annotation.Nullable Integer limit, @jakarta.annotation.Nullable Integer offset, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return listMetricsRequestCreation(xAgentToken, datasetId, status, limit, offset, xCorrelationId).toEntity(localVarReturnType); + } + + /** + * List metrics for the caller's workspace (agent-tier). + * + *

200 - Successful response + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param datasetId The datasetId parameter + * @param status The status parameter + * @param limit The limit parameter + * @param offset The offset parameter + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @return ResponseSpec + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public ResponseSpec listMetricsWithResponseSpec(@jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable String datasetId, @jakarta.annotation.Nullable String status, @jakarta.annotation.Nullable Integer limit, @jakarta.annotation.Nullable Integer offset, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + return listMetricsRequestCreation(xAgentToken, datasetId, status, limit, offset, xCorrelationId); + } + + /** + * Publish a metric (agent-tier). + * + *

200 - Successful response + * @param metricId The metricId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @return SemanticMetricRead + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + private ResponseSpec publishRequestCreation(@jakarta.annotation.Nonnull String metricId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + Object postBody = null; + // verify the required parameter 'metricId' is set + if (metricId == null) { + throw new WebClientResponseException("Missing the required parameter 'metricId' when calling publish", HttpStatus.BAD_REQUEST.value(), HttpStatus.BAD_REQUEST.getReasonPhrase(), null, null, null); + } + // verify the required parameter 'xAgentToken' is set + if (xAgentToken == null) { + throw new WebClientResponseException("Missing the required parameter 'xAgentToken' when calling publish", HttpStatus.BAD_REQUEST.value(), HttpStatus.BAD_REQUEST.getReasonPhrase(), null, null, null); + } + // create path and map variables + final Map pathParams = new HashMap(); + + pathParams.put("metric_id", metricId); + + final MultiValueMap queryParams = new LinkedMultiValueMap(); + final HttpHeaders headerParams = new HttpHeaders(); + final MultiValueMap cookieParams = new LinkedMultiValueMap(); + final MultiValueMap formParams = new LinkedMultiValueMap(); + + if (xAgentToken != null) + headerParams.add("X-Agent-Token", apiClient.parameterToString(xAgentToken)); + if (xCorrelationId != null) + headerParams.add("X-Correlation-Id", apiClient.parameterToString(xCorrelationId)); + if (idempotencyKey != null) + headerParams.add("Idempotency-Key", apiClient.parameterToString(idempotencyKey)); + final String[] localVarAccepts = { + "application/json" + }; + final List localVarAccept = apiClient.selectHeaderAccept(localVarAccepts); + final String[] localVarContentTypes = { }; + final MediaType localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes); + + String[] localVarAuthNames = new String[] { "AgentToken" }; + + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return apiClient.invokeAPI("/api/v1/agent/semantic/metrics/{metric_id}:publish", HttpMethod.POST, pathParams, queryParams, postBody, headerParams, cookieParams, formParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType); + } + + /** + * Publish a metric (agent-tier). + * + *

200 - Successful response + * @param metricId The metricId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @return SemanticMetricRead + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public Mono publish(@jakarta.annotation.Nonnull String metricId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return publishRequestCreation(metricId, xAgentToken, xCorrelationId, idempotencyKey).bodyToMono(localVarReturnType); + } + + /** + * Publish a metric (agent-tier). + * + *

200 - Successful response + * @param metricId The metricId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @return ResponseEntity<SemanticMetricRead> + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public Mono> publishWithHttpInfo(@jakarta.annotation.Nonnull String metricId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return publishRequestCreation(metricId, xAgentToken, xCorrelationId, idempotencyKey).toEntity(localVarReturnType); + } + + /** + * Publish a metric (agent-tier). + * + *

200 - Successful response + * @param metricId The metricId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @return ResponseSpec + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public ResponseSpec publishWithResponseSpec(@jakarta.annotation.Nonnull String metricId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + return publishRequestCreation(metricId, xAgentToken, xCorrelationId, idempotencyKey); + } + + /** + * Retire a metric (agent-tier). + * + *

200 - Successful response + * @param metricId The metricId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @return SemanticMetricRead + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + private ResponseSpec retireRequestCreation(@jakarta.annotation.Nonnull String metricId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + Object postBody = null; + // verify the required parameter 'metricId' is set + if (metricId == null) { + throw new WebClientResponseException("Missing the required parameter 'metricId' when calling retire", HttpStatus.BAD_REQUEST.value(), HttpStatus.BAD_REQUEST.getReasonPhrase(), null, null, null); + } + // verify the required parameter 'xAgentToken' is set + if (xAgentToken == null) { + throw new WebClientResponseException("Missing the required parameter 'xAgentToken' when calling retire", HttpStatus.BAD_REQUEST.value(), HttpStatus.BAD_REQUEST.getReasonPhrase(), null, null, null); + } + // create path and map variables + final Map pathParams = new HashMap(); + + pathParams.put("metric_id", metricId); + + final MultiValueMap queryParams = new LinkedMultiValueMap(); + final HttpHeaders headerParams = new HttpHeaders(); + final MultiValueMap cookieParams = new LinkedMultiValueMap(); + final MultiValueMap formParams = new LinkedMultiValueMap(); + + if (xAgentToken != null) + headerParams.add("X-Agent-Token", apiClient.parameterToString(xAgentToken)); + if (xCorrelationId != null) + headerParams.add("X-Correlation-Id", apiClient.parameterToString(xCorrelationId)); + if (idempotencyKey != null) + headerParams.add("Idempotency-Key", apiClient.parameterToString(idempotencyKey)); + final String[] localVarAccepts = { + "application/json" + }; + final List localVarAccept = apiClient.selectHeaderAccept(localVarAccepts); + final String[] localVarContentTypes = { }; + final MediaType localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes); + + String[] localVarAuthNames = new String[] { "AgentToken" }; + + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return apiClient.invokeAPI("/api/v1/agent/semantic/metrics/{metric_id}:retire", HttpMethod.POST, pathParams, queryParams, postBody, headerParams, cookieParams, formParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType); + } + + /** + * Retire a metric (agent-tier). + * + *

200 - Successful response + * @param metricId The metricId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @return SemanticMetricRead + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public Mono retire(@jakarta.annotation.Nonnull String metricId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return retireRequestCreation(metricId, xAgentToken, xCorrelationId, idempotencyKey).bodyToMono(localVarReturnType); + } + + /** + * Retire a metric (agent-tier). + * + *

200 - Successful response + * @param metricId The metricId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @return ResponseEntity<SemanticMetricRead> + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public Mono> retireWithHttpInfo(@jakarta.annotation.Nonnull String metricId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return retireRequestCreation(metricId, xAgentToken, xCorrelationId, idempotencyKey).toEntity(localVarReturnType); + } + + /** + * Retire a metric (agent-tier). + * + *

200 - Successful response + * @param metricId The metricId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @return ResponseSpec + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public ResponseSpec retireWithResponseSpec(@jakarta.annotation.Nonnull String metricId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + return retireRequestCreation(metricId, xAgentToken, xCorrelationId, idempotencyKey); + } + + /** + * Sparse-update a metric (agent-tier). + * + *

200 - Successful response + *

422 - Validation Error + * @param metricId The metricId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param semanticMetricUpdate The semanticMetricUpdate parameter + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @return SemanticMetricRead + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + private ResponseSpec updateRequestCreation(@jakarta.annotation.Nonnull String metricId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nonnull SemanticMetricUpdate semanticMetricUpdate, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + Object postBody = semanticMetricUpdate; + // verify the required parameter 'metricId' is set + if (metricId == null) { + throw new WebClientResponseException("Missing the required parameter 'metricId' when calling update", HttpStatus.BAD_REQUEST.value(), HttpStatus.BAD_REQUEST.getReasonPhrase(), null, null, null); + } + // verify the required parameter 'xAgentToken' is set + if (xAgentToken == null) { + throw new WebClientResponseException("Missing the required parameter 'xAgentToken' when calling update", HttpStatus.BAD_REQUEST.value(), HttpStatus.BAD_REQUEST.getReasonPhrase(), null, null, null); + } + // verify the required parameter 'semanticMetricUpdate' is set + if (semanticMetricUpdate == null) { + throw new WebClientResponseException("Missing the required parameter 'semanticMetricUpdate' when calling update", HttpStatus.BAD_REQUEST.value(), HttpStatus.BAD_REQUEST.getReasonPhrase(), null, null, null); + } + // create path and map variables + final Map pathParams = new HashMap(); + + pathParams.put("metric_id", metricId); + + final MultiValueMap queryParams = new LinkedMultiValueMap(); + final HttpHeaders headerParams = new HttpHeaders(); + final MultiValueMap cookieParams = new LinkedMultiValueMap(); + final MultiValueMap formParams = new LinkedMultiValueMap(); + + if (xAgentToken != null) + headerParams.add("X-Agent-Token", apiClient.parameterToString(xAgentToken)); + if (xCorrelationId != null) + headerParams.add("X-Correlation-Id", apiClient.parameterToString(xCorrelationId)); + if (idempotencyKey != null) + headerParams.add("Idempotency-Key", apiClient.parameterToString(idempotencyKey)); + final String[] localVarAccepts = { + "application/json" + }; + final List localVarAccept = apiClient.selectHeaderAccept(localVarAccepts); + final String[] localVarContentTypes = { + "application/json" + }; + final MediaType localVarContentType = apiClient.selectHeaderContentType(localVarContentTypes); + + String[] localVarAuthNames = new String[] { "AgentToken" }; + + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return apiClient.invokeAPI("/api/v1/agent/semantic/metrics/{metric_id}", HttpMethod.PUT, pathParams, queryParams, postBody, headerParams, cookieParams, formParams, localVarAccept, localVarContentType, localVarAuthNames, localVarReturnType); + } + + /** + * Sparse-update a metric (agent-tier). + * + *

200 - Successful response + *

422 - Validation Error + * @param metricId The metricId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param semanticMetricUpdate The semanticMetricUpdate parameter + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @return SemanticMetricRead + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public Mono update(@jakarta.annotation.Nonnull String metricId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nonnull SemanticMetricUpdate semanticMetricUpdate, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return updateRequestCreation(metricId, xAgentToken, semanticMetricUpdate, xCorrelationId, idempotencyKey).bodyToMono(localVarReturnType); + } + + /** + * Sparse-update a metric (agent-tier). + * + *

200 - Successful response + *

422 - Validation Error + * @param metricId The metricId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param semanticMetricUpdate The semanticMetricUpdate parameter + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @return ResponseEntity<SemanticMetricRead> + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public Mono> updateWithHttpInfo(@jakarta.annotation.Nonnull String metricId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nonnull SemanticMetricUpdate semanticMetricUpdate, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; + return updateRequestCreation(metricId, xAgentToken, semanticMetricUpdate, xCorrelationId, idempotencyKey).toEntity(localVarReturnType); + } + + /** + * Sparse-update a metric (agent-tier). + * + *

200 - Successful response + *

422 - Validation Error + * @param metricId The metricId parameter + * @param xAgentToken Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + * @param semanticMetricUpdate The semanticMetricUpdate parameter + * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + * @param idempotencyKey Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + * @return ResponseSpec + * @throws WebClientResponseException if an error occurs while attempting to invoke the API + */ + public ResponseSpec updateWithResponseSpec(@jakarta.annotation.Nonnull String metricId, @jakarta.annotation.Nonnull String xAgentToken, @jakarta.annotation.Nonnull SemanticMetricUpdate semanticMetricUpdate, @jakarta.annotation.Nullable UUID xCorrelationId, @jakarta.annotation.Nullable String idempotencyKey) throws WebClientResponseException { + return updateRequestCreation(metricId, xAgentToken, semanticMetricUpdate, xCorrelationId, idempotencyKey); + } +} diff --git a/sdks/java/src/main/java/com/firefly/flyquery/api/AgentSqlExecuteApi.java b/sdks/java/src/main/java/com/firefly/flyquery/api/AgentSqlExecuteApi.java index 9e54e40..2768367 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/api/AgentSqlExecuteApi.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/api/AgentSqlExecuteApi.java @@ -1,17 +1,3 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - package com.firefly.flyquery.api; import com.firefly.flyquery.ApiClient; @@ -43,7 +29,7 @@ import reactor.core.publisher.Mono; import reactor.core.publisher.Flux; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class AgentSqlExecuteApi { private ApiClient apiClient; diff --git a/sdks/java/src/main/java/com/firefly/flyquery/api/AgentTablesApi.java b/sdks/java/src/main/java/com/firefly/flyquery/api/AgentTablesApi.java index 1fe5009..85accda 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/api/AgentTablesApi.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/api/AgentTablesApi.java @@ -1,17 +1,3 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - package com.firefly.flyquery.api; import com.firefly.flyquery.ApiClient; @@ -42,7 +28,7 @@ import reactor.core.publisher.Mono; import reactor.core.publisher.Flux; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class AgentTablesApi { private ApiClient apiClient; diff --git a/sdks/java/src/main/java/com/firefly/flyquery/api/AgentTokensApi.java b/sdks/java/src/main/java/com/firefly/flyquery/api/AgentTokensApi.java index f5f3a68..6b2cc96 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/api/AgentTokensApi.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/api/AgentTokensApi.java @@ -1,17 +1,3 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - package com.firefly.flyquery.api; import com.firefly.flyquery.ApiClient; @@ -44,7 +30,7 @@ import reactor.core.publisher.Mono; import reactor.core.publisher.Flux; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class AgentTokensApi { private ApiClient apiClient; diff --git a/sdks/java/src/main/java/com/firefly/flyquery/api/AgentVersionApi.java b/sdks/java/src/main/java/com/firefly/flyquery/api/AgentVersionApi.java index 8c570ac..455a683 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/api/AgentVersionApi.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/api/AgentVersionApi.java @@ -1,17 +1,3 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - package com.firefly.flyquery.api; import com.firefly.flyquery.ApiClient; @@ -40,7 +26,7 @@ import reactor.core.publisher.Mono; import reactor.core.publisher.Flux; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class AgentVersionApi { private ApiClient apiClient; diff --git a/sdks/java/src/main/java/com/firefly/flyquery/api/AuditEventsApi.java b/sdks/java/src/main/java/com/firefly/flyquery/api/AuditEventsApi.java index 0d7ba20..db3fd53 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/api/AuditEventsApi.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/api/AuditEventsApi.java @@ -1,17 +1,3 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - package com.firefly.flyquery.api; import com.firefly.flyquery.ApiClient; @@ -41,7 +27,7 @@ import reactor.core.publisher.Mono; import reactor.core.publisher.Flux; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class AuditEventsApi { private ApiClient apiClient; diff --git a/sdks/java/src/main/java/com/firefly/flyquery/api/BillingApi.java b/sdks/java/src/main/java/com/firefly/flyquery/api/BillingApi.java index c6d887d..01b178c 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/api/BillingApi.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/api/BillingApi.java @@ -1,17 +1,3 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - package com.firefly.flyquery.api; import com.firefly.flyquery.ApiClient; @@ -41,7 +27,7 @@ import reactor.core.publisher.Mono; import reactor.core.publisher.Flux; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class BillingApi { private ApiClient apiClient; diff --git a/sdks/java/src/main/java/com/firefly/flyquery/api/ConversationsApi.java b/sdks/java/src/main/java/com/firefly/flyquery/api/ConversationsApi.java index a99e4d2..a8a382c 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/api/ConversationsApi.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/api/ConversationsApi.java @@ -1,17 +1,3 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - package com.firefly.flyquery.api; import com.firefly.flyquery.ApiClient; @@ -46,7 +32,7 @@ import reactor.core.publisher.Mono; import reactor.core.publisher.Flux; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class ConversationsApi { private ApiClient apiClient; diff --git a/sdks/java/src/main/java/com/firefly/flyquery/api/CostEventsApi.java b/sdks/java/src/main/java/com/firefly/flyquery/api/CostEventsApi.java index cf326d1..21e3acd 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/api/CostEventsApi.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/api/CostEventsApi.java @@ -1,17 +1,3 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - package com.firefly.flyquery.api; import com.firefly.flyquery.ApiClient; @@ -41,7 +27,7 @@ import reactor.core.publisher.Mono; import reactor.core.publisher.Flux; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class CostEventsApi { private ApiClient apiClient; diff --git a/sdks/java/src/main/java/com/firefly/flyquery/api/DatasetsApi.java b/sdks/java/src/main/java/com/firefly/flyquery/api/DatasetsApi.java index e8c04b6..3be0098 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/api/DatasetsApi.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/api/DatasetsApi.java @@ -1,17 +1,3 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - package com.firefly.flyquery.api; import com.firefly.flyquery.ApiClient; @@ -46,7 +32,7 @@ import reactor.core.publisher.Mono; import reactor.core.publisher.Flux; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class DatasetsApi { private ApiClient apiClient; diff --git a/sdks/java/src/main/java/com/firefly/flyquery/api/ExamplesApi.java b/sdks/java/src/main/java/com/firefly/flyquery/api/ExamplesApi.java index 60a173f..38ab668 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/api/ExamplesApi.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/api/ExamplesApi.java @@ -1,17 +1,3 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - package com.firefly.flyquery.api; import com.firefly.flyquery.ApiClient; @@ -44,7 +30,7 @@ import reactor.core.publisher.Mono; import reactor.core.publisher.Flux; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class ExamplesApi { private ApiClient apiClient; diff --git a/sdks/java/src/main/java/com/firefly/flyquery/api/FilesApi.java b/sdks/java/src/main/java/com/firefly/flyquery/api/FilesApi.java index abc9d26..12b8fdd 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/api/FilesApi.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/api/FilesApi.java @@ -1,17 +1,3 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - package com.firefly.flyquery.api; import com.firefly.flyquery.ApiClient; @@ -43,7 +29,7 @@ import reactor.core.publisher.Mono; import reactor.core.publisher.Flux; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class FilesApi { private ApiClient apiClient; diff --git a/sdks/java/src/main/java/com/firefly/flyquery/api/GlossaryApi.java b/sdks/java/src/main/java/com/firefly/flyquery/api/GlossaryApi.java index 860a5c0..61960c1 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/api/GlossaryApi.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/api/GlossaryApi.java @@ -1,17 +1,3 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - package com.firefly.flyquery.api; import com.firefly.flyquery.ApiClient; @@ -45,7 +31,7 @@ import reactor.core.publisher.Mono; import reactor.core.publisher.Flux; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class GlossaryApi { private ApiClient apiClient; @@ -289,7 +275,7 @@ public ResponseSpec deleteWithResponseSpec(@jakarta.annotation.Nonnull String te * @return GlossaryTermRead * @throws WebClientResponseException if an error occurs while attempting to invoke the API */ - private ResponseSpec getTermRequestCreation(@jakarta.annotation.Nullable String termId, @jakarta.annotation.Nonnull String xTenantId, @jakarta.annotation.Nonnull String xWorkspaceId, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + private ResponseSpec getTermRequestCreation(@jakarta.annotation.Nonnull String termId, @jakarta.annotation.Nonnull String xTenantId, @jakarta.annotation.Nonnull String xWorkspaceId, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { Object postBody = null; // verify the required parameter 'termId' is set if (termId == null) { @@ -343,7 +329,7 @@ private ResponseSpec getTermRequestCreation(@jakarta.annotation.Nullable String * @return GlossaryTermRead * @throws WebClientResponseException if an error occurs while attempting to invoke the API */ - public Mono getTerm(@jakarta.annotation.Nullable String termId, @jakarta.annotation.Nonnull String xTenantId, @jakarta.annotation.Nonnull String xWorkspaceId, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + public Mono getTerm(@jakarta.annotation.Nonnull String termId, @jakarta.annotation.Nonnull String xTenantId, @jakarta.annotation.Nonnull String xWorkspaceId, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; return getTermRequestCreation(termId, xTenantId, xWorkspaceId, xCorrelationId).bodyToMono(localVarReturnType); } @@ -359,7 +345,7 @@ public Mono getTerm(@jakarta.annotation.Nullable String termId * @return ResponseEntity<GlossaryTermRead> * @throws WebClientResponseException if an error occurs while attempting to invoke the API */ - public Mono> getTermWithHttpInfo(@jakarta.annotation.Nullable String termId, @jakarta.annotation.Nonnull String xTenantId, @jakarta.annotation.Nonnull String xWorkspaceId, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + public Mono> getTermWithHttpInfo(@jakarta.annotation.Nonnull String termId, @jakarta.annotation.Nonnull String xTenantId, @jakarta.annotation.Nonnull String xWorkspaceId, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; return getTermRequestCreation(termId, xTenantId, xWorkspaceId, xCorrelationId).toEntity(localVarReturnType); } @@ -375,7 +361,7 @@ public Mono> getTermWithHttpInfo(@jakarta.annot * @return ResponseSpec * @throws WebClientResponseException if an error occurs while attempting to invoke the API */ - public ResponseSpec getTermWithResponseSpec(@jakarta.annotation.Nullable String termId, @jakarta.annotation.Nonnull String xTenantId, @jakarta.annotation.Nonnull String xWorkspaceId, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + public ResponseSpec getTermWithResponseSpec(@jakarta.annotation.Nonnull String termId, @jakarta.annotation.Nonnull String xTenantId, @jakarta.annotation.Nonnull String xWorkspaceId, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { return getTermRequestCreation(termId, xTenantId, xWorkspaceId, xCorrelationId); } diff --git a/sdks/java/src/main/java/com/firefly/flyquery/api/IngestJobsApi.java b/sdks/java/src/main/java/com/firefly/flyquery/api/IngestJobsApi.java index 4d286b3..4034d28 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/api/IngestJobsApi.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/api/IngestJobsApi.java @@ -1,17 +1,3 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - package com.firefly.flyquery.api; import com.firefly.flyquery.ApiClient; @@ -47,7 +33,7 @@ import reactor.core.publisher.Mono; import reactor.core.publisher.Flux; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class IngestJobsApi { private ApiClient apiClient; diff --git a/sdks/java/src/main/java/com/firefly/flyquery/api/QueriesApi.java b/sdks/java/src/main/java/com/firefly/flyquery/api/QueriesApi.java index 58eff15..bf608b7 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/api/QueriesApi.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/api/QueriesApi.java @@ -1,17 +1,3 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - package com.firefly.flyquery.api; import com.firefly.flyquery.ApiClient; @@ -43,7 +29,7 @@ import reactor.core.publisher.Mono; import reactor.core.publisher.Flux; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class QueriesApi { private ApiClient apiClient; diff --git a/sdks/java/src/main/java/com/firefly/flyquery/api/QueryApi.java b/sdks/java/src/main/java/com/firefly/flyquery/api/QueryApi.java index 6b73a9e..9e573a4 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/api/QueryApi.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/api/QueryApi.java @@ -1,17 +1,3 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - package com.firefly.flyquery.api; import com.firefly.flyquery.ApiClient; @@ -47,7 +33,7 @@ import reactor.core.publisher.Mono; import reactor.core.publisher.Flux; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class QueryApi { private ApiClient apiClient; diff --git a/sdks/java/src/main/java/com/firefly/flyquery/api/RelationsApi.java b/sdks/java/src/main/java/com/firefly/flyquery/api/RelationsApi.java index 8cd5d90..83768c2 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/api/RelationsApi.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/api/RelationsApi.java @@ -1,17 +1,3 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - package com.firefly.flyquery.api; import com.firefly.flyquery.ApiClient; @@ -43,7 +29,7 @@ import reactor.core.publisher.Mono; import reactor.core.publisher.Flux; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class RelationsApi { private ApiClient apiClient; diff --git a/sdks/java/src/main/java/com/firefly/flyquery/api/SchemaChangesApi.java b/sdks/java/src/main/java/com/firefly/flyquery/api/SchemaChangesApi.java index 85c1898..266f318 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/api/SchemaChangesApi.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/api/SchemaChangesApi.java @@ -1,17 +1,3 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - package com.firefly.flyquery.api; import com.firefly.flyquery.ApiClient; @@ -41,7 +27,7 @@ import reactor.core.publisher.Mono; import reactor.core.publisher.Flux; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class SchemaChangesApi { private ApiClient apiClient; diff --git a/sdks/java/src/main/java/com/firefly/flyquery/api/SchemaObjectsApi.java b/sdks/java/src/main/java/com/firefly/flyquery/api/SchemaObjectsApi.java index d96982b..07bb5c3 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/api/SchemaObjectsApi.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/api/SchemaObjectsApi.java @@ -1,17 +1,3 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - package com.firefly.flyquery.api; import com.firefly.flyquery.ApiClient; @@ -43,7 +29,7 @@ import reactor.core.publisher.Mono; import reactor.core.publisher.Flux; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class SchemaObjectsApi { private ApiClient apiClient; diff --git a/sdks/java/src/main/java/com/firefly/flyquery/api/SemanticDimensionsApi.java b/sdks/java/src/main/java/com/firefly/flyquery/api/SemanticDimensionsApi.java index e59bca3..3ed86cd 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/api/SemanticDimensionsApi.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/api/SemanticDimensionsApi.java @@ -1,17 +1,3 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - package com.firefly.flyquery.api; import com.firefly.flyquery.ApiClient; @@ -46,7 +32,7 @@ import reactor.core.publisher.Mono; import reactor.core.publisher.Flux; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class SemanticDimensionsApi { private ApiClient apiClient; @@ -188,7 +174,7 @@ public ResponseSpec createWithResponseSpec(@jakarta.annotation.Nonnull String xT * @return SemanticDimensionRead * @throws WebClientResponseException if an error occurs while attempting to invoke the API */ - private ResponseSpec getDimensionRequestCreation(@jakarta.annotation.Nullable String dimensionId, @jakarta.annotation.Nonnull String xTenantId, @jakarta.annotation.Nonnull String xWorkspaceId, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + private ResponseSpec getDimensionRequestCreation(@jakarta.annotation.Nonnull String dimensionId, @jakarta.annotation.Nonnull String xTenantId, @jakarta.annotation.Nonnull String xWorkspaceId, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { Object postBody = null; // verify the required parameter 'dimensionId' is set if (dimensionId == null) { @@ -242,7 +228,7 @@ private ResponseSpec getDimensionRequestCreation(@jakarta.annotation.Nullable St * @return SemanticDimensionRead * @throws WebClientResponseException if an error occurs while attempting to invoke the API */ - public Mono getDimension(@jakarta.annotation.Nullable String dimensionId, @jakarta.annotation.Nonnull String xTenantId, @jakarta.annotation.Nonnull String xWorkspaceId, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + public Mono getDimension(@jakarta.annotation.Nonnull String dimensionId, @jakarta.annotation.Nonnull String xTenantId, @jakarta.annotation.Nonnull String xWorkspaceId, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; return getDimensionRequestCreation(dimensionId, xTenantId, xWorkspaceId, xCorrelationId).bodyToMono(localVarReturnType); } @@ -258,7 +244,7 @@ public Mono getDimension(@jakarta.annotation.Nullable Str * @return ResponseEntity<SemanticDimensionRead> * @throws WebClientResponseException if an error occurs while attempting to invoke the API */ - public Mono> getDimensionWithHttpInfo(@jakarta.annotation.Nullable String dimensionId, @jakarta.annotation.Nonnull String xTenantId, @jakarta.annotation.Nonnull String xWorkspaceId, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + public Mono> getDimensionWithHttpInfo(@jakarta.annotation.Nonnull String dimensionId, @jakarta.annotation.Nonnull String xTenantId, @jakarta.annotation.Nonnull String xWorkspaceId, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; return getDimensionRequestCreation(dimensionId, xTenantId, xWorkspaceId, xCorrelationId).toEntity(localVarReturnType); } @@ -274,7 +260,7 @@ public Mono> getDimensionWithHttpInfo(@jak * @return ResponseSpec * @throws WebClientResponseException if an error occurs while attempting to invoke the API */ - public ResponseSpec getDimensionWithResponseSpec(@jakarta.annotation.Nullable String dimensionId, @jakarta.annotation.Nonnull String xTenantId, @jakarta.annotation.Nonnull String xWorkspaceId, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + public ResponseSpec getDimensionWithResponseSpec(@jakarta.annotation.Nonnull String dimensionId, @jakarta.annotation.Nonnull String xTenantId, @jakarta.annotation.Nonnull String xWorkspaceId, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { return getDimensionRequestCreation(dimensionId, xTenantId, xWorkspaceId, xCorrelationId); } @@ -380,19 +366,20 @@ public ResponseSpec historyWithResponseSpec(@jakarta.annotation.Nonnull String d } /** - * List all semantic dimensions for the caller's workspace. + * List semantic dimensions for the caller's workspace (optional status filter). * *

200 - Successful response * @param xTenantId Tenant slug. Required on every non-agent endpoint -- bounds the row-level security policy and appears in every audit event. Must match the JWT tenant claim if Authorization is also present. * @param xWorkspaceId Workspace identifier. Accepts either the workspace UUID or its slug -- the slug form lets SDKs avoid carrying UUIDs around. Used to scope every query, ingest, and schema KB operation. * @param datasetId The datasetId parameter + * @param status The status parameter * @param limit The limit parameter * @param offset The offset parameter * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. * @return PaginatedSemanticDimensionRead * @throws WebClientResponseException if an error occurs while attempting to invoke the API */ - private ResponseSpec listDimensionsRequestCreation(@jakarta.annotation.Nonnull String xTenantId, @jakarta.annotation.Nonnull String xWorkspaceId, @jakarta.annotation.Nullable String datasetId, @jakarta.annotation.Nullable Integer limit, @jakarta.annotation.Nullable Integer offset, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + private ResponseSpec listDimensionsRequestCreation(@jakarta.annotation.Nonnull String xTenantId, @jakarta.annotation.Nonnull String xWorkspaceId, @jakarta.annotation.Nullable String datasetId, @jakarta.annotation.Nullable String status, @jakarta.annotation.Nullable Integer limit, @jakarta.annotation.Nullable Integer offset, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { Object postBody = null; // verify the required parameter 'xTenantId' is set if (xTenantId == null) { @@ -411,6 +398,7 @@ private ResponseSpec listDimensionsRequestCreation(@jakarta.annotation.Nonnull S final MultiValueMap formParams = new LinkedMultiValueMap(); queryParams.putAll(apiClient.parameterToMultiValueMap(null, "dataset_id", datasetId)); + queryParams.putAll(apiClient.parameterToMultiValueMap(null, "status", status)); queryParams.putAll(apiClient.parameterToMultiValueMap(null, "limit", limit)); queryParams.putAll(apiClient.parameterToMultiValueMap(null, "offset", offset)); @@ -434,56 +422,59 @@ private ResponseSpec listDimensionsRequestCreation(@jakarta.annotation.Nonnull S } /** - * List all semantic dimensions for the caller's workspace. + * List semantic dimensions for the caller's workspace (optional status filter). * *

200 - Successful response * @param xTenantId Tenant slug. Required on every non-agent endpoint -- bounds the row-level security policy and appears in every audit event. Must match the JWT tenant claim if Authorization is also present. * @param xWorkspaceId Workspace identifier. Accepts either the workspace UUID or its slug -- the slug form lets SDKs avoid carrying UUIDs around. Used to scope every query, ingest, and schema KB operation. * @param datasetId The datasetId parameter + * @param status The status parameter * @param limit The limit parameter * @param offset The offset parameter * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. * @return PaginatedSemanticDimensionRead * @throws WebClientResponseException if an error occurs while attempting to invoke the API */ - public Mono listDimensions(@jakarta.annotation.Nonnull String xTenantId, @jakarta.annotation.Nonnull String xWorkspaceId, @jakarta.annotation.Nullable String datasetId, @jakarta.annotation.Nullable Integer limit, @jakarta.annotation.Nullable Integer offset, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + public Mono listDimensions(@jakarta.annotation.Nonnull String xTenantId, @jakarta.annotation.Nonnull String xWorkspaceId, @jakarta.annotation.Nullable String datasetId, @jakarta.annotation.Nullable String status, @jakarta.annotation.Nullable Integer limit, @jakarta.annotation.Nullable Integer offset, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; - return listDimensionsRequestCreation(xTenantId, xWorkspaceId, datasetId, limit, offset, xCorrelationId).bodyToMono(localVarReturnType); + return listDimensionsRequestCreation(xTenantId, xWorkspaceId, datasetId, status, limit, offset, xCorrelationId).bodyToMono(localVarReturnType); } /** - * List all semantic dimensions for the caller's workspace. + * List semantic dimensions for the caller's workspace (optional status filter). * *

200 - Successful response * @param xTenantId Tenant slug. Required on every non-agent endpoint -- bounds the row-level security policy and appears in every audit event. Must match the JWT tenant claim if Authorization is also present. * @param xWorkspaceId Workspace identifier. Accepts either the workspace UUID or its slug -- the slug form lets SDKs avoid carrying UUIDs around. Used to scope every query, ingest, and schema KB operation. * @param datasetId The datasetId parameter + * @param status The status parameter * @param limit The limit parameter * @param offset The offset parameter * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. * @return ResponseEntity<PaginatedSemanticDimensionRead> * @throws WebClientResponseException if an error occurs while attempting to invoke the API */ - public Mono> listDimensionsWithHttpInfo(@jakarta.annotation.Nonnull String xTenantId, @jakarta.annotation.Nonnull String xWorkspaceId, @jakarta.annotation.Nullable String datasetId, @jakarta.annotation.Nullable Integer limit, @jakarta.annotation.Nullable Integer offset, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + public Mono> listDimensionsWithHttpInfo(@jakarta.annotation.Nonnull String xTenantId, @jakarta.annotation.Nonnull String xWorkspaceId, @jakarta.annotation.Nullable String datasetId, @jakarta.annotation.Nullable String status, @jakarta.annotation.Nullable Integer limit, @jakarta.annotation.Nullable Integer offset, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; - return listDimensionsRequestCreation(xTenantId, xWorkspaceId, datasetId, limit, offset, xCorrelationId).toEntity(localVarReturnType); + return listDimensionsRequestCreation(xTenantId, xWorkspaceId, datasetId, status, limit, offset, xCorrelationId).toEntity(localVarReturnType); } /** - * List all semantic dimensions for the caller's workspace. + * List semantic dimensions for the caller's workspace (optional status filter). * *

200 - Successful response * @param xTenantId Tenant slug. Required on every non-agent endpoint -- bounds the row-level security policy and appears in every audit event. Must match the JWT tenant claim if Authorization is also present. * @param xWorkspaceId Workspace identifier. Accepts either the workspace UUID or its slug -- the slug form lets SDKs avoid carrying UUIDs around. Used to scope every query, ingest, and schema KB operation. * @param datasetId The datasetId parameter + * @param status The status parameter * @param limit The limit parameter * @param offset The offset parameter * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. * @return ResponseSpec * @throws WebClientResponseException if an error occurs while attempting to invoke the API */ - public ResponseSpec listDimensionsWithResponseSpec(@jakarta.annotation.Nonnull String xTenantId, @jakarta.annotation.Nonnull String xWorkspaceId, @jakarta.annotation.Nullable String datasetId, @jakarta.annotation.Nullable Integer limit, @jakarta.annotation.Nullable Integer offset, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { - return listDimensionsRequestCreation(xTenantId, xWorkspaceId, datasetId, limit, offset, xCorrelationId); + public ResponseSpec listDimensionsWithResponseSpec(@jakarta.annotation.Nonnull String xTenantId, @jakarta.annotation.Nonnull String xWorkspaceId, @jakarta.annotation.Nullable String datasetId, @jakarta.annotation.Nullable String status, @jakarta.annotation.Nullable Integer limit, @jakarta.annotation.Nullable Integer offset, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + return listDimensionsRequestCreation(xTenantId, xWorkspaceId, datasetId, status, limit, offset, xCorrelationId); } /** @@ -701,7 +692,7 @@ public ResponseSpec retireWithResponseSpec(@jakarta.annotation.Nonnull String di } /** - * Sparse-update a dimension; re-validates YAML if definition changes. + * Sparse-update a dimension; re-validates + recompiles if published. * *

200 - Successful response *

422 - Validation Error @@ -766,7 +757,7 @@ private ResponseSpec updateRequestCreation(@jakarta.annotation.Nonnull String di } /** - * Sparse-update a dimension; re-validates YAML if definition changes. + * Sparse-update a dimension; re-validates + recompiles if published. * *

200 - Successful response *

422 - Validation Error @@ -785,7 +776,7 @@ public Mono update(@jakarta.annotation.Nonnull String dim } /** - * Sparse-update a dimension; re-validates YAML if definition changes. + * Sparse-update a dimension; re-validates + recompiles if published. * *

200 - Successful response *

422 - Validation Error @@ -804,7 +795,7 @@ public Mono> updateWithHttpInfo(@jakarta.a } /** - * Sparse-update a dimension; re-validates YAML if definition changes. + * Sparse-update a dimension; re-validates + recompiles if published. * *

200 - Successful response *

422 - Validation Error diff --git a/sdks/java/src/main/java/com/firefly/flyquery/api/SemanticMetricsApi.java b/sdks/java/src/main/java/com/firefly/flyquery/api/SemanticMetricsApi.java index b34a5f1..5424ebd 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/api/SemanticMetricsApi.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/api/SemanticMetricsApi.java @@ -1,17 +1,3 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - package com.firefly.flyquery.api; import com.firefly.flyquery.ApiClient; @@ -46,7 +32,7 @@ import reactor.core.publisher.Mono; import reactor.core.publisher.Flux; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class SemanticMetricsApi { private ApiClient apiClient; @@ -188,7 +174,7 @@ public ResponseSpec createWithResponseSpec(@jakarta.annotation.Nonnull String xT * @return SemanticMetricRead * @throws WebClientResponseException if an error occurs while attempting to invoke the API */ - private ResponseSpec getMetricRequestCreation(@jakarta.annotation.Nullable String metricId, @jakarta.annotation.Nonnull String xTenantId, @jakarta.annotation.Nonnull String xWorkspaceId, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + private ResponseSpec getMetricRequestCreation(@jakarta.annotation.Nonnull String metricId, @jakarta.annotation.Nonnull String xTenantId, @jakarta.annotation.Nonnull String xWorkspaceId, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { Object postBody = null; // verify the required parameter 'metricId' is set if (metricId == null) { @@ -242,7 +228,7 @@ private ResponseSpec getMetricRequestCreation(@jakarta.annotation.Nullable Strin * @return SemanticMetricRead * @throws WebClientResponseException if an error occurs while attempting to invoke the API */ - public Mono getMetric(@jakarta.annotation.Nullable String metricId, @jakarta.annotation.Nonnull String xTenantId, @jakarta.annotation.Nonnull String xWorkspaceId, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + public Mono getMetric(@jakarta.annotation.Nonnull String metricId, @jakarta.annotation.Nonnull String xTenantId, @jakarta.annotation.Nonnull String xWorkspaceId, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; return getMetricRequestCreation(metricId, xTenantId, xWorkspaceId, xCorrelationId).bodyToMono(localVarReturnType); } @@ -258,7 +244,7 @@ public Mono getMetric(@jakarta.annotation.Nullable String me * @return ResponseEntity<SemanticMetricRead> * @throws WebClientResponseException if an error occurs while attempting to invoke the API */ - public Mono> getMetricWithHttpInfo(@jakarta.annotation.Nullable String metricId, @jakarta.annotation.Nonnull String xTenantId, @jakarta.annotation.Nonnull String xWorkspaceId, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + public Mono> getMetricWithHttpInfo(@jakarta.annotation.Nonnull String metricId, @jakarta.annotation.Nonnull String xTenantId, @jakarta.annotation.Nonnull String xWorkspaceId, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; return getMetricRequestCreation(metricId, xTenantId, xWorkspaceId, xCorrelationId).toEntity(localVarReturnType); } @@ -274,7 +260,7 @@ public Mono> getMetricWithHttpInfo(@jakarta.a * @return ResponseSpec * @throws WebClientResponseException if an error occurs while attempting to invoke the API */ - public ResponseSpec getMetricWithResponseSpec(@jakarta.annotation.Nullable String metricId, @jakarta.annotation.Nonnull String xTenantId, @jakarta.annotation.Nonnull String xWorkspaceId, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + public ResponseSpec getMetricWithResponseSpec(@jakarta.annotation.Nonnull String metricId, @jakarta.annotation.Nonnull String xTenantId, @jakarta.annotation.Nonnull String xWorkspaceId, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { return getMetricRequestCreation(metricId, xTenantId, xWorkspaceId, xCorrelationId); } @@ -380,19 +366,20 @@ public ResponseSpec historyWithResponseSpec(@jakarta.annotation.Nonnull String m } /** - * List all semantic metrics for the caller's workspace. + * List semantic metrics for the caller's workspace (optional status filter). * *

200 - Successful response * @param xTenantId Tenant slug. Required on every non-agent endpoint -- bounds the row-level security policy and appears in every audit event. Must match the JWT tenant claim if Authorization is also present. * @param xWorkspaceId Workspace identifier. Accepts either the workspace UUID or its slug -- the slug form lets SDKs avoid carrying UUIDs around. Used to scope every query, ingest, and schema KB operation. * @param datasetId The datasetId parameter + * @param status The status parameter * @param limit The limit parameter * @param offset The offset parameter * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. * @return PaginatedSemanticMetricRead * @throws WebClientResponseException if an error occurs while attempting to invoke the API */ - private ResponseSpec listMetricsRequestCreation(@jakarta.annotation.Nonnull String xTenantId, @jakarta.annotation.Nonnull String xWorkspaceId, @jakarta.annotation.Nullable String datasetId, @jakarta.annotation.Nullable Integer limit, @jakarta.annotation.Nullable Integer offset, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + private ResponseSpec listMetricsRequestCreation(@jakarta.annotation.Nonnull String xTenantId, @jakarta.annotation.Nonnull String xWorkspaceId, @jakarta.annotation.Nullable String datasetId, @jakarta.annotation.Nullable String status, @jakarta.annotation.Nullable Integer limit, @jakarta.annotation.Nullable Integer offset, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { Object postBody = null; // verify the required parameter 'xTenantId' is set if (xTenantId == null) { @@ -411,6 +398,7 @@ private ResponseSpec listMetricsRequestCreation(@jakarta.annotation.Nonnull Stri final MultiValueMap formParams = new LinkedMultiValueMap(); queryParams.putAll(apiClient.parameterToMultiValueMap(null, "dataset_id", datasetId)); + queryParams.putAll(apiClient.parameterToMultiValueMap(null, "status", status)); queryParams.putAll(apiClient.parameterToMultiValueMap(null, "limit", limit)); queryParams.putAll(apiClient.parameterToMultiValueMap(null, "offset", offset)); @@ -434,56 +422,59 @@ private ResponseSpec listMetricsRequestCreation(@jakarta.annotation.Nonnull Stri } /** - * List all semantic metrics for the caller's workspace. + * List semantic metrics for the caller's workspace (optional status filter). * *

200 - Successful response * @param xTenantId Tenant slug. Required on every non-agent endpoint -- bounds the row-level security policy and appears in every audit event. Must match the JWT tenant claim if Authorization is also present. * @param xWorkspaceId Workspace identifier. Accepts either the workspace UUID or its slug -- the slug form lets SDKs avoid carrying UUIDs around. Used to scope every query, ingest, and schema KB operation. * @param datasetId The datasetId parameter + * @param status The status parameter * @param limit The limit parameter * @param offset The offset parameter * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. * @return PaginatedSemanticMetricRead * @throws WebClientResponseException if an error occurs while attempting to invoke the API */ - public Mono listMetrics(@jakarta.annotation.Nonnull String xTenantId, @jakarta.annotation.Nonnull String xWorkspaceId, @jakarta.annotation.Nullable String datasetId, @jakarta.annotation.Nullable Integer limit, @jakarta.annotation.Nullable Integer offset, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + public Mono listMetrics(@jakarta.annotation.Nonnull String xTenantId, @jakarta.annotation.Nonnull String xWorkspaceId, @jakarta.annotation.Nullable String datasetId, @jakarta.annotation.Nullable String status, @jakarta.annotation.Nullable Integer limit, @jakarta.annotation.Nullable Integer offset, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; - return listMetricsRequestCreation(xTenantId, xWorkspaceId, datasetId, limit, offset, xCorrelationId).bodyToMono(localVarReturnType); + return listMetricsRequestCreation(xTenantId, xWorkspaceId, datasetId, status, limit, offset, xCorrelationId).bodyToMono(localVarReturnType); } /** - * List all semantic metrics for the caller's workspace. + * List semantic metrics for the caller's workspace (optional status filter). * *

200 - Successful response * @param xTenantId Tenant slug. Required on every non-agent endpoint -- bounds the row-level security policy and appears in every audit event. Must match the JWT tenant claim if Authorization is also present. * @param xWorkspaceId Workspace identifier. Accepts either the workspace UUID or its slug -- the slug form lets SDKs avoid carrying UUIDs around. Used to scope every query, ingest, and schema KB operation. * @param datasetId The datasetId parameter + * @param status The status parameter * @param limit The limit parameter * @param offset The offset parameter * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. * @return ResponseEntity<PaginatedSemanticMetricRead> * @throws WebClientResponseException if an error occurs while attempting to invoke the API */ - public Mono> listMetricsWithHttpInfo(@jakarta.annotation.Nonnull String xTenantId, @jakarta.annotation.Nonnull String xWorkspaceId, @jakarta.annotation.Nullable String datasetId, @jakarta.annotation.Nullable Integer limit, @jakarta.annotation.Nullable Integer offset, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + public Mono> listMetricsWithHttpInfo(@jakarta.annotation.Nonnull String xTenantId, @jakarta.annotation.Nonnull String xWorkspaceId, @jakarta.annotation.Nullable String datasetId, @jakarta.annotation.Nullable String status, @jakarta.annotation.Nullable Integer limit, @jakarta.annotation.Nullable Integer offset, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { ParameterizedTypeReference localVarReturnType = new ParameterizedTypeReference() {}; - return listMetricsRequestCreation(xTenantId, xWorkspaceId, datasetId, limit, offset, xCorrelationId).toEntity(localVarReturnType); + return listMetricsRequestCreation(xTenantId, xWorkspaceId, datasetId, status, limit, offset, xCorrelationId).toEntity(localVarReturnType); } /** - * List all semantic metrics for the caller's workspace. + * List semantic metrics for the caller's workspace (optional status filter). * *

200 - Successful response * @param xTenantId Tenant slug. Required on every non-agent endpoint -- bounds the row-level security policy and appears in every audit event. Must match the JWT tenant claim if Authorization is also present. * @param xWorkspaceId Workspace identifier. Accepts either the workspace UUID or its slug -- the slug form lets SDKs avoid carrying UUIDs around. Used to scope every query, ingest, and schema KB operation. * @param datasetId The datasetId parameter + * @param status The status parameter * @param limit The limit parameter * @param offset The offset parameter * @param xCorrelationId Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. * @return ResponseSpec * @throws WebClientResponseException if an error occurs while attempting to invoke the API */ - public ResponseSpec listMetricsWithResponseSpec(@jakarta.annotation.Nonnull String xTenantId, @jakarta.annotation.Nonnull String xWorkspaceId, @jakarta.annotation.Nullable String datasetId, @jakarta.annotation.Nullable Integer limit, @jakarta.annotation.Nullable Integer offset, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { - return listMetricsRequestCreation(xTenantId, xWorkspaceId, datasetId, limit, offset, xCorrelationId); + public ResponseSpec listMetricsWithResponseSpec(@jakarta.annotation.Nonnull String xTenantId, @jakarta.annotation.Nonnull String xWorkspaceId, @jakarta.annotation.Nullable String datasetId, @jakarta.annotation.Nullable String status, @jakarta.annotation.Nullable Integer limit, @jakarta.annotation.Nullable Integer offset, @jakarta.annotation.Nullable UUID xCorrelationId) throws WebClientResponseException { + return listMetricsRequestCreation(xTenantId, xWorkspaceId, datasetId, status, limit, offset, xCorrelationId); } /** @@ -701,7 +692,7 @@ public ResponseSpec retireWithResponseSpec(@jakarta.annotation.Nonnull String me } /** - * Sparse-update a metric; re-validates YAML if definition changes. + * Sparse-update a metric; re-validates + recompiles if published. * *

200 - Successful response *

422 - Validation Error @@ -766,7 +757,7 @@ private ResponseSpec updateRequestCreation(@jakarta.annotation.Nonnull String me } /** - * Sparse-update a metric; re-validates YAML if definition changes. + * Sparse-update a metric; re-validates + recompiles if published. * *

200 - Successful response *

422 - Validation Error @@ -785,7 +776,7 @@ public Mono update(@jakarta.annotation.Nonnull String metric } /** - * Sparse-update a metric; re-validates YAML if definition changes. + * Sparse-update a metric; re-validates + recompiles if published. * *

200 - Successful response *

422 - Validation Error @@ -804,7 +795,7 @@ public Mono> updateWithHttpInfo(@jakarta.anno } /** - * Sparse-update a metric; re-validates YAML if definition changes. + * Sparse-update a metric; re-validates + recompiles if published. * *

200 - Successful response *

422 - Validation Error diff --git a/sdks/java/src/main/java/com/firefly/flyquery/api/SqlExecuteApi.java b/sdks/java/src/main/java/com/firefly/flyquery/api/SqlExecuteApi.java index 827a7c0..05d4a42 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/api/SqlExecuteApi.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/api/SqlExecuteApi.java @@ -1,17 +1,3 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - package com.firefly.flyquery.api; import com.firefly.flyquery.ApiClient; @@ -43,7 +29,7 @@ import reactor.core.publisher.Mono; import reactor.core.publisher.Flux; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class SqlExecuteApi { private ApiClient apiClient; diff --git a/sdks/java/src/main/java/com/firefly/flyquery/api/StatsApi.java b/sdks/java/src/main/java/com/firefly/flyquery/api/StatsApi.java index ac11542..eb6c3c3 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/api/StatsApi.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/api/StatsApi.java @@ -1,17 +1,3 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - package com.firefly.flyquery.api; import com.firefly.flyquery.ApiClient; @@ -41,7 +27,7 @@ import reactor.core.publisher.Mono; import reactor.core.publisher.Flux; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class StatsApi { private ApiClient apiClient; diff --git a/sdks/java/src/main/java/com/firefly/flyquery/api/TablesApi.java b/sdks/java/src/main/java/com/firefly/flyquery/api/TablesApi.java index 34fb77f..3ae1424 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/api/TablesApi.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/api/TablesApi.java @@ -1,17 +1,3 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - package com.firefly.flyquery.api; import com.firefly.flyquery.ApiClient; @@ -45,7 +31,7 @@ import reactor.core.publisher.Mono; import reactor.core.publisher.Flux; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class TablesApi { private ApiClient apiClient; diff --git a/sdks/java/src/main/java/com/firefly/flyquery/api/TablesDeriveApi.java b/sdks/java/src/main/java/com/firefly/flyquery/api/TablesDeriveApi.java index df54871..5b5df01 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/api/TablesDeriveApi.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/api/TablesDeriveApi.java @@ -1,17 +1,3 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - package com.firefly.flyquery.api; import com.firefly.flyquery.ApiClient; @@ -43,7 +29,7 @@ import reactor.core.publisher.Mono; import reactor.core.publisher.Flux; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class TablesDeriveApi { private ApiClient apiClient; diff --git a/sdks/java/src/main/java/com/firefly/flyquery/api/VersionApi.java b/sdks/java/src/main/java/com/firefly/flyquery/api/VersionApi.java index f907e38..ee660d4 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/api/VersionApi.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/api/VersionApi.java @@ -1,17 +1,3 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - package com.firefly.flyquery.api; import com.firefly.flyquery.ApiClient; @@ -40,7 +26,7 @@ import reactor.core.publisher.Mono; import reactor.core.publisher.Flux; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class VersionApi { private ApiClient apiClient; diff --git a/sdks/java/src/main/java/com/firefly/flyquery/api/WorkspacesApi.java b/sdks/java/src/main/java/com/firefly/flyquery/api/WorkspacesApi.java index f2cf7f6..0cc6fd1 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/api/WorkspacesApi.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/api/WorkspacesApi.java @@ -1,17 +1,3 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - package com.firefly.flyquery.api; import com.firefly.flyquery.ApiClient; @@ -45,7 +31,7 @@ import reactor.core.publisher.Mono; import reactor.core.publisher.Flux; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class WorkspacesApi { private ApiClient apiClient; diff --git a/sdks/java/src/main/java/com/firefly/flyquery/auth/ApiKeyAuth.java b/sdks/java/src/main/java/com/firefly/flyquery/auth/ApiKeyAuth.java index a2fdd22..ba603ae 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/auth/ApiKeyAuth.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/auth/ApiKeyAuth.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -30,7 +16,7 @@ import org.springframework.http.HttpHeaders; import org.springframework.util.MultiValueMap; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class ApiKeyAuth implements Authentication { private final String location; private final String paramName; diff --git a/sdks/java/src/main/java/com/firefly/flyquery/auth/Authentication.java b/sdks/java/src/main/java/com/firefly/flyquery/auth/Authentication.java index e4d82bd..bcf978e 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/auth/Authentication.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/auth/Authentication.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -30,7 +16,7 @@ import org.springframework.http.HttpHeaders; import org.springframework.util.MultiValueMap; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public interface Authentication { /** * Apply authentication settings to header and / or query parameters. diff --git a/sdks/java/src/main/java/com/firefly/flyquery/auth/HttpBasicAuth.java b/sdks/java/src/main/java/com/firefly/flyquery/auth/HttpBasicAuth.java index a2231d6..8ae1017 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/auth/HttpBasicAuth.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/auth/HttpBasicAuth.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -33,7 +19,7 @@ import org.springframework.http.HttpHeaders; import org.springframework.util.MultiValueMap; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class HttpBasicAuth implements Authentication { private String username; private String password; diff --git a/sdks/java/src/main/java/com/firefly/flyquery/auth/HttpBearerAuth.java b/sdks/java/src/main/java/com/firefly/flyquery/auth/HttpBearerAuth.java index a22f70b..a77eedb 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/auth/HttpBearerAuth.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/auth/HttpBearerAuth.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -30,7 +16,7 @@ import org.springframework.http.HttpHeaders; import org.springframework.util.MultiValueMap; -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class HttpBearerAuth implements Authentication { private final String scheme; private String bearerToken; diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/AgentTokenCreated.java b/sdks/java/src/main/java/com/firefly/flyquery/model/AgentTokenCreated.java index 50ae2b4..69c991b 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/AgentTokenCreated.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/AgentTokenCreated.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -58,7 +44,7 @@ AgentTokenCreated.JSON_PROPERTY_TOKEN, AgentTokenCreated.JSON_PROPERTY_WORKSPACE_ALLOWLIST }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class AgentTokenCreated { public static final String JSON_PROPERTY_CREATED_AT = "created_at"; @jakarta.annotation.Nonnull diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/AgentTokenMintRequest.java b/sdks/java/src/main/java/com/firefly/flyquery/model/AgentTokenMintRequest.java index 52b998c..bcc69a9 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/AgentTokenMintRequest.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/AgentTokenMintRequest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -55,7 +41,7 @@ AgentTokenMintRequest.JSON_PROPERTY_SCOPES, AgentTokenMintRequest.JSON_PROPERTY_WORKSPACE_ALLOWLIST }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class AgentTokenMintRequest { public static final String JSON_PROPERTY_EXPIRES_AT = "expires_at"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/AgentTokenSummaryDto.java b/sdks/java/src/main/java/com/firefly/flyquery/model/AgentTokenSummaryDto.java index 2599ef6..d166ae0 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/AgentTokenSummaryDto.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/AgentTokenSummaryDto.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -57,7 +43,7 @@ AgentTokenSummaryDto.JSON_PROPERTY_SCOPES, AgentTokenSummaryDto.JSON_PROPERTY_WORKSPACE_ALLOWLIST }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class AgentTokenSummaryDto { public static final String JSON_PROPERTY_CREATED_AT = "created_at"; @jakarta.annotation.Nonnull diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/AgentUsage.java b/sdks/java/src/main/java/com/firefly/flyquery/model/AgentUsage.java index e6337d9..974b534 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/AgentUsage.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/AgentUsage.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -55,7 +41,7 @@ AgentUsage.JSON_PROPERTY_OUTPUT_TOKENS, AgentUsage.JSON_PROPERTY_TOTAL_TOKENS }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class AgentUsage { public static final String JSON_PROPERTY_AGENT = "agent"; @jakarta.annotation.Nonnull diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/AnswerResponse.java b/sdks/java/src/main/java/com/firefly/flyquery/model/AnswerResponse.java index bf4ca13..6d7218e 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/AnswerResponse.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/AnswerResponse.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -67,7 +53,7 @@ AnswerResponse.JSON_PROPERTY_TRUNCATED, AnswerResponse.JSON_PROPERTY_USAGE }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class AnswerResponse { /** * Gets or Sets chartHint diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/AuditEventRead.java b/sdks/java/src/main/java/com/firefly/flyquery/model/AuditEventRead.java index dbd65ed..ec41e68 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/AuditEventRead.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/AuditEventRead.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -60,7 +46,7 @@ AuditEventRead.JSON_PROPERTY_TENANT_ID, AuditEventRead.JSON_PROPERTY_WORKSPACE_ID }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class AuditEventRead { public static final String JSON_PROPERTY_ACTOR = "actor"; @jakarta.annotation.Nonnull diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/BatchQueryItem.java b/sdks/java/src/main/java/com/firefly/flyquery/model/BatchQueryItem.java index 04127a0..95eb8a1 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/BatchQueryItem.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/BatchQueryItem.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -50,7 +36,7 @@ BatchQueryItem.JSON_PROPERTY_DATASET_ID, BatchQueryItem.JSON_PROPERTY_QUESTION }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class BatchQueryItem { public static final String JSON_PROPERTY_CONVERSATION_ID = "conversation_id"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/BatchQueryRequest.java b/sdks/java/src/main/java/com/firefly/flyquery/model/BatchQueryRequest.java index b331345..4bd38db 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/BatchQueryRequest.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/BatchQueryRequest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -47,7 +33,7 @@ @JsonPropertyOrder({ BatchQueryRequest.JSON_PROPERTY_QUERIES }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class BatchQueryRequest { public static final String JSON_PROPERTY_QUERIES = "queries"; @jakarta.annotation.Nonnull diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/BatchQueryResponse.java b/sdks/java/src/main/java/com/firefly/flyquery/model/BatchQueryResponse.java index 341b164..77618ad 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/BatchQueryResponse.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/BatchQueryResponse.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -50,7 +36,7 @@ BatchQueryResponse.JSON_PROPERTY_SUCCEEDED, BatchQueryResponse.JSON_PROPERTY_TOTAL_QUERIES }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class BatchQueryResponse { public static final String JSON_PROPERTY_FAILED = "failed"; @jakarta.annotation.Nonnull diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/BatchQueryResultItem.java b/sdks/java/src/main/java/com/firefly/flyquery/model/BatchQueryResultItem.java index 27180f5..71214e5 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/BatchQueryResultItem.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/BatchQueryResultItem.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -64,7 +50,7 @@ BatchQueryResultItem.JSON_PROPERTY_SQL, BatchQueryResultItem.JSON_PROPERTY_STATUS }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class BatchQueryResultItem { /** * Gets or Sets chartHint diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/BillingBreakdownItem.java b/sdks/java/src/main/java/com/firefly/flyquery/model/BillingBreakdownItem.java index aac2414..8129adb 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/BillingBreakdownItem.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/BillingBreakdownItem.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -52,7 +38,7 @@ BillingBreakdownItem.JSON_PROPERTY_QUERY_COST_CENTS, BillingBreakdownItem.JSON_PROPERTY_TOTAL_COST_CENTS }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class BillingBreakdownItem { public static final String JSON_PROPERTY_DATE = "date"; @jakarta.annotation.Nonnull diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/BillingRollup.java b/sdks/java/src/main/java/com/firefly/flyquery/model/BillingRollup.java index 5d658a9..2854f14 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/BillingRollup.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/BillingRollup.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -57,7 +43,7 @@ BillingRollup.JSON_PROPERTY_PERIOD, BillingRollup.JSON_PROPERTY_TOTAL_COST_CENTS }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class BillingRollup { public static final String JSON_PROPERTY_BREAKDOWN = "breakdown"; @jakarta.annotation.Nonnull diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/BulkFileResult.java b/sdks/java/src/main/java/com/firefly/flyquery/model/BulkFileResult.java index 48b32f7..501e47d 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/BulkFileResult.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/BulkFileResult.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -56,7 +42,7 @@ BulkFileResult.JSON_PROPERTY_STATUS, BulkFileResult.JSON_PROPERTY_TABLES }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class BulkFileResult { public static final String JSON_PROPERTY_ERROR = "error"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/BulkFileUploadResponse.java b/sdks/java/src/main/java/com/firefly/flyquery/model/BulkFileUploadResponse.java index f612c40..6ba9658 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/BulkFileUploadResponse.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/BulkFileUploadResponse.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -50,7 +36,7 @@ BulkFileUploadResponse.JSON_PROPERTY_SUCCEEDED, BulkFileUploadResponse.JSON_PROPERTY_TOTAL_FILES }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class BulkFileUploadResponse { public static final String JSON_PROPERTY_FAILED = "failed"; @jakarta.annotation.Nonnull diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/CallbackConfig.java b/sdks/java/src/main/java/com/firefly/flyquery/model/CallbackConfig.java index f5ed8d6..480d3e6 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/CallbackConfig.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/CallbackConfig.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -52,7 +38,7 @@ CallbackConfig.JSON_PROPERTY_SECRET, CallbackConfig.JSON_PROPERTY_URL }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class CallbackConfig { public static final String JSON_PROPERTY_HEADERS = "headers"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/CallbackDeliveryListResponse.java b/sdks/java/src/main/java/com/firefly/flyquery/model/CallbackDeliveryListResponse.java index 345cdbd..8d7102f 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/CallbackDeliveryListResponse.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/CallbackDeliveryListResponse.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -50,7 +36,7 @@ CallbackDeliveryListResponse.JSON_PROPERTY_OFFSET, CallbackDeliveryListResponse.JSON_PROPERTY_TOTAL }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class CallbackDeliveryListResponse { public static final String JSON_PROPERTY_ITEMS = "items"; @jakarta.annotation.Nonnull diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/CallbackDeliveryRead.java b/sdks/java/src/main/java/com/firefly/flyquery/model/CallbackDeliveryRead.java index 78b1e2e..0c4e9ff 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/CallbackDeliveryRead.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/CallbackDeliveryRead.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -56,7 +42,7 @@ CallbackDeliveryRead.JSON_PROPERTY_NEXT_ATTEMPT_AT, CallbackDeliveryRead.JSON_PROPERTY_STATUS }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class CallbackDeliveryRead { public static final String JSON_PROPERTY_ATTEMPTS = "attempts"; @jakarta.annotation.Nonnull diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/CancelResponse.java b/sdks/java/src/main/java/com/firefly/flyquery/model/CancelResponse.java index 66d6bd4..af4a293 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/CancelResponse.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/CancelResponse.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -46,7 +32,7 @@ CancelResponse.JSON_PROPERTY_MESSAGE, CancelResponse.JSON_PROPERTY_STATUS }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class CancelResponse { public static final String JSON_PROPERTY_ID = "id"; @jakarta.annotation.Nonnull diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/ClarificationFrame.java b/sdks/java/src/main/java/com/firefly/flyquery/model/ClarificationFrame.java index 546f7ff..ca2a21d 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/ClarificationFrame.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/ClarificationFrame.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -47,7 +33,7 @@ ClarificationFrame.JSON_PROPERTY_QUESTIONS, ClarificationFrame.JSON_PROPERTY_REASONS }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class ClarificationFrame { public static final String JSON_PROPERTY_QUESTIONS = "questions"; @jakarta.annotation.Nonnull diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/Confidence.java b/sdks/java/src/main/java/com/firefly/flyquery/model/Confidence.java index 6d65a2b..fed55de 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/Confidence.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/Confidence.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -38,7 +24,7 @@ */ @JsonPropertyOrder({ }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class Confidence { public Confidence() { } diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/ConversationCreate.java b/sdks/java/src/main/java/com/firefly/flyquery/model/ConversationCreate.java index bf81469..4f44b99 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/ConversationCreate.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/ConversationCreate.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -47,7 +33,7 @@ @JsonPropertyOrder({ ConversationCreate.JSON_PROPERTY_TITLE }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class ConversationCreate { public static final String JSON_PROPERTY_TITLE = "title"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/ConversationRead.java b/sdks/java/src/main/java/com/firefly/flyquery/model/ConversationRead.java index eca3193..b531dec 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/ConversationRead.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/ConversationRead.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -57,7 +43,7 @@ ConversationRead.JSON_PROPERTY_UPDATED_AT, ConversationRead.JSON_PROPERTY_WORKSPACE_ID }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class ConversationRead { public static final String JSON_PROPERTY_ACTOR = "actor"; @jakarta.annotation.Nonnull diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/ConversationTurnRequest.java b/sdks/java/src/main/java/com/firefly/flyquery/model/ConversationTurnRequest.java index 7dfd210..8836bb5 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/ConversationTurnRequest.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/ConversationTurnRequest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -45,7 +31,7 @@ ConversationTurnRequest.JSON_PROPERTY_DATASET_ID, ConversationTurnRequest.JSON_PROPERTY_QUESTION }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class ConversationTurnRequest { public static final String JSON_PROPERTY_DATASET_ID = "dataset_id"; @jakarta.annotation.Nonnull diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/CostCents.java b/sdks/java/src/main/java/com/firefly/flyquery/model/CostCents.java index 2a51e3d..13ab8e8 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/CostCents.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/CostCents.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -40,7 +26,7 @@ @JsonPropertyOrder({ }) @JsonTypeName("Cost_Cents") -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class CostCents { public CostCents() { } diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/CostCents1.java b/sdks/java/src/main/java/com/firefly/flyquery/model/CostCents1.java index c416640..3a8f054 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/CostCents1.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/CostCents1.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -40,7 +26,7 @@ @JsonPropertyOrder({ }) @JsonTypeName("Cost_Cents_1") -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class CostCents1 { public CostCents1() { } diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/CostEventRead.java b/sdks/java/src/main/java/com/firefly/flyquery/model/CostEventRead.java index e412bd9..7bdb948 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/CostEventRead.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/CostEventRead.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -62,7 +48,7 @@ CostEventRead.JSON_PROPERTY_TENANT_ID, CostEventRead.JSON_PROPERTY_WORKSPACE_ID }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class CostEventRead { public static final String JSON_PROPERTY_ACTOR = "actor"; @jakarta.annotation.Nonnull diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/DatasetCreate.java b/sdks/java/src/main/java/com/firefly/flyquery/model/DatasetCreate.java index 19fa7d8..c09f1e9 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/DatasetCreate.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/DatasetCreate.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -54,7 +40,7 @@ DatasetCreate.JSON_PROPERTY_METADATA_JSON, DatasetCreate.JSON_PROPERTY_NAME }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class DatasetCreate { public static final String JSON_PROPERTY_DEFAULT_LOCALE = "default_locale"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/DatasetRead.java b/sdks/java/src/main/java/com/firefly/flyquery/model/DatasetRead.java index b40db8e..fa572e3 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/DatasetRead.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/DatasetRead.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -58,7 +44,7 @@ DatasetRead.JSON_PROPERTY_UPDATED_AT, DatasetRead.JSON_PROPERTY_WORKSPACE_ID }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class DatasetRead { public static final String JSON_PROPERTY_CREATED_AT = "created_at"; @jakarta.annotation.Nonnull diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/DatasetUpdate.java b/sdks/java/src/main/java/com/firefly/flyquery/model/DatasetUpdate.java index 17b8182..757edbf 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/DatasetUpdate.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/DatasetUpdate.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -54,7 +40,7 @@ DatasetUpdate.JSON_PROPERTY_METADATA_JSON, DatasetUpdate.JSON_PROPERTY_NAME }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class DatasetUpdate { public static final String JSON_PROPERTY_DEFAULT_LOCALE = "default_locale"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/DeriveTableRequest.java b/sdks/java/src/main/java/com/firefly/flyquery/model/DeriveTableRequest.java index 275964b..8184b16 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/DeriveTableRequest.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/DeriveTableRequest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -46,7 +32,7 @@ DeriveTableRequest.JSON_PROPERTY_NAME, DeriveTableRequest.JSON_PROPERTY_SQL }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class DeriveTableRequest { public static final String JSON_PROPERTY_DATASET_ID = "dataset_id"; @jakarta.annotation.Nonnull diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/DeriveTableResponse.java b/sdks/java/src/main/java/com/firefly/flyquery/model/DeriveTableResponse.java index 2845c99..fdc12a6 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/DeriveTableResponse.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/DeriveTableResponse.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -46,7 +32,7 @@ DeriveTableResponse.JSON_PROPERTY_NAME, DeriveTableResponse.JSON_PROPERTY_TABLE_ID }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class DeriveTableResponse { public static final String JSON_PROPERTY_DATASET_ID = "dataset_id"; @jakarta.annotation.Nonnull diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/DetailInner.java b/sdks/java/src/main/java/com/firefly/flyquery/model/DetailInner.java index 0d9e65e..f4892bb 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/DetailInner.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/DetailInner.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -50,7 +36,7 @@ DetailInner.JSON_PROPERTY_TYPE }) @JsonTypeName("Detail_inner") -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class DetailInner { public static final String JSON_PROPERTY_LOC = "loc"; @jakarta.annotation.Nonnull diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/ExampleCreate.java b/sdks/java/src/main/java/com/firefly/flyquery/model/ExampleCreate.java index 9397191..acd5182 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/ExampleCreate.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/ExampleCreate.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -53,7 +39,7 @@ ExampleCreate.JSON_PROPERTY_GENERATED_SQL, ExampleCreate.JSON_PROPERTY_QUESTION }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class ExampleCreate { public static final String JSON_PROPERTY_CITATIONS_JSON = "citations_json"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/ExampleRead.java b/sdks/java/src/main/java/com/firefly/flyquery/model/ExampleRead.java index 91aecdb..afc3919 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/ExampleRead.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/ExampleRead.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -60,7 +46,7 @@ ExampleRead.JSON_PROPERTY_USAGE_COUNT, ExampleRead.JSON_PROPERTY_WORKSPACE_ID }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class ExampleRead { public static final String JSON_PROPERTY_CITATIONS_JSON = "citations_json"; @jakarta.annotation.Nonnull diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/ExplainResponse.java b/sdks/java/src/main/java/com/firefly/flyquery/model/ExplainResponse.java index 29c1c48..fec714e 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/ExplainResponse.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/ExplainResponse.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -55,7 +41,7 @@ ExplainResponse.JSON_PROPERTY_REASONING, ExplainResponse.JSON_PROPERTY_SQL }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class ExplainResponse { public static final String JSON_PROPERTY_CLARIFICATION = "clarification"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/FileUploadResponse.java b/sdks/java/src/main/java/com/firefly/flyquery/model/FileUploadResponse.java index 7c2afa8..876edc3 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/FileUploadResponse.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/FileUploadResponse.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -48,7 +34,7 @@ FileUploadResponse.JSON_PROPERTY_FILE_ID, FileUploadResponse.JSON_PROPERTY_TABLES }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class FileUploadResponse { public static final String JSON_PROPERTY_FILE_ID = "file_id"; @jakarta.annotation.Nonnull diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/GlossaryTermCreate.java b/sdks/java/src/main/java/com/firefly/flyquery/model/GlossaryTermCreate.java index 00ec5b0..8999438 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/GlossaryTermCreate.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/GlossaryTermCreate.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -45,33 +31,33 @@ */ @JsonPropertyOrder({ GlossaryTermCreate.JSON_PROPERTY_DEFINITION, - GlossaryTermCreate.JSON_PROPERTY_RELATED_COLUMNS_JSON, - GlossaryTermCreate.JSON_PROPERTY_RELATED_METRICS_JSON, - GlossaryTermCreate.JSON_PROPERTY_SYNONYMS_JSON, - GlossaryTermCreate.JSON_PROPERTY_TAGS_JSON, + GlossaryTermCreate.JSON_PROPERTY_RELATED_COLUMNS, + GlossaryTermCreate.JSON_PROPERTY_RELATED_METRICS, + GlossaryTermCreate.JSON_PROPERTY_SYNONYMS, + GlossaryTermCreate.JSON_PROPERTY_TAGS, GlossaryTermCreate.JSON_PROPERTY_TERM }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class GlossaryTermCreate { public static final String JSON_PROPERTY_DEFINITION = "definition"; @jakarta.annotation.Nonnull private String definition; - public static final String JSON_PROPERTY_RELATED_COLUMNS_JSON = "related_columns_json"; + public static final String JSON_PROPERTY_RELATED_COLUMNS = "related_columns"; @jakarta.annotation.Nullable - private List relatedColumnsJson = new ArrayList<>(); + private List relatedColumns = new ArrayList<>(); - public static final String JSON_PROPERTY_RELATED_METRICS_JSON = "related_metrics_json"; + public static final String JSON_PROPERTY_RELATED_METRICS = "related_metrics"; @jakarta.annotation.Nullable - private List relatedMetricsJson = new ArrayList<>(); + private List relatedMetrics = new ArrayList<>(); - public static final String JSON_PROPERTY_SYNONYMS_JSON = "synonyms_json"; + public static final String JSON_PROPERTY_SYNONYMS = "synonyms"; @jakarta.annotation.Nullable - private List synonymsJson = new ArrayList<>(); + private List synonyms = new ArrayList<>(); - public static final String JSON_PROPERTY_TAGS_JSON = "tags_json"; + public static final String JSON_PROPERTY_TAGS = "tags"; @jakarta.annotation.Nullable - private List tagsJson = new ArrayList<>(); + private List tags = new ArrayList<>(); public static final String JSON_PROPERTY_TERM = "term"; @jakarta.annotation.Nonnull @@ -105,136 +91,136 @@ public void setDefinition(@jakarta.annotation.Nonnull String definition) { this.definition = definition; } - public GlossaryTermCreate relatedColumnsJson(@jakarta.annotation.Nullable List relatedColumnsJson) { + public GlossaryTermCreate relatedColumns(@jakarta.annotation.Nullable List relatedColumns) { - this.relatedColumnsJson = relatedColumnsJson; + this.relatedColumns = relatedColumns; return this; } - public GlossaryTermCreate addRelatedColumnsJsonItem(String relatedColumnsJsonItem) { - if (this.relatedColumnsJson == null) { - this.relatedColumnsJson = new ArrayList<>(); + public GlossaryTermCreate addRelatedColumnsItem(String relatedColumnsItem) { + if (this.relatedColumns == null) { + this.relatedColumns = new ArrayList<>(); } - this.relatedColumnsJson.add(relatedColumnsJsonItem); + this.relatedColumns.add(relatedColumnsItem); return this; } /** - * Get relatedColumnsJson - * @return relatedColumnsJson + * Get relatedColumns + * @return relatedColumns */ @jakarta.annotation.Nullable - @JsonProperty(value = JSON_PROPERTY_RELATED_COLUMNS_JSON, required = false) + @JsonProperty(value = JSON_PROPERTY_RELATED_COLUMNS, required = false) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public List getRelatedColumnsJson() { - return relatedColumnsJson; + public List getRelatedColumns() { + return relatedColumns; } - @JsonProperty(value = JSON_PROPERTY_RELATED_COLUMNS_JSON, required = false) + @JsonProperty(value = JSON_PROPERTY_RELATED_COLUMNS, required = false) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public void setRelatedColumnsJson(@jakarta.annotation.Nullable List relatedColumnsJson) { - this.relatedColumnsJson = relatedColumnsJson; + public void setRelatedColumns(@jakarta.annotation.Nullable List relatedColumns) { + this.relatedColumns = relatedColumns; } - public GlossaryTermCreate relatedMetricsJson(@jakarta.annotation.Nullable List relatedMetricsJson) { + public GlossaryTermCreate relatedMetrics(@jakarta.annotation.Nullable List relatedMetrics) { - this.relatedMetricsJson = relatedMetricsJson; + this.relatedMetrics = relatedMetrics; return this; } - public GlossaryTermCreate addRelatedMetricsJsonItem(String relatedMetricsJsonItem) { - if (this.relatedMetricsJson == null) { - this.relatedMetricsJson = new ArrayList<>(); + public GlossaryTermCreate addRelatedMetricsItem(String relatedMetricsItem) { + if (this.relatedMetrics == null) { + this.relatedMetrics = new ArrayList<>(); } - this.relatedMetricsJson.add(relatedMetricsJsonItem); + this.relatedMetrics.add(relatedMetricsItem); return this; } /** - * Get relatedMetricsJson - * @return relatedMetricsJson + * Get relatedMetrics + * @return relatedMetrics */ @jakarta.annotation.Nullable - @JsonProperty(value = JSON_PROPERTY_RELATED_METRICS_JSON, required = false) + @JsonProperty(value = JSON_PROPERTY_RELATED_METRICS, required = false) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public List getRelatedMetricsJson() { - return relatedMetricsJson; + public List getRelatedMetrics() { + return relatedMetrics; } - @JsonProperty(value = JSON_PROPERTY_RELATED_METRICS_JSON, required = false) + @JsonProperty(value = JSON_PROPERTY_RELATED_METRICS, required = false) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public void setRelatedMetricsJson(@jakarta.annotation.Nullable List relatedMetricsJson) { - this.relatedMetricsJson = relatedMetricsJson; + public void setRelatedMetrics(@jakarta.annotation.Nullable List relatedMetrics) { + this.relatedMetrics = relatedMetrics; } - public GlossaryTermCreate synonymsJson(@jakarta.annotation.Nullable List synonymsJson) { + public GlossaryTermCreate synonyms(@jakarta.annotation.Nullable List synonyms) { - this.synonymsJson = synonymsJson; + this.synonyms = synonyms; return this; } - public GlossaryTermCreate addSynonymsJsonItem(String synonymsJsonItem) { - if (this.synonymsJson == null) { - this.synonymsJson = new ArrayList<>(); + public GlossaryTermCreate addSynonymsItem(String synonymsItem) { + if (this.synonyms == null) { + this.synonyms = new ArrayList<>(); } - this.synonymsJson.add(synonymsJsonItem); + this.synonyms.add(synonymsItem); return this; } /** - * Get synonymsJson - * @return synonymsJson + * Get synonyms + * @return synonyms */ @jakarta.annotation.Nullable - @JsonProperty(value = JSON_PROPERTY_SYNONYMS_JSON, required = false) + @JsonProperty(value = JSON_PROPERTY_SYNONYMS, required = false) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public List getSynonymsJson() { - return synonymsJson; + public List getSynonyms() { + return synonyms; } - @JsonProperty(value = JSON_PROPERTY_SYNONYMS_JSON, required = false) + @JsonProperty(value = JSON_PROPERTY_SYNONYMS, required = false) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public void setSynonymsJson(@jakarta.annotation.Nullable List synonymsJson) { - this.synonymsJson = synonymsJson; + public void setSynonyms(@jakarta.annotation.Nullable List synonyms) { + this.synonyms = synonyms; } - public GlossaryTermCreate tagsJson(@jakarta.annotation.Nullable List tagsJson) { + public GlossaryTermCreate tags(@jakarta.annotation.Nullable List tags) { - this.tagsJson = tagsJson; + this.tags = tags; return this; } - public GlossaryTermCreate addTagsJsonItem(String tagsJsonItem) { - if (this.tagsJson == null) { - this.tagsJson = new ArrayList<>(); + public GlossaryTermCreate addTagsItem(String tagsItem) { + if (this.tags == null) { + this.tags = new ArrayList<>(); } - this.tagsJson.add(tagsJsonItem); + this.tags.add(tagsItem); return this; } /** - * Get tagsJson - * @return tagsJson + * Get tags + * @return tags */ @jakarta.annotation.Nullable - @JsonProperty(value = JSON_PROPERTY_TAGS_JSON, required = false) + @JsonProperty(value = JSON_PROPERTY_TAGS, required = false) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public List getTagsJson() { - return tagsJson; + public List getTags() { + return tags; } - @JsonProperty(value = JSON_PROPERTY_TAGS_JSON, required = false) + @JsonProperty(value = JSON_PROPERTY_TAGS, required = false) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public void setTagsJson(@jakarta.annotation.Nullable List tagsJson) { - this.tagsJson = tagsJson; + public void setTags(@jakarta.annotation.Nullable List tags) { + this.tags = tags; } public GlossaryTermCreate term(@jakarta.annotation.Nonnull String term) { @@ -273,16 +259,16 @@ public boolean equals(Object o) { } GlossaryTermCreate glossaryTermCreate = (GlossaryTermCreate) o; return Objects.equals(this.definition, glossaryTermCreate.definition) && - Objects.equals(this.relatedColumnsJson, glossaryTermCreate.relatedColumnsJson) && - Objects.equals(this.relatedMetricsJson, glossaryTermCreate.relatedMetricsJson) && - Objects.equals(this.synonymsJson, glossaryTermCreate.synonymsJson) && - Objects.equals(this.tagsJson, glossaryTermCreate.tagsJson) && + Objects.equals(this.relatedColumns, glossaryTermCreate.relatedColumns) && + Objects.equals(this.relatedMetrics, glossaryTermCreate.relatedMetrics) && + Objects.equals(this.synonyms, glossaryTermCreate.synonyms) && + Objects.equals(this.tags, glossaryTermCreate.tags) && Objects.equals(this.term, glossaryTermCreate.term); } @Override public int hashCode() { - return Objects.hash(definition, relatedColumnsJson, relatedMetricsJson, synonymsJson, tagsJson, term); + return Objects.hash(definition, relatedColumns, relatedMetrics, synonyms, tags, term); } @Override @@ -290,10 +276,10 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class GlossaryTermCreate {\n"); sb.append(" definition: ").append(toIndentedString(definition)).append("\n"); - sb.append(" relatedColumnsJson: ").append(toIndentedString(relatedColumnsJson)).append("\n"); - sb.append(" relatedMetricsJson: ").append(toIndentedString(relatedMetricsJson)).append("\n"); - sb.append(" synonymsJson: ").append(toIndentedString(synonymsJson)).append("\n"); - sb.append(" tagsJson: ").append(toIndentedString(tagsJson)).append("\n"); + sb.append(" relatedColumns: ").append(toIndentedString(relatedColumns)).append("\n"); + sb.append(" relatedMetrics: ").append(toIndentedString(relatedMetrics)).append("\n"); + sb.append(" synonyms: ").append(toIndentedString(synonyms)).append("\n"); + sb.append(" tags: ").append(toIndentedString(tags)).append("\n"); sb.append(" term: ").append(toIndentedString(term)).append("\n"); sb.append("}"); return sb.toString(); diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/GlossaryTermRead.java b/sdks/java/src/main/java/com/firefly/flyquery/model/GlossaryTermRead.java index ea81051..d470601 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/GlossaryTermRead.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/GlossaryTermRead.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -58,7 +44,7 @@ GlossaryTermRead.JSON_PROPERTY_UPDATED_AT, GlossaryTermRead.JSON_PROPERTY_WORKSPACE_ID }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class GlossaryTermRead { public static final String JSON_PROPERTY_CREATED_AT = "created_at"; @jakarta.annotation.Nonnull diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/GlossaryTermUpdate.java b/sdks/java/src/main/java/com/firefly/flyquery/model/GlossaryTermUpdate.java index 0f46484..29ae7f8 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/GlossaryTermUpdate.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/GlossaryTermUpdate.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -49,32 +35,32 @@ */ @JsonPropertyOrder({ GlossaryTermUpdate.JSON_PROPERTY_DEFINITION, - GlossaryTermUpdate.JSON_PROPERTY_RELATED_COLUMNS_JSON, - GlossaryTermUpdate.JSON_PROPERTY_RELATED_METRICS_JSON, - GlossaryTermUpdate.JSON_PROPERTY_SYNONYMS_JSON, - GlossaryTermUpdate.JSON_PROPERTY_TAGS_JSON + GlossaryTermUpdate.JSON_PROPERTY_RELATED_COLUMNS, + GlossaryTermUpdate.JSON_PROPERTY_RELATED_METRICS, + GlossaryTermUpdate.JSON_PROPERTY_SYNONYMS, + GlossaryTermUpdate.JSON_PROPERTY_TAGS }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class GlossaryTermUpdate { public static final String JSON_PROPERTY_DEFINITION = "definition"; @jakarta.annotation.Nullable private JsonNullable definition = JsonNullable.undefined(); - public static final String JSON_PROPERTY_RELATED_COLUMNS_JSON = "related_columns_json"; + public static final String JSON_PROPERTY_RELATED_COLUMNS = "related_columns"; @jakarta.annotation.Nullable - private JsonNullable> relatedColumnsJson = JsonNullable.>undefined(); + private JsonNullable> relatedColumns = JsonNullable.>undefined(); - public static final String JSON_PROPERTY_RELATED_METRICS_JSON = "related_metrics_json"; + public static final String JSON_PROPERTY_RELATED_METRICS = "related_metrics"; @jakarta.annotation.Nullable - private JsonNullable> relatedMetricsJson = JsonNullable.>undefined(); + private JsonNullable> relatedMetrics = JsonNullable.>undefined(); - public static final String JSON_PROPERTY_SYNONYMS_JSON = "synonyms_json"; + public static final String JSON_PROPERTY_SYNONYMS = "synonyms"; @jakarta.annotation.Nullable - private JsonNullable> synonymsJson = JsonNullable.>undefined(); + private JsonNullable> synonyms = JsonNullable.>undefined(); - public static final String JSON_PROPERTY_TAGS_JSON = "tags_json"; + public static final String JSON_PROPERTY_TAGS = "tags"; @jakarta.annotation.Nullable - private JsonNullable> tagsJson = JsonNullable.>undefined(); + private JsonNullable> tags = JsonNullable.>undefined(); public GlossaryTermUpdate() { } @@ -112,18 +98,18 @@ public void setDefinition(@jakarta.annotation.Nullable String definition) { this.definition = JsonNullable.of(definition); } - public GlossaryTermUpdate relatedColumnsJson(@jakarta.annotation.Nullable List relatedColumnsJson) { - this.relatedColumnsJson = JsonNullable.>of(relatedColumnsJson); + public GlossaryTermUpdate relatedColumns(@jakarta.annotation.Nullable List relatedColumns) { + this.relatedColumns = JsonNullable.>of(relatedColumns); return this; } - public GlossaryTermUpdate addRelatedColumnsJsonItem(String relatedColumnsJsonItem) { - if (this.relatedColumnsJson == null || !this.relatedColumnsJson.isPresent()) { - this.relatedColumnsJson = JsonNullable.>of(new ArrayList<>()); + public GlossaryTermUpdate addRelatedColumnsItem(String relatedColumnsItem) { + if (this.relatedColumns == null || !this.relatedColumns.isPresent()) { + this.relatedColumns = JsonNullable.>of(new ArrayList<>()); } try { - this.relatedColumnsJson.get().add(relatedColumnsJsonItem); + this.relatedColumns.get().add(relatedColumnsItem); } catch (java.util.NoSuchElementException e) { // this can never happen, as we make sure above that the value is present } @@ -131,44 +117,44 @@ public GlossaryTermUpdate addRelatedColumnsJsonItem(String relatedColumnsJsonIte } /** - * Get relatedColumnsJson - * @return relatedColumnsJson + * Get relatedColumns + * @return relatedColumns */ @jakarta.annotation.Nullable @JsonIgnore - public List getRelatedColumnsJson() { - return relatedColumnsJson.orElse(null); + public List getRelatedColumns() { + return relatedColumns.orElse(null); } - @JsonProperty(value = JSON_PROPERTY_RELATED_COLUMNS_JSON, required = false) + @JsonProperty(value = JSON_PROPERTY_RELATED_COLUMNS, required = false) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public JsonNullable> getRelatedColumnsJson_JsonNullable() { - return relatedColumnsJson; + public JsonNullable> getRelatedColumns_JsonNullable() { + return relatedColumns; } - @JsonProperty(JSON_PROPERTY_RELATED_COLUMNS_JSON) - public void setRelatedColumnsJson_JsonNullable(JsonNullable> relatedColumnsJson) { - this.relatedColumnsJson = relatedColumnsJson; + @JsonProperty(JSON_PROPERTY_RELATED_COLUMNS) + public void setRelatedColumns_JsonNullable(JsonNullable> relatedColumns) { + this.relatedColumns = relatedColumns; } - public void setRelatedColumnsJson(@jakarta.annotation.Nullable List relatedColumnsJson) { - this.relatedColumnsJson = JsonNullable.>of(relatedColumnsJson); + public void setRelatedColumns(@jakarta.annotation.Nullable List relatedColumns) { + this.relatedColumns = JsonNullable.>of(relatedColumns); } - public GlossaryTermUpdate relatedMetricsJson(@jakarta.annotation.Nullable List relatedMetricsJson) { - this.relatedMetricsJson = JsonNullable.>of(relatedMetricsJson); + public GlossaryTermUpdate relatedMetrics(@jakarta.annotation.Nullable List relatedMetrics) { + this.relatedMetrics = JsonNullable.>of(relatedMetrics); return this; } - public GlossaryTermUpdate addRelatedMetricsJsonItem(String relatedMetricsJsonItem) { - if (this.relatedMetricsJson == null || !this.relatedMetricsJson.isPresent()) { - this.relatedMetricsJson = JsonNullable.>of(new ArrayList<>()); + public GlossaryTermUpdate addRelatedMetricsItem(String relatedMetricsItem) { + if (this.relatedMetrics == null || !this.relatedMetrics.isPresent()) { + this.relatedMetrics = JsonNullable.>of(new ArrayList<>()); } try { - this.relatedMetricsJson.get().add(relatedMetricsJsonItem); + this.relatedMetrics.get().add(relatedMetricsItem); } catch (java.util.NoSuchElementException e) { // this can never happen, as we make sure above that the value is present } @@ -176,44 +162,44 @@ public GlossaryTermUpdate addRelatedMetricsJsonItem(String relatedMetricsJsonIte } /** - * Get relatedMetricsJson - * @return relatedMetricsJson + * Get relatedMetrics + * @return relatedMetrics */ @jakarta.annotation.Nullable @JsonIgnore - public List getRelatedMetricsJson() { - return relatedMetricsJson.orElse(null); + public List getRelatedMetrics() { + return relatedMetrics.orElse(null); } - @JsonProperty(value = JSON_PROPERTY_RELATED_METRICS_JSON, required = false) + @JsonProperty(value = JSON_PROPERTY_RELATED_METRICS, required = false) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public JsonNullable> getRelatedMetricsJson_JsonNullable() { - return relatedMetricsJson; + public JsonNullable> getRelatedMetrics_JsonNullable() { + return relatedMetrics; } - @JsonProperty(JSON_PROPERTY_RELATED_METRICS_JSON) - public void setRelatedMetricsJson_JsonNullable(JsonNullable> relatedMetricsJson) { - this.relatedMetricsJson = relatedMetricsJson; + @JsonProperty(JSON_PROPERTY_RELATED_METRICS) + public void setRelatedMetrics_JsonNullable(JsonNullable> relatedMetrics) { + this.relatedMetrics = relatedMetrics; } - public void setRelatedMetricsJson(@jakarta.annotation.Nullable List relatedMetricsJson) { - this.relatedMetricsJson = JsonNullable.>of(relatedMetricsJson); + public void setRelatedMetrics(@jakarta.annotation.Nullable List relatedMetrics) { + this.relatedMetrics = JsonNullable.>of(relatedMetrics); } - public GlossaryTermUpdate synonymsJson(@jakarta.annotation.Nullable List synonymsJson) { - this.synonymsJson = JsonNullable.>of(synonymsJson); + public GlossaryTermUpdate synonyms(@jakarta.annotation.Nullable List synonyms) { + this.synonyms = JsonNullable.>of(synonyms); return this; } - public GlossaryTermUpdate addSynonymsJsonItem(String synonymsJsonItem) { - if (this.synonymsJson == null || !this.synonymsJson.isPresent()) { - this.synonymsJson = JsonNullable.>of(new ArrayList<>()); + public GlossaryTermUpdate addSynonymsItem(String synonymsItem) { + if (this.synonyms == null || !this.synonyms.isPresent()) { + this.synonyms = JsonNullable.>of(new ArrayList<>()); } try { - this.synonymsJson.get().add(synonymsJsonItem); + this.synonyms.get().add(synonymsItem); } catch (java.util.NoSuchElementException e) { // this can never happen, as we make sure above that the value is present } @@ -221,44 +207,44 @@ public GlossaryTermUpdate addSynonymsJsonItem(String synonymsJsonItem) { } /** - * Get synonymsJson - * @return synonymsJson + * Get synonyms + * @return synonyms */ @jakarta.annotation.Nullable @JsonIgnore - public List getSynonymsJson() { - return synonymsJson.orElse(null); + public List getSynonyms() { + return synonyms.orElse(null); } - @JsonProperty(value = JSON_PROPERTY_SYNONYMS_JSON, required = false) + @JsonProperty(value = JSON_PROPERTY_SYNONYMS, required = false) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public JsonNullable> getSynonymsJson_JsonNullable() { - return synonymsJson; + public JsonNullable> getSynonyms_JsonNullable() { + return synonyms; } - @JsonProperty(JSON_PROPERTY_SYNONYMS_JSON) - public void setSynonymsJson_JsonNullable(JsonNullable> synonymsJson) { - this.synonymsJson = synonymsJson; + @JsonProperty(JSON_PROPERTY_SYNONYMS) + public void setSynonyms_JsonNullable(JsonNullable> synonyms) { + this.synonyms = synonyms; } - public void setSynonymsJson(@jakarta.annotation.Nullable List synonymsJson) { - this.synonymsJson = JsonNullable.>of(synonymsJson); + public void setSynonyms(@jakarta.annotation.Nullable List synonyms) { + this.synonyms = JsonNullable.>of(synonyms); } - public GlossaryTermUpdate tagsJson(@jakarta.annotation.Nullable List tagsJson) { - this.tagsJson = JsonNullable.>of(tagsJson); + public GlossaryTermUpdate tags(@jakarta.annotation.Nullable List tags) { + this.tags = JsonNullable.>of(tags); return this; } - public GlossaryTermUpdate addTagsJsonItem(String tagsJsonItem) { - if (this.tagsJson == null || !this.tagsJson.isPresent()) { - this.tagsJson = JsonNullable.>of(new ArrayList<>()); + public GlossaryTermUpdate addTagsItem(String tagsItem) { + if (this.tags == null || !this.tags.isPresent()) { + this.tags = JsonNullable.>of(new ArrayList<>()); } try { - this.tagsJson.get().add(tagsJsonItem); + this.tags.get().add(tagsItem); } catch (java.util.NoSuchElementException e) { // this can never happen, as we make sure above that the value is present } @@ -266,30 +252,30 @@ public GlossaryTermUpdate addTagsJsonItem(String tagsJsonItem) { } /** - * Get tagsJson - * @return tagsJson + * Get tags + * @return tags */ @jakarta.annotation.Nullable @JsonIgnore - public List getTagsJson() { - return tagsJson.orElse(null); + public List getTags() { + return tags.orElse(null); } - @JsonProperty(value = JSON_PROPERTY_TAGS_JSON, required = false) + @JsonProperty(value = JSON_PROPERTY_TAGS, required = false) @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public JsonNullable> getTagsJson_JsonNullable() { - return tagsJson; + public JsonNullable> getTags_JsonNullable() { + return tags; } - @JsonProperty(JSON_PROPERTY_TAGS_JSON) - public void setTagsJson_JsonNullable(JsonNullable> tagsJson) { - this.tagsJson = tagsJson; + @JsonProperty(JSON_PROPERTY_TAGS) + public void setTags_JsonNullable(JsonNullable> tags) { + this.tags = tags; } - public void setTagsJson(@jakarta.annotation.Nullable List tagsJson) { - this.tagsJson = JsonNullable.>of(tagsJson); + public void setTags(@jakarta.annotation.Nullable List tags) { + this.tags = JsonNullable.>of(tags); } @@ -303,10 +289,10 @@ public boolean equals(Object o) { } GlossaryTermUpdate glossaryTermUpdate = (GlossaryTermUpdate) o; return equalsNullable(this.definition, glossaryTermUpdate.definition) && - equalsNullable(this.relatedColumnsJson, glossaryTermUpdate.relatedColumnsJson) && - equalsNullable(this.relatedMetricsJson, glossaryTermUpdate.relatedMetricsJson) && - equalsNullable(this.synonymsJson, glossaryTermUpdate.synonymsJson) && - equalsNullable(this.tagsJson, glossaryTermUpdate.tagsJson); + equalsNullable(this.relatedColumns, glossaryTermUpdate.relatedColumns) && + equalsNullable(this.relatedMetrics, glossaryTermUpdate.relatedMetrics) && + equalsNullable(this.synonyms, glossaryTermUpdate.synonyms) && + equalsNullable(this.tags, glossaryTermUpdate.tags); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -315,7 +301,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(hashCodeNullable(definition), hashCodeNullable(relatedColumnsJson), hashCodeNullable(relatedMetricsJson), hashCodeNullable(synonymsJson), hashCodeNullable(tagsJson)); + return Objects.hash(hashCodeNullable(definition), hashCodeNullable(relatedColumns), hashCodeNullable(relatedMetrics), hashCodeNullable(synonyms), hashCodeNullable(tags)); } private static int hashCodeNullable(JsonNullable a) { @@ -330,10 +316,10 @@ public String toString() { StringBuilder sb = new StringBuilder(); sb.append("class GlossaryTermUpdate {\n"); sb.append(" definition: ").append(toIndentedString(definition)).append("\n"); - sb.append(" relatedColumnsJson: ").append(toIndentedString(relatedColumnsJson)).append("\n"); - sb.append(" relatedMetricsJson: ").append(toIndentedString(relatedMetricsJson)).append("\n"); - sb.append(" synonymsJson: ").append(toIndentedString(synonymsJson)).append("\n"); - sb.append(" tagsJson: ").append(toIndentedString(tagsJson)).append("\n"); + sb.append(" relatedColumns: ").append(toIndentedString(relatedColumns)).append("\n"); + sb.append(" relatedMetrics: ").append(toIndentedString(relatedMetrics)).append("\n"); + sb.append(" synonyms: ").append(toIndentedString(synonyms)).append("\n"); + sb.append(" tags: ").append(toIndentedString(tags)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/HTTPValidationError.java b/sdks/java/src/main/java/com/firefly/flyquery/model/HTTPValidationError.java index 3330df7..009182b 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/HTTPValidationError.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/HTTPValidationError.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -47,7 +33,7 @@ @JsonPropertyOrder({ HTTPValidationError.JSON_PROPERTY_DETAIL }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class HTTPValidationError { public static final String JSON_PROPERTY_DETAIL = "detail"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/IngestCostCents.java b/sdks/java/src/main/java/com/firefly/flyquery/model/IngestCostCents.java index 3f7c295..cae1c63 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/IngestCostCents.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/IngestCostCents.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -40,7 +26,7 @@ @JsonPropertyOrder({ }) @JsonTypeName("Ingest_Cost_Cents") -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class IngestCostCents { public IngestCostCents() { } diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/IngestEventListResponse.java b/sdks/java/src/main/java/com/firefly/flyquery/model/IngestEventListResponse.java index c17ecb7..a6a802b 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/IngestEventListResponse.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/IngestEventListResponse.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -50,7 +36,7 @@ IngestEventListResponse.JSON_PROPERTY_OFFSET, IngestEventListResponse.JSON_PROPERTY_TOTAL }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class IngestEventListResponse { public static final String JSON_PROPERTY_ITEMS = "items"; @jakarta.annotation.Nonnull diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/IngestEventRead.java b/sdks/java/src/main/java/com/firefly/flyquery/model/IngestEventRead.java index 8ab3e1e..af364fd 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/IngestEventRead.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/IngestEventRead.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -53,7 +39,7 @@ IngestEventRead.JSON_PROPERTY_STAGE, IngestEventRead.JSON_PROPERTY_STATUS }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class IngestEventRead { public static final String JSON_PROPERTY_CREATED_AT = "created_at"; @jakarta.annotation.Nonnull diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/IngestJobCreate.java b/sdks/java/src/main/java/com/firefly/flyquery/model/IngestJobCreate.java index 62faf48..2a58b73 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/IngestJobCreate.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/IngestJobCreate.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -56,7 +42,7 @@ IngestJobCreate.JSON_PROPERTY_REQUEST_JSON, IngestJobCreate.JSON_PROPERTY_TABLE_ID }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class IngestJobCreate { public static final String JSON_PROPERTY_CALLBACK = "callback"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/IngestJobListResponse.java b/sdks/java/src/main/java/com/firefly/flyquery/model/IngestJobListResponse.java index 79e8be8..fe4cda5 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/IngestJobListResponse.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/IngestJobListResponse.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -50,7 +36,7 @@ IngestJobListResponse.JSON_PROPERTY_OFFSET, IngestJobListResponse.JSON_PROPERTY_TOTAL }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class IngestJobListResponse { public static final String JSON_PROPERTY_ITEMS = "items"; @jakarta.annotation.Nonnull diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/IngestJobRead.java b/sdks/java/src/main/java/com/firefly/flyquery/model/IngestJobRead.java index 87ea84e..6ee0aa7 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/IngestJobRead.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/IngestJobRead.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -63,7 +49,7 @@ IngestJobRead.JSON_PROPERTY_TENANT_ID, IngestJobRead.JSON_PROPERTY_WORKSPACE_ID }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class IngestJobRead { public static final String JSON_PROPERTY_ATTEMPTS = "attempts"; @jakarta.annotation.Nonnull diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/LocationInner.java b/sdks/java/src/main/java/com/firefly/flyquery/model/LocationInner.java index ec7b375..8c6998d 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/LocationInner.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/LocationInner.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -39,7 +25,7 @@ @JsonPropertyOrder({ }) @JsonTypeName("Location_inner") -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class LocationInner { public LocationInner() { } diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/OtherCostCents.java b/sdks/java/src/main/java/com/firefly/flyquery/model/OtherCostCents.java index 0384d23..337ba7d 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/OtherCostCents.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/OtherCostCents.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -40,7 +26,7 @@ @JsonPropertyOrder({ }) @JsonTypeName("Other_Cost_Cents") -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class OtherCostCents { public OtherCostCents() { } diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedAuditEventRead.java b/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedAuditEventRead.java index 271c91f..9df9aff 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedAuditEventRead.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedAuditEventRead.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -56,7 +42,7 @@ PaginatedAuditEventRead.JSON_PROPERTY_TOTAL }) @JsonTypeName("Paginated[AuditEventRead]") -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class PaginatedAuditEventRead { public static final String JSON_PROPERTY_HAS_MORE = "has_more"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedConversationRead.java b/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedConversationRead.java index f39e4e3..f999e66 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedConversationRead.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedConversationRead.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -56,7 +42,7 @@ PaginatedConversationRead.JSON_PROPERTY_TOTAL }) @JsonTypeName("Paginated[ConversationRead]") -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class PaginatedConversationRead { public static final String JSON_PROPERTY_HAS_MORE = "has_more"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedCostEventRead.java b/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedCostEventRead.java index d23cda7..62cee69 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedCostEventRead.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedCostEventRead.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -56,7 +42,7 @@ PaginatedCostEventRead.JSON_PROPERTY_TOTAL }) @JsonTypeName("Paginated[CostEventRead]") -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class PaginatedCostEventRead { public static final String JSON_PROPERTY_HAS_MORE = "has_more"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedDatasetRead.java b/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedDatasetRead.java index 7543ed9..f674017 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedDatasetRead.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedDatasetRead.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -56,7 +42,7 @@ PaginatedDatasetRead.JSON_PROPERTY_TOTAL }) @JsonTypeName("Paginated[DatasetRead]") -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class PaginatedDatasetRead { public static final String JSON_PROPERTY_HAS_MORE = "has_more"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedExampleRead.java b/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedExampleRead.java index 66f9a14..5969601 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedExampleRead.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedExampleRead.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -56,7 +42,7 @@ PaginatedExampleRead.JSON_PROPERTY_TOTAL }) @JsonTypeName("Paginated[ExampleRead]") -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class PaginatedExampleRead { public static final String JSON_PROPERTY_HAS_MORE = "has_more"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedGlossaryTermRead.java b/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedGlossaryTermRead.java index 66bc494..436b4d7 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedGlossaryTermRead.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedGlossaryTermRead.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -56,7 +42,7 @@ PaginatedGlossaryTermRead.JSON_PROPERTY_TOTAL }) @JsonTypeName("Paginated[GlossaryTermRead]") -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class PaginatedGlossaryTermRead { public static final String JSON_PROPERTY_HAS_MORE = "has_more"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedQueryHistoryItem.java b/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedQueryHistoryItem.java index e6a3e18..dca2ac2 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedQueryHistoryItem.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedQueryHistoryItem.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -56,7 +42,7 @@ PaginatedQueryHistoryItem.JSON_PROPERTY_TOTAL }) @JsonTypeName("Paginated[QueryHistoryItem]") -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class PaginatedQueryHistoryItem { public static final String JSON_PROPERTY_HAS_MORE = "has_more"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedRelationRead.java b/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedRelationRead.java index cf5074a..fb8c988 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedRelationRead.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedRelationRead.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -56,7 +42,7 @@ PaginatedRelationRead.JSON_PROPERTY_TOTAL }) @JsonTypeName("Paginated[RelationRead]") -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class PaginatedRelationRead { public static final String JSON_PROPERTY_HAS_MORE = "has_more"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedSchemaChangeRead.java b/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedSchemaChangeRead.java index 1c49d91..983a7db 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedSchemaChangeRead.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedSchemaChangeRead.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -56,7 +42,7 @@ PaginatedSchemaChangeRead.JSON_PROPERTY_TOTAL }) @JsonTypeName("Paginated[SchemaChangeRead]") -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class PaginatedSchemaChangeRead { public static final String JSON_PROPERTY_HAS_MORE = "has_more"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedSchemaObjectRead.java b/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedSchemaObjectRead.java index 7724cce..16d9521 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedSchemaObjectRead.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedSchemaObjectRead.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -56,7 +42,7 @@ PaginatedSchemaObjectRead.JSON_PROPERTY_TOTAL }) @JsonTypeName("Paginated[SchemaObjectRead]") -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class PaginatedSchemaObjectRead { public static final String JSON_PROPERTY_HAS_MORE = "has_more"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedSemanticDimensionRead.java b/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedSemanticDimensionRead.java index 9c88e07..6d5dfdb 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedSemanticDimensionRead.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedSemanticDimensionRead.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -56,7 +42,7 @@ PaginatedSemanticDimensionRead.JSON_PROPERTY_TOTAL }) @JsonTypeName("Paginated[SemanticDimensionRead]") -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class PaginatedSemanticDimensionRead { public static final String JSON_PROPERTY_HAS_MORE = "has_more"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedSemanticMetricRead.java b/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedSemanticMetricRead.java index 44174d2..3767fac 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedSemanticMetricRead.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedSemanticMetricRead.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -56,7 +42,7 @@ PaginatedSemanticMetricRead.JSON_PROPERTY_TOTAL }) @JsonTypeName("Paginated[SemanticMetricRead]") -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class PaginatedSemanticMetricRead { public static final String JSON_PROPERTY_HAS_MORE = "has_more"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedSemanticVersionRead.java b/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedSemanticVersionRead.java index 82dfab0..e9dd153 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedSemanticVersionRead.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedSemanticVersionRead.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -56,7 +42,7 @@ PaginatedSemanticVersionRead.JSON_PROPERTY_TOTAL }) @JsonTypeName("Paginated[SemanticVersionRead]") -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class PaginatedSemanticVersionRead { public static final String JSON_PROPERTY_HAS_MORE = "has_more"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedSnapshotRead.java b/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedSnapshotRead.java index c61ea5a..0a71657 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedSnapshotRead.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedSnapshotRead.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -56,7 +42,7 @@ PaginatedSnapshotRead.JSON_PROPERTY_TOTAL }) @JsonTypeName("Paginated[SnapshotRead]") -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class PaginatedSnapshotRead { public static final String JSON_PROPERTY_HAS_MORE = "has_more"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedTableRead.java b/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedTableRead.java index ddf296d..29a7be3 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedTableRead.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedTableRead.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -56,7 +42,7 @@ PaginatedTableRead.JSON_PROPERTY_TOTAL }) @JsonTypeName("Paginated[TableRead]") -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class PaginatedTableRead { public static final String JSON_PROPERTY_HAS_MORE = "has_more"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedWorkspaceRead.java b/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedWorkspaceRead.java index b3f2621..04c2458 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedWorkspaceRead.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/PaginatedWorkspaceRead.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -56,7 +42,7 @@ PaginatedWorkspaceRead.JSON_PROPERTY_TOTAL }) @JsonTypeName("Paginated[WorkspaceRead]") -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class PaginatedWorkspaceRead { public static final String JSON_PROPERTY_HAS_MORE = "has_more"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/PurgeAccepted.java b/sdks/java/src/main/java/com/firefly/flyquery/model/PurgeAccepted.java index 9e99b25..798a0ec 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/PurgeAccepted.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/PurgeAccepted.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -44,7 +30,7 @@ PurgeAccepted.JSON_PROPERTY_STATUS, PurgeAccepted.JSON_PROPERTY_TOMBSTONE_EXPIRES_AT }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class PurgeAccepted { public static final String JSON_PROPERTY_STATUS = "status"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/QueryCostCents.java b/sdks/java/src/main/java/com/firefly/flyquery/model/QueryCostCents.java index c508737..2796c92 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/QueryCostCents.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/QueryCostCents.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -40,7 +26,7 @@ @JsonPropertyOrder({ }) @JsonTypeName("Query_Cost_Cents") -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class QueryCostCents { public QueryCostCents() { } diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/QueryDetailRead.java b/sdks/java/src/main/java/com/firefly/flyquery/model/QueryDetailRead.java index 86cb63a..994a024 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/QueryDetailRead.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/QueryDetailRead.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -82,7 +68,7 @@ QueryDetailRead.JSON_PROPERTY_TENANT_ID, QueryDetailRead.JSON_PROPERTY_WORKSPACE_ID }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class QueryDetailRead { public static final String JSON_PROPERTY_AST_CLASSIFICATION = "ast_classification"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/QueryHistoryItem.java b/sdks/java/src/main/java/com/firefly/flyquery/model/QueryHistoryItem.java index 9b9aab3..54ea5df 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/QueryHistoryItem.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/QueryHistoryItem.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -63,7 +49,7 @@ QueryHistoryItem.JSON_PROPERTY_TENANT_ID, QueryHistoryItem.JSON_PROPERTY_WORKSPACE_ID }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class QueryHistoryItem { public static final String JSON_PROPERTY_AST_CLASSIFICATION = "ast_classification"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/QueryRequest.java b/sdks/java/src/main/java/com/firefly/flyquery/model/QueryRequest.java index 5be592b..0e6c160 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/QueryRequest.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/QueryRequest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -50,7 +36,7 @@ QueryRequest.JSON_PROPERTY_DATASET_ID, QueryRequest.JSON_PROPERTY_QUESTION }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class QueryRequest { public static final String JSON_PROPERTY_CONVERSATION_ID = "conversation_id"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/QueryResultRead.java b/sdks/java/src/main/java/com/firefly/flyquery/model/QueryResultRead.java index 5af2d6b..e0a49fd 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/QueryResultRead.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/QueryResultRead.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -53,7 +39,7 @@ QueryResultRead.JSON_PROPERTY_RESULT_BYTE_SIZE, QueryResultRead.JSON_PROPERTY_TTL_EXPIRES_AT }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class QueryResultRead { public static final String JSON_PROPERTY_PARQUET_PRESIGNED_URL = "parquet_presigned_url"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/RelationApprovalRead.java b/sdks/java/src/main/java/com/firefly/flyquery/model/RelationApprovalRead.java index dee84da..4e10faf 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/RelationApprovalRead.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/RelationApprovalRead.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -48,7 +34,7 @@ RelationApprovalRead.JSON_PROPERTY_STATUS, RelationApprovalRead.JSON_PROPERTY_UPDATED_AT }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class RelationApprovalRead { public static final String JSON_PROPERTY_APPROVED_BY = "approved_by"; @jakarta.annotation.Nonnull diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/RelationRead.java b/sdks/java/src/main/java/com/firefly/flyquery/model/RelationRead.java index c29a9e5..a09fad7 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/RelationRead.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/RelationRead.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -64,7 +50,7 @@ RelationRead.JSON_PROPERTY_TO_TABLE_NAME, RelationRead.JSON_PROPERTY_UPDATED_AT }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class RelationRead { public static final String JSON_PROPERTY_APPROVED_BY = "approved_by"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/RelationRejectionRead.java b/sdks/java/src/main/java/com/firefly/flyquery/model/RelationRejectionRead.java index d80b5ac..d41ab9b 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/RelationRejectionRead.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/RelationRejectionRead.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -47,7 +33,7 @@ RelationRejectionRead.JSON_PROPERTY_STATUS, RelationRejectionRead.JSON_PROPERTY_UPDATED_AT }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class RelationRejectionRead { public static final String JSON_PROPERTY_ID = "id"; @jakarta.annotation.Nonnull diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/ReuploadResponse.java b/sdks/java/src/main/java/com/firefly/flyquery/model/ReuploadResponse.java index c600cce..792db9f 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/ReuploadResponse.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/ReuploadResponse.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -46,7 +32,7 @@ ReuploadResponse.JSON_PROPERTY_N_ROWS_ACTUAL, ReuploadResponse.JSON_PROPERTY_SNAPSHOT_ID }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class ReuploadResponse { public static final String JSON_PROPERTY_FILE_ID = "file_id"; @jakarta.annotation.Nonnull diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/SchemaChangeRead.java b/sdks/java/src/main/java/com/firefly/flyquery/model/SchemaChangeRead.java index 75a6ba2..936cc90 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/SchemaChangeRead.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/SchemaChangeRead.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -62,7 +48,7 @@ SchemaChangeRead.JSON_PROPERTY_PREV_SNAPSHOT_ID, SchemaChangeRead.JSON_PROPERTY_TABLE_ID }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class SchemaChangeRead { public static final String JSON_PROPERTY_AFTER_JSON = "after_json"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/SchemaObjectRead.java b/sdks/java/src/main/java/com/firefly/flyquery/model/SchemaObjectRead.java index 4180090..09325ec 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/SchemaObjectRead.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/SchemaObjectRead.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -68,7 +54,7 @@ SchemaObjectRead.JSON_PROPERTY_TENANT_ID, SchemaObjectRead.JSON_PROPERTY_WORKSPACE_ID }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class SchemaObjectRead { public static final String JSON_PROPERTY_BUSINESS_OWNER = "business_owner"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/SchemaObjectUpdate.java b/sdks/java/src/main/java/com/firefly/flyquery/model/SchemaObjectUpdate.java index f1fa220..283ce65 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/SchemaObjectUpdate.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/SchemaObjectUpdate.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -56,7 +42,7 @@ SchemaObjectUpdate.JSON_PROPERTY_PII_TAG, SchemaObjectUpdate.JSON_PROPERTY_SYNONYMS_JSON }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class SchemaObjectUpdate { public static final String JSON_PROPERTY_BUSINESS_OWNER = "business_owner"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/SemanticDimensionCreate.java b/sdks/java/src/main/java/com/firefly/flyquery/model/SemanticDimensionCreate.java index 530ebbf..fb1739e 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/SemanticDimensionCreate.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/SemanticDimensionCreate.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -43,17 +29,16 @@ import com.fasterxml.jackson.annotation.JsonTypeName; /** - * Payload for creating a new semantic dimension. + * Payload for creating a new semantic dimension. The dimension's ``type`` (categorical|time) is taken from the ``definition_yaml`` body, not a separate request field. */ @JsonPropertyOrder({ SemanticDimensionCreate.JSON_PROPERTY_DATASET_ID, SemanticDimensionCreate.JSON_PROPERTY_DEFINITION_YAML, SemanticDimensionCreate.JSON_PROPERTY_DESCRIPTION, SemanticDimensionCreate.JSON_PROPERTY_LABEL, - SemanticDimensionCreate.JSON_PROPERTY_METRIC_TYPE, SemanticDimensionCreate.JSON_PROPERTY_NAME }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class SemanticDimensionCreate { public static final String JSON_PROPERTY_DATASET_ID = "dataset_id"; @jakarta.annotation.Nonnull @@ -71,49 +56,6 @@ public class SemanticDimensionCreate { @jakarta.annotation.Nullable private JsonNullable label = JsonNullable.undefined(); - /** - * Gets or Sets metricType - */ - public enum MetricTypeEnum { - SIMPLE(String.valueOf("SIMPLE")), - - RATIO(String.valueOf("RATIO")), - - DERIVED(String.valueOf("DERIVED")), - - CUMULATIVE(String.valueOf("CUMULATIVE")); - - private String value; - - MetricTypeEnum(String value) { - this.value = value; - } - - @JsonValue - public String getValue() { - return value; - } - - @Override - public String toString() { - return String.valueOf(value); - } - - @JsonCreator - public static MetricTypeEnum fromValue(String value) { - for (MetricTypeEnum b : MetricTypeEnum.values()) { - if (b.value.equals(value)) { - return b; - } - } - throw new IllegalArgumentException("Unexpected value '" + value + "'"); - } - } - - public static final String JSON_PROPERTY_METRIC_TYPE = "metric_type"; - @jakarta.annotation.Nullable - private MetricTypeEnum metricType = MetricTypeEnum.SIMPLE; - public static final String JSON_PROPERTY_NAME = "name"; @jakarta.annotation.Nonnull private String name; @@ -237,31 +179,6 @@ public void setLabel(@jakarta.annotation.Nullable String label) { this.label = JsonNullable.of(label); } - public SemanticDimensionCreate metricType(@jakarta.annotation.Nullable MetricTypeEnum metricType) { - - this.metricType = metricType; - return this; - } - - /** - * Get metricType - * @return metricType - */ - @jakarta.annotation.Nullable - @JsonProperty(value = JSON_PROPERTY_METRIC_TYPE, required = false) - @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - - public MetricTypeEnum getMetricType() { - return metricType; - } - - - @JsonProperty(value = JSON_PROPERTY_METRIC_TYPE, required = false) - @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - public void setMetricType(@jakarta.annotation.Nullable MetricTypeEnum metricType) { - this.metricType = metricType; - } - public SemanticDimensionCreate name(@jakarta.annotation.Nonnull String name) { this.name = name; @@ -301,7 +218,6 @@ public boolean equals(Object o) { Objects.equals(this.definitionYaml, semanticDimensionCreate.definitionYaml) && equalsNullable(this.description, semanticDimensionCreate.description) && equalsNullable(this.label, semanticDimensionCreate.label) && - Objects.equals(this.metricType, semanticDimensionCreate.metricType) && Objects.equals(this.name, semanticDimensionCreate.name); } @@ -311,7 +227,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(datasetId, definitionYaml, hashCodeNullable(description), hashCodeNullable(label), metricType, name); + return Objects.hash(datasetId, definitionYaml, hashCodeNullable(description), hashCodeNullable(label), name); } private static int hashCodeNullable(JsonNullable a) { @@ -329,7 +245,6 @@ public String toString() { sb.append(" definitionYaml: ").append(toIndentedString(definitionYaml)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" label: ").append(toIndentedString(label)).append("\n"); - sb.append(" metricType: ").append(toIndentedString(metricType)).append("\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append("}"); return sb.toString(); diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/SemanticDimensionRead.java b/sdks/java/src/main/java/com/firefly/flyquery/model/SemanticDimensionRead.java index e509c53..58582af 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/SemanticDimensionRead.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/SemanticDimensionRead.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -35,6 +21,8 @@ import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.annotation.JsonValue; import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.Map; import java.util.UUID; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; @@ -49,16 +37,17 @@ SemanticDimensionRead.JSON_PROPERTY_DATASET_ID, SemanticDimensionRead.JSON_PROPERTY_DEFINITION_YAML, SemanticDimensionRead.JSON_PROPERTY_DESCRIPTION, + SemanticDimensionRead.JSON_PROPERTY_DIMENSION_TYPE, SemanticDimensionRead.JSON_PROPERTY_ID, SemanticDimensionRead.JSON_PROPERTY_LABEL, - SemanticDimensionRead.JSON_PROPERTY_METRIC_TYPE, + SemanticDimensionRead.JSON_PROPERTY_METADATA_JSON, SemanticDimensionRead.JSON_PROPERTY_NAME, SemanticDimensionRead.JSON_PROPERTY_STATUS, SemanticDimensionRead.JSON_PROPERTY_TENANT_ID, SemanticDimensionRead.JSON_PROPERTY_UPDATED_AT, SemanticDimensionRead.JSON_PROPERTY_WORKSPACE_ID }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class SemanticDimensionRead { public static final String JSON_PROPERTY_COMPILED_SQL_TEMPLATE = "compiled_sql_template"; @jakarta.annotation.Nullable @@ -84,29 +73,17 @@ public class SemanticDimensionRead { @jakarta.annotation.Nullable private String description; - public static final String JSON_PROPERTY_ID = "id"; - @jakarta.annotation.Nonnull - private UUID id; - - public static final String JSON_PROPERTY_LABEL = "label"; - @jakarta.annotation.Nullable - private String label; - /** - * Gets or Sets metricType + * Gets or Sets dimensionType */ - public enum MetricTypeEnum { - SIMPLE(String.valueOf("SIMPLE")), - - RATIO(String.valueOf("RATIO")), - - DERIVED(String.valueOf("DERIVED")), + public enum DimensionTypeEnum { + CATEGORICAL(String.valueOf("categorical")), - CUMULATIVE(String.valueOf("CUMULATIVE")); + TIME(String.valueOf("time")); private String value; - MetricTypeEnum(String value) { + DimensionTypeEnum(String value) { this.value = value; } @@ -121,8 +98,8 @@ public String toString() { } @JsonCreator - public static MetricTypeEnum fromValue(String value) { - for (MetricTypeEnum b : MetricTypeEnum.values()) { + public static DimensionTypeEnum fromValue(String value) { + for (DimensionTypeEnum b : DimensionTypeEnum.values()) { if (b.value.equals(value)) { return b; } @@ -131,9 +108,21 @@ public static MetricTypeEnum fromValue(String value) { } } - public static final String JSON_PROPERTY_METRIC_TYPE = "metric_type"; + public static final String JSON_PROPERTY_DIMENSION_TYPE = "dimension_type"; @jakarta.annotation.Nonnull - private MetricTypeEnum metricType; + private DimensionTypeEnum dimensionType; + + public static final String JSON_PROPERTY_ID = "id"; + @jakarta.annotation.Nonnull + private UUID id; + + public static final String JSON_PROPERTY_LABEL = "label"; + @jakarta.annotation.Nullable + private String label; + + public static final String JSON_PROPERTY_METADATA_JSON = "metadata_json"; + @jakarta.annotation.Nullable + private Map metadataJson = new HashMap<>(); public static final String JSON_PROPERTY_NAME = "name"; @jakarta.annotation.Nonnull @@ -345,6 +334,31 @@ public void setDescription(@jakarta.annotation.Nullable String description) { this.description = description; } + public SemanticDimensionRead dimensionType(@jakarta.annotation.Nonnull DimensionTypeEnum dimensionType) { + + this.dimensionType = dimensionType; + return this; + } + + /** + * Get dimensionType + * @return dimensionType + */ + @jakarta.annotation.Nonnull + @JsonProperty(value = JSON_PROPERTY_DIMENSION_TYPE, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + + public DimensionTypeEnum getDimensionType() { + return dimensionType; + } + + + @JsonProperty(value = JSON_PROPERTY_DIMENSION_TYPE, required = true) + @JsonInclude(value = JsonInclude.Include.ALWAYS) + public void setDimensionType(@jakarta.annotation.Nonnull DimensionTypeEnum dimensionType) { + this.dimensionType = dimensionType; + } + public SemanticDimensionRead id(@jakarta.annotation.Nonnull UUID id) { this.id = id; @@ -395,29 +409,37 @@ public void setLabel(@jakarta.annotation.Nullable String label) { this.label = label; } - public SemanticDimensionRead metricType(@jakarta.annotation.Nonnull MetricTypeEnum metricType) { + public SemanticDimensionRead metadataJson(@jakarta.annotation.Nullable Map metadataJson) { - this.metricType = metricType; + this.metadataJson = metadataJson; + return this; + } + + public SemanticDimensionRead putMetadataJsonItem(String key, Object metadataJsonItem) { + if (this.metadataJson == null) { + this.metadataJson = new HashMap<>(); + } + this.metadataJson.put(key, metadataJsonItem); return this; } /** - * Get metricType - * @return metricType + * Get metadataJson + * @return metadataJson */ - @jakarta.annotation.Nonnull - @JsonProperty(value = JSON_PROPERTY_METRIC_TYPE, required = true) - @JsonInclude(value = JsonInclude.Include.ALWAYS) + @jakarta.annotation.Nullable + @JsonProperty(value = JSON_PROPERTY_METADATA_JSON, required = false) + @JsonInclude(content = JsonInclude.Include.ALWAYS, value = JsonInclude.Include.USE_DEFAULTS) - public MetricTypeEnum getMetricType() { - return metricType; + public Map getMetadataJson() { + return metadataJson; } - @JsonProperty(value = JSON_PROPERTY_METRIC_TYPE, required = true) - @JsonInclude(value = JsonInclude.Include.ALWAYS) - public void setMetricType(@jakarta.annotation.Nonnull MetricTypeEnum metricType) { - this.metricType = metricType; + @JsonProperty(value = JSON_PROPERTY_METADATA_JSON, required = false) + @JsonInclude(content = JsonInclude.Include.ALWAYS, value = JsonInclude.Include.USE_DEFAULTS) + public void setMetadataJson(@jakarta.annotation.Nullable Map metadataJson) { + this.metadataJson = metadataJson; } public SemanticDimensionRead name(@jakarta.annotation.Nonnull String name) { @@ -561,9 +583,10 @@ public boolean equals(Object o) { Objects.equals(this.datasetId, semanticDimensionRead.datasetId) && Objects.equals(this.definitionYaml, semanticDimensionRead.definitionYaml) && Objects.equals(this.description, semanticDimensionRead.description) && + Objects.equals(this.dimensionType, semanticDimensionRead.dimensionType) && Objects.equals(this.id, semanticDimensionRead.id) && Objects.equals(this.label, semanticDimensionRead.label) && - Objects.equals(this.metricType, semanticDimensionRead.metricType) && + Objects.equals(this.metadataJson, semanticDimensionRead.metadataJson) && Objects.equals(this.name, semanticDimensionRead.name) && Objects.equals(this.status, semanticDimensionRead.status) && Objects.equals(this.tenantId, semanticDimensionRead.tenantId) && @@ -573,7 +596,7 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(compiledSqlTemplate, createdAt, currentVersion, datasetId, definitionYaml, description, id, label, metricType, name, status, tenantId, updatedAt, workspaceId); + return Objects.hash(compiledSqlTemplate, createdAt, currentVersion, datasetId, definitionYaml, description, dimensionType, id, label, metadataJson, name, status, tenantId, updatedAt, workspaceId); } @Override @@ -586,9 +609,10 @@ public String toString() { sb.append(" datasetId: ").append(toIndentedString(datasetId)).append("\n"); sb.append(" definitionYaml: ").append(toIndentedString(definitionYaml)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); + sb.append(" dimensionType: ").append(toIndentedString(dimensionType)).append("\n"); sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" label: ").append(toIndentedString(label)).append("\n"); - sb.append(" metricType: ").append(toIndentedString(metricType)).append("\n"); + sb.append(" metadataJson: ").append(toIndentedString(metadataJson)).append("\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" status: ").append(toIndentedString(status)).append("\n"); sb.append(" tenantId: ").append(toIndentedString(tenantId)).append("\n"); diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/SemanticDimensionUpdate.java b/sdks/java/src/main/java/com/firefly/flyquery/model/SemanticDimensionUpdate.java index 34a6c40..251f7e8 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/SemanticDimensionUpdate.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/SemanticDimensionUpdate.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -47,10 +33,9 @@ @JsonPropertyOrder({ SemanticDimensionUpdate.JSON_PROPERTY_DEFINITION_YAML, SemanticDimensionUpdate.JSON_PROPERTY_DESCRIPTION, - SemanticDimensionUpdate.JSON_PROPERTY_LABEL, - SemanticDimensionUpdate.JSON_PROPERTY_METRIC_TYPE + SemanticDimensionUpdate.JSON_PROPERTY_LABEL }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class SemanticDimensionUpdate { public static final String JSON_PROPERTY_DEFINITION_YAML = "definition_yaml"; @jakarta.annotation.Nullable @@ -64,49 +49,6 @@ public class SemanticDimensionUpdate { @jakarta.annotation.Nullable private JsonNullable label = JsonNullable.undefined(); - /** - * Gets or Sets metricType - */ - public enum MetricTypeEnum { - SIMPLE(String.valueOf("SIMPLE")), - - RATIO(String.valueOf("RATIO")), - - DERIVED(String.valueOf("DERIVED")), - - CUMULATIVE(String.valueOf("CUMULATIVE")); - - private String value; - - MetricTypeEnum(String value) { - this.value = value; - } - - @JsonValue - public String getValue() { - return value; - } - - @Override - public String toString() { - return String.valueOf(value); - } - - @JsonCreator - public static MetricTypeEnum fromValue(String value) { - for (MetricTypeEnum b : MetricTypeEnum.values()) { - if (b.value.equals(value)) { - return b; - } - } - return null; - } - } - - public static final String JSON_PROPERTY_METRIC_TYPE = "metric_type"; - @jakarta.annotation.Nullable - private JsonNullable metricType = JsonNullable.undefined(); - public SemanticDimensionUpdate() { } @@ -209,39 +151,6 @@ public void setLabel(@jakarta.annotation.Nullable String label) { this.label = JsonNullable.of(label); } - public SemanticDimensionUpdate metricType(@jakarta.annotation.Nullable MetricTypeEnum metricType) { - this.metricType = JsonNullable.of(metricType); - - return this; - } - - /** - * Get metricType - * @return metricType - */ - @jakarta.annotation.Nullable - @JsonIgnore - - public MetricTypeEnum getMetricType() { - return metricType.orElse(null); - } - - @JsonProperty(value = JSON_PROPERTY_METRIC_TYPE, required = false) - @JsonInclude(value = JsonInclude.Include.USE_DEFAULTS) - - public JsonNullable getMetricType_JsonNullable() { - return metricType; - } - - @JsonProperty(JSON_PROPERTY_METRIC_TYPE) - public void setMetricType_JsonNullable(JsonNullable metricType) { - this.metricType = metricType; - } - - public void setMetricType(@jakarta.annotation.Nullable MetricTypeEnum metricType) { - this.metricType = JsonNullable.of(metricType); - } - @Override public boolean equals(Object o) { @@ -254,8 +163,7 @@ public boolean equals(Object o) { SemanticDimensionUpdate semanticDimensionUpdate = (SemanticDimensionUpdate) o; return equalsNullable(this.definitionYaml, semanticDimensionUpdate.definitionYaml) && equalsNullable(this.description, semanticDimensionUpdate.description) && - equalsNullable(this.label, semanticDimensionUpdate.label) && - equalsNullable(this.metricType, semanticDimensionUpdate.metricType); + equalsNullable(this.label, semanticDimensionUpdate.label); } private static boolean equalsNullable(JsonNullable a, JsonNullable b) { @@ -264,7 +172,7 @@ private static boolean equalsNullable(JsonNullable a, JsonNullable b) @Override public int hashCode() { - return Objects.hash(hashCodeNullable(definitionYaml), hashCodeNullable(description), hashCodeNullable(label), hashCodeNullable(metricType)); + return Objects.hash(hashCodeNullable(definitionYaml), hashCodeNullable(description), hashCodeNullable(label)); } private static int hashCodeNullable(JsonNullable a) { @@ -281,7 +189,6 @@ public String toString() { sb.append(" definitionYaml: ").append(toIndentedString(definitionYaml)).append("\n"); sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" label: ").append(toIndentedString(label)).append("\n"); - sb.append(" metricType: ").append(toIndentedString(metricType)).append("\n"); sb.append("}"); return sb.toString(); } diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/SemanticMetricCreate.java b/sdks/java/src/main/java/com/firefly/flyquery/model/SemanticMetricCreate.java index e142007..80b291e 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/SemanticMetricCreate.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/SemanticMetricCreate.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -53,7 +39,7 @@ SemanticMetricCreate.JSON_PROPERTY_METRIC_TYPE, SemanticMetricCreate.JSON_PROPERTY_NAME }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class SemanticMetricCreate { public static final String JSON_PROPERTY_DATASET_ID = "dataset_id"; @jakarta.annotation.Nonnull diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/SemanticMetricRead.java b/sdks/java/src/main/java/com/firefly/flyquery/model/SemanticMetricRead.java index cb8d5c1..966698b 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/SemanticMetricRead.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/SemanticMetricRead.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -35,6 +21,8 @@ import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.annotation.JsonValue; import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.Map; import java.util.UUID; import com.fasterxml.jackson.annotation.JsonPropertyOrder; import com.fasterxml.jackson.annotation.JsonTypeName; @@ -51,6 +39,7 @@ SemanticMetricRead.JSON_PROPERTY_DESCRIPTION, SemanticMetricRead.JSON_PROPERTY_ID, SemanticMetricRead.JSON_PROPERTY_LABEL, + SemanticMetricRead.JSON_PROPERTY_METADATA_JSON, SemanticMetricRead.JSON_PROPERTY_METRIC_TYPE, SemanticMetricRead.JSON_PROPERTY_NAME, SemanticMetricRead.JSON_PROPERTY_STATUS, @@ -58,7 +47,7 @@ SemanticMetricRead.JSON_PROPERTY_UPDATED_AT, SemanticMetricRead.JSON_PROPERTY_WORKSPACE_ID }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class SemanticMetricRead { public static final String JSON_PROPERTY_COMPILED_SQL_TEMPLATE = "compiled_sql_template"; @jakarta.annotation.Nullable @@ -92,6 +81,10 @@ public class SemanticMetricRead { @jakarta.annotation.Nullable private String label; + public static final String JSON_PROPERTY_METADATA_JSON = "metadata_json"; + @jakarta.annotation.Nullable + private Map metadataJson = new HashMap<>(); + /** * Gets or Sets metricType */ @@ -395,6 +388,39 @@ public void setLabel(@jakarta.annotation.Nullable String label) { this.label = label; } + public SemanticMetricRead metadataJson(@jakarta.annotation.Nullable Map metadataJson) { + + this.metadataJson = metadataJson; + return this; + } + + public SemanticMetricRead putMetadataJsonItem(String key, Object metadataJsonItem) { + if (this.metadataJson == null) { + this.metadataJson = new HashMap<>(); + } + this.metadataJson.put(key, metadataJsonItem); + return this; + } + + /** + * Get metadataJson + * @return metadataJson + */ + @jakarta.annotation.Nullable + @JsonProperty(value = JSON_PROPERTY_METADATA_JSON, required = false) + @JsonInclude(content = JsonInclude.Include.ALWAYS, value = JsonInclude.Include.USE_DEFAULTS) + + public Map getMetadataJson() { + return metadataJson; + } + + + @JsonProperty(value = JSON_PROPERTY_METADATA_JSON, required = false) + @JsonInclude(content = JsonInclude.Include.ALWAYS, value = JsonInclude.Include.USE_DEFAULTS) + public void setMetadataJson(@jakarta.annotation.Nullable Map metadataJson) { + this.metadataJson = metadataJson; + } + public SemanticMetricRead metricType(@jakarta.annotation.Nonnull MetricTypeEnum metricType) { this.metricType = metricType; @@ -563,6 +589,7 @@ public boolean equals(Object o) { Objects.equals(this.description, semanticMetricRead.description) && Objects.equals(this.id, semanticMetricRead.id) && Objects.equals(this.label, semanticMetricRead.label) && + Objects.equals(this.metadataJson, semanticMetricRead.metadataJson) && Objects.equals(this.metricType, semanticMetricRead.metricType) && Objects.equals(this.name, semanticMetricRead.name) && Objects.equals(this.status, semanticMetricRead.status) && @@ -573,7 +600,7 @@ public boolean equals(Object o) { @Override public int hashCode() { - return Objects.hash(compiledSqlTemplate, createdAt, currentVersion, datasetId, definitionYaml, description, id, label, metricType, name, status, tenantId, updatedAt, workspaceId); + return Objects.hash(compiledSqlTemplate, createdAt, currentVersion, datasetId, definitionYaml, description, id, label, metadataJson, metricType, name, status, tenantId, updatedAt, workspaceId); } @Override @@ -588,6 +615,7 @@ public String toString() { sb.append(" description: ").append(toIndentedString(description)).append("\n"); sb.append(" id: ").append(toIndentedString(id)).append("\n"); sb.append(" label: ").append(toIndentedString(label)).append("\n"); + sb.append(" metadataJson: ").append(toIndentedString(metadataJson)).append("\n"); sb.append(" metricType: ").append(toIndentedString(metricType)).append("\n"); sb.append(" name: ").append(toIndentedString(name)).append("\n"); sb.append(" status: ").append(toIndentedString(status)).append("\n"); diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/SemanticMetricUpdate.java b/sdks/java/src/main/java/com/firefly/flyquery/model/SemanticMetricUpdate.java index a19535f..13be80c 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/SemanticMetricUpdate.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/SemanticMetricUpdate.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -50,7 +36,7 @@ SemanticMetricUpdate.JSON_PROPERTY_LABEL, SemanticMetricUpdate.JSON_PROPERTY_METRIC_TYPE }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class SemanticMetricUpdate { public static final String JSON_PROPERTY_DEFINITION_YAML = "definition_yaml"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/SemanticVersionRead.java b/sdks/java/src/main/java/com/firefly/flyquery/model/SemanticVersionRead.java index 7f20143..d10b5c7 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/SemanticVersionRead.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/SemanticVersionRead.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -40,7 +26,7 @@ import com.fasterxml.jackson.annotation.JsonTypeName; /** - * Read representation of a flyquery_semantic_versions row. + * Read representation of a flyquery_semantic_versions row. Field names follow the documented payload (``version_number``, ``metric_id``); the underlying columns are ``version`` / ``parent_id`` and are mapped via validation aliases. */ @JsonPropertyOrder({ SemanticVersionRead.JSON_PROPERTY_COMPILED_SQL_TEMPLATE, @@ -54,7 +40,7 @@ SemanticVersionRead.JSON_PROPERTY_VERSION, SemanticVersionRead.JSON_PROPERTY_WORKSPACE_ID }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class SemanticVersionRead { public static final String JSON_PROPERTY_COMPILED_SQL_TEMPLATE = "compiled_sql_template"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/SnapshotRead.java b/sdks/java/src/main/java/com/firefly/flyquery/model/SnapshotRead.java index 43f4ffe..cb1fea9 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/SnapshotRead.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/SnapshotRead.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -53,7 +39,7 @@ SnapshotRead.JSON_PROPERTY_TAKEN_AT, SnapshotRead.JSON_PROPERTY_TRIGGERED_BY }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class SnapshotRead { public static final String JSON_PROPERTY_ID = "id"; @jakarta.annotation.Nonnull diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/SqlExecuteRequest.java b/sdks/java/src/main/java/com/firefly/flyquery/model/SqlExecuteRequest.java index f0f616d..b36b952 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/SqlExecuteRequest.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/SqlExecuteRequest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -45,7 +31,7 @@ SqlExecuteRequest.JSON_PROPERTY_DATASET_ID, SqlExecuteRequest.JSON_PROPERTY_SQL }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class SqlExecuteRequest { public static final String JSON_PROPERTY_DATASET_ID = "dataset_id"; @jakarta.annotation.Nonnull diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/SqlExecuteResponse.java b/sdks/java/src/main/java/com/firefly/flyquery/model/SqlExecuteResponse.java index ffe09b4..7fe8059 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/SqlExecuteResponse.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/SqlExecuteResponse.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -55,7 +41,7 @@ SqlExecuteResponse.JSON_PROPERTY_SQL, SqlExecuteResponse.JSON_PROPERTY_TRUNCATED }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class SqlExecuteResponse { public static final String JSON_PROPERTY_AST_CLASSIFICATION = "ast_classification"; @jakarta.annotation.Nonnull diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/TableRead.java b/sdks/java/src/main/java/com/firefly/flyquery/model/TableRead.java index 8bb3e5e..24a9fe4 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/TableRead.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/TableRead.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -65,7 +51,7 @@ TableRead.JSON_PROPERTY_UPDATED_AT, TableRead.JSON_PROPERTY_WORKSPACE_ID }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class TableRead { public static final String JSON_PROPERTY_BUSINESS_OWNER = "business_owner"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/TableSummary.java b/sdks/java/src/main/java/com/firefly/flyquery/model/TableSummary.java index a6b4af5..b536257 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/TableSummary.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/TableSummary.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -46,7 +32,7 @@ TableSummary.JSON_PROPERTY_NAME, TableSummary.JSON_PROPERTY_TABLE_ID }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class TableSummary { public static final String JSON_PROPERTY_N_COLUMNS = "n_columns"; @jakarta.annotation.Nonnull diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/TotalCostCents.java b/sdks/java/src/main/java/com/firefly/flyquery/model/TotalCostCents.java index a39b37a..2618d59 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/TotalCostCents.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/TotalCostCents.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -40,7 +26,7 @@ @JsonPropertyOrder({ }) @JsonTypeName("Total_Cost_Cents") -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class TotalCostCents { public TotalCostCents() { } diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/TurnRead.java b/sdks/java/src/main/java/com/firefly/flyquery/model/TurnRead.java index 831ac89..6052be5 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/TurnRead.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/TurnRead.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -62,7 +48,7 @@ TurnRead.JSON_PROPERTY_TURN_INDEX, TurnRead.JSON_PROPERTY_WORKSPACE_ID }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class TurnRead { public static final String JSON_PROPERTY_CONVERSATION_ID = "conversation_id"; @jakarta.annotation.Nonnull diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/UsageSummary.java b/sdks/java/src/main/java/com/firefly/flyquery/model/UsageSummary.java index f75f0f8..cadf032 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/UsageSummary.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/UsageSummary.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -53,7 +39,7 @@ UsageSummary.JSON_PROPERTY_TOTAL_OUTPUT_TOKENS, UsageSummary.JSON_PROPERTY_TOTAL_TOKENS }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class UsageSummary { public static final String JSON_PROPERTY_BY_AGENT = "by_agent"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/ValidateResponse.java b/sdks/java/src/main/java/com/firefly/flyquery/model/ValidateResponse.java index 9c340ae..75ce42f 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/ValidateResponse.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/ValidateResponse.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -56,7 +42,7 @@ ValidateResponse.JSON_PROPERTY_SQL, ValidateResponse.JSON_PROPERTY_TABLE_REFS }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class ValidateResponse { public static final String JSON_PROPERTY_AST_CLASSIFICATION = "ast_classification"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/ValidationError.java b/sdks/java/src/main/java/com/firefly/flyquery/model/ValidationError.java index f43a1df..2d20adf 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/ValidationError.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/ValidationError.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -47,7 +33,7 @@ @JsonPropertyOrder({ ValidationError.JSON_PROPERTY_DETAIL }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class ValidationError { public static final String JSON_PROPERTY_DETAIL = "detail"; @jakarta.annotation.Nonnull diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/WorkspaceCreate.java b/sdks/java/src/main/java/com/firefly/flyquery/model/WorkspaceCreate.java index aead532..97f86d4 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/WorkspaceCreate.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/WorkspaceCreate.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -55,7 +41,7 @@ WorkspaceCreate.JSON_PROPERTY_RETENTION_DAYS, WorkspaceCreate.JSON_PROPERTY_SLUG }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class WorkspaceCreate { public static final String JSON_PROPERTY_ALLOW_DIRECT_SQL = "allow_direct_sql"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/WorkspaceRead.java b/sdks/java/src/main/java/com/firefly/flyquery/model/WorkspaceRead.java index f0e19ad..9348e5e 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/WorkspaceRead.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/WorkspaceRead.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -59,7 +45,7 @@ WorkspaceRead.JSON_PROPERTY_TENANT_ID, WorkspaceRead.JSON_PROPERTY_UPDATED_AT }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class WorkspaceRead { public static final String JSON_PROPERTY_ALLOW_DIRECT_SQL = "allow_direct_sql"; @jakarta.annotation.Nonnull diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/WorkspaceStats.java b/sdks/java/src/main/java/com/firefly/flyquery/model/WorkspaceStats.java index fb7a8bd..6c705d8 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/WorkspaceStats.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/WorkspaceStats.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -48,7 +34,7 @@ WorkspaceStats.JSON_PROPERTY_TABLE_COUNT, WorkspaceStats.JSON_PROPERTY_TOKEN_COUNT_LAST30D }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class WorkspaceStats { public static final String JSON_PROPERTY_DATASET_COUNT = "dataset_count"; @jakarta.annotation.Nonnull diff --git a/sdks/java/src/main/java/com/firefly/flyquery/model/WorkspaceUpdate.java b/sdks/java/src/main/java/com/firefly/flyquery/model/WorkspaceUpdate.java index f912aa8..c0876c6 100644 --- a/sdks/java/src/main/java/com/firefly/flyquery/model/WorkspaceUpdate.java +++ b/sdks/java/src/main/java/com/firefly/flyquery/model/WorkspaceUpdate.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -54,7 +40,7 @@ WorkspaceUpdate.JSON_PROPERTY_NAME, WorkspaceUpdate.JSON_PROPERTY_RETENTION_DAYS }) -@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-05-24T17:01:34.733622+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") +@jakarta.annotation.Generated(value = "org.openapitools.codegen.languages.JavaClientCodegen", date = "2026-06-01T11:28:27.907207+02:00[Europe/Madrid]", comments = "Generator version: 7.22.0") public class WorkspaceUpdate { public static final String JSON_PROPERTY_ALLOW_DIRECT_SQL = "allow_direct_sql"; @jakarta.annotation.Nullable diff --git a/sdks/java/src/test/java/com/firefly/flyquery/api/AgentConversationsApiTest.java b/sdks/java/src/test/java/com/firefly/flyquery/api/AgentConversationsApiTest.java index aea65d7..3364fbe 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/api/AgentConversationsApiTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/api/AgentConversationsApiTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/api/AgentDatasetsApiTest.java b/sdks/java/src/test/java/com/firefly/flyquery/api/AgentDatasetsApiTest.java index c41f5f9..fd5e38e 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/api/AgentDatasetsApiTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/api/AgentDatasetsApiTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/api/AgentExamplesApiTest.java b/sdks/java/src/test/java/com/firefly/flyquery/api/AgentExamplesApiTest.java index af3097f..c014aeb 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/api/AgentExamplesApiTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/api/AgentExamplesApiTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/api/AgentGlossaryApiTest.java b/sdks/java/src/test/java/com/firefly/flyquery/api/AgentGlossaryApiTest.java new file mode 100644 index 0000000..17fdbde --- /dev/null +++ b/sdks/java/src/test/java/com/firefly/flyquery/api/AgentGlossaryApiTest.java @@ -0,0 +1,126 @@ +/* + * flyquery + * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. + * + * The version of the OpenAPI document: 26.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.firefly.flyquery.api; + +import com.firefly.flyquery.model.GlossaryTermCreate; +import com.firefly.flyquery.model.GlossaryTermRead; +import com.firefly.flyquery.model.GlossaryTermUpdate; +import com.firefly.flyquery.model.HTTPValidationError; +import com.firefly.flyquery.model.PaginatedGlossaryTermRead; +import java.util.UUID; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * API tests for AgentGlossaryApi + */ +@Disabled +public class AgentGlossaryApiTest { + + private final AgentGlossaryApi api = new AgentGlossaryApi(); + + + /** + * Create a glossary term (agent-tier). + * + * + */ + @Test + public void createTest() { + // uncomment below to test the function + //String xAgentToken = null; + //GlossaryTermCreate glossaryTermCreate = null; + //UUID xCorrelationId = null; + //String idempotencyKey = null; + //GlossaryTermRead response = api.create(xAgentToken, glossaryTermCreate, xCorrelationId, idempotencyKey).block(); + + // TODO: test validations + } + + /** + * Hard-delete a glossary term (agent-tier). + * + * + */ + @Test + public void deleteTest() { + // uncomment below to test the function + //String termId = null; + //String xAgentToken = null; + //UUID xCorrelationId = null; + //String idempotencyKey = null; + //api.delete(termId, xAgentToken, xCorrelationId, idempotencyKey).block(); + + // TODO: test validations + } + + /** + * Fetch a single glossary term (agent-tier). + * + * + */ + @Test + public void getTermTest() { + // uncomment below to test the function + //String termId = null; + //String xAgentToken = null; + //UUID xCorrelationId = null; + //GlossaryTermRead response = api.getTerm(termId, xAgentToken, xCorrelationId).block(); + + // TODO: test validations + } + + /** + * List glossary terms for the caller's workspace (agent-tier). + * + * + */ + @Test + public void listTermsTest() { + // uncomment below to test the function + //String xAgentToken = null; + //Integer limit = null; + //Integer offset = null; + //UUID xCorrelationId = null; + //PaginatedGlossaryTermRead response = api.listTerms(xAgentToken, limit, offset, xCorrelationId).block(); + + // TODO: test validations + } + + /** + * Sparse-update a glossary term (agent-tier). + * + * + */ + @Test + public void updateTest() { + // uncomment below to test the function + //String termId = null; + //String xAgentToken = null; + //GlossaryTermUpdate glossaryTermUpdate = null; + //UUID xCorrelationId = null; + //String idempotencyKey = null; + //GlossaryTermRead response = api.update(termId, xAgentToken, glossaryTermUpdate, xCorrelationId, idempotencyKey).block(); + + // TODO: test validations + } + +} diff --git a/sdks/java/src/test/java/com/firefly/flyquery/api/AgentIngestJobsApiTest.java b/sdks/java/src/test/java/com/firefly/flyquery/api/AgentIngestJobsApiTest.java index 023443c..684c4dd 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/api/AgentIngestJobsApiTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/api/AgentIngestJobsApiTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/api/AgentQueryApiTest.java b/sdks/java/src/test/java/com/firefly/flyquery/api/AgentQueryApiTest.java index 13b2dde..a1e3b5e 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/api/AgentQueryApiTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/api/AgentQueryApiTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/api/AgentRelationsApiTest.java b/sdks/java/src/test/java/com/firefly/flyquery/api/AgentRelationsApiTest.java index 2a85b7b..747be21 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/api/AgentRelationsApiTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/api/AgentRelationsApiTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/api/AgentSemanticDimensionsApiTest.java b/sdks/java/src/test/java/com/firefly/flyquery/api/AgentSemanticDimensionsApiTest.java new file mode 100644 index 0000000..25636ee --- /dev/null +++ b/sdks/java/src/test/java/com/firefly/flyquery/api/AgentSemanticDimensionsApiTest.java @@ -0,0 +1,162 @@ +/* + * flyquery + * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. + * + * The version of the OpenAPI document: 26.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.firefly.flyquery.api; + +import com.firefly.flyquery.model.HTTPValidationError; +import com.firefly.flyquery.model.PaginatedSemanticDimensionRead; +import com.firefly.flyquery.model.PaginatedSemanticVersionRead; +import com.firefly.flyquery.model.SemanticDimensionCreate; +import com.firefly.flyquery.model.SemanticDimensionRead; +import com.firefly.flyquery.model.SemanticDimensionUpdate; +import java.util.UUID; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * API tests for AgentSemanticDimensionsApi + */ +@Disabled +public class AgentSemanticDimensionsApiTest { + + private final AgentSemanticDimensionsApi api = new AgentSemanticDimensionsApi(); + + + /** + * Create a dimension in DRAFT (agent-tier). + * + * + */ + @Test + public void createTest() { + // uncomment below to test the function + //String xAgentToken = null; + //SemanticDimensionCreate semanticDimensionCreate = null; + //UUID xCorrelationId = null; + //String idempotencyKey = null; + //SemanticDimensionRead response = api.create(xAgentToken, semanticDimensionCreate, xCorrelationId, idempotencyKey).block(); + + // TODO: test validations + } + + /** + * Fetch a single dimension (agent-tier). + * + * + */ + @Test + public void getDimensionTest() { + // uncomment below to test the function + //String dimensionId = null; + //String xAgentToken = null; + //UUID xCorrelationId = null; + //SemanticDimensionRead response = api.getDimension(dimensionId, xAgentToken, xCorrelationId).block(); + + // TODO: test validations + } + + /** + * Return version history for a dimension (agent-tier). + * + * + */ + @Test + public void historyTest() { + // uncomment below to test the function + //String dimensionId = null; + //String xAgentToken = null; + //UUID xCorrelationId = null; + //PaginatedSemanticVersionRead response = api.history(dimensionId, xAgentToken, xCorrelationId).block(); + + // TODO: test validations + } + + /** + * List dimensions for the caller's workspace (agent-tier). + * + * + */ + @Test + public void listDimensionsTest() { + // uncomment below to test the function + //String xAgentToken = null; + //String datasetId = null; + //String status = null; + //Integer limit = null; + //Integer offset = null; + //UUID xCorrelationId = null; + //PaginatedSemanticDimensionRead response = api.listDimensions(xAgentToken, datasetId, status, limit, offset, xCorrelationId).block(); + + // TODO: test validations + } + + /** + * Publish a dimension (agent-tier). + * + * + */ + @Test + public void publishTest() { + // uncomment below to test the function + //String dimensionId = null; + //String xAgentToken = null; + //UUID xCorrelationId = null; + //String idempotencyKey = null; + //SemanticDimensionRead response = api.publish(dimensionId, xAgentToken, xCorrelationId, idempotencyKey).block(); + + // TODO: test validations + } + + /** + * Retire a dimension (agent-tier). + * + * + */ + @Test + public void retireTest() { + // uncomment below to test the function + //String dimensionId = null; + //String xAgentToken = null; + //UUID xCorrelationId = null; + //String idempotencyKey = null; + //SemanticDimensionRead response = api.retire(dimensionId, xAgentToken, xCorrelationId, idempotencyKey).block(); + + // TODO: test validations + } + + /** + * Sparse-update a dimension (agent-tier). + * + * + */ + @Test + public void updateTest() { + // uncomment below to test the function + //String dimensionId = null; + //String xAgentToken = null; + //SemanticDimensionUpdate semanticDimensionUpdate = null; + //UUID xCorrelationId = null; + //String idempotencyKey = null; + //SemanticDimensionRead response = api.update(dimensionId, xAgentToken, semanticDimensionUpdate, xCorrelationId, idempotencyKey).block(); + + // TODO: test validations + } + +} diff --git a/sdks/java/src/test/java/com/firefly/flyquery/api/AgentSemanticMetricsApiTest.java b/sdks/java/src/test/java/com/firefly/flyquery/api/AgentSemanticMetricsApiTest.java new file mode 100644 index 0000000..d894ee8 --- /dev/null +++ b/sdks/java/src/test/java/com/firefly/flyquery/api/AgentSemanticMetricsApiTest.java @@ -0,0 +1,162 @@ +/* + * flyquery + * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. + * + * The version of the OpenAPI document: 26.6.0 + * + * + * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). + * https://openapi-generator.tech + * Do not edit the class manually. + */ + + +package com.firefly.flyquery.api; + +import com.firefly.flyquery.model.HTTPValidationError; +import com.firefly.flyquery.model.PaginatedSemanticMetricRead; +import com.firefly.flyquery.model.PaginatedSemanticVersionRead; +import com.firefly.flyquery.model.SemanticMetricCreate; +import com.firefly.flyquery.model.SemanticMetricRead; +import com.firefly.flyquery.model.SemanticMetricUpdate; +import java.util.UUID; +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Disabled; +import org.junit.jupiter.api.Test; + +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; +import java.util.stream.Collectors; + +/** + * API tests for AgentSemanticMetricsApi + */ +@Disabled +public class AgentSemanticMetricsApiTest { + + private final AgentSemanticMetricsApi api = new AgentSemanticMetricsApi(); + + + /** + * Create a metric in DRAFT (agent-tier). + * + * + */ + @Test + public void createTest() { + // uncomment below to test the function + //String xAgentToken = null; + //SemanticMetricCreate semanticMetricCreate = null; + //UUID xCorrelationId = null; + //String idempotencyKey = null; + //SemanticMetricRead response = api.create(xAgentToken, semanticMetricCreate, xCorrelationId, idempotencyKey).block(); + + // TODO: test validations + } + + /** + * Fetch a single metric (agent-tier). + * + * + */ + @Test + public void getMetricTest() { + // uncomment below to test the function + //String metricId = null; + //String xAgentToken = null; + //UUID xCorrelationId = null; + //SemanticMetricRead response = api.getMetric(metricId, xAgentToken, xCorrelationId).block(); + + // TODO: test validations + } + + /** + * Return version history for a metric (agent-tier). + * + * + */ + @Test + public void historyTest() { + // uncomment below to test the function + //String metricId = null; + //String xAgentToken = null; + //UUID xCorrelationId = null; + //PaginatedSemanticVersionRead response = api.history(metricId, xAgentToken, xCorrelationId).block(); + + // TODO: test validations + } + + /** + * List metrics for the caller's workspace (agent-tier). + * + * + */ + @Test + public void listMetricsTest() { + // uncomment below to test the function + //String xAgentToken = null; + //String datasetId = null; + //String status = null; + //Integer limit = null; + //Integer offset = null; + //UUID xCorrelationId = null; + //PaginatedSemanticMetricRead response = api.listMetrics(xAgentToken, datasetId, status, limit, offset, xCorrelationId).block(); + + // TODO: test validations + } + + /** + * Publish a metric (agent-tier). + * + * + */ + @Test + public void publishTest() { + // uncomment below to test the function + //String metricId = null; + //String xAgentToken = null; + //UUID xCorrelationId = null; + //String idempotencyKey = null; + //SemanticMetricRead response = api.publish(metricId, xAgentToken, xCorrelationId, idempotencyKey).block(); + + // TODO: test validations + } + + /** + * Retire a metric (agent-tier). + * + * + */ + @Test + public void retireTest() { + // uncomment below to test the function + //String metricId = null; + //String xAgentToken = null; + //UUID xCorrelationId = null; + //String idempotencyKey = null; + //SemanticMetricRead response = api.retire(metricId, xAgentToken, xCorrelationId, idempotencyKey).block(); + + // TODO: test validations + } + + /** + * Sparse-update a metric (agent-tier). + * + * + */ + @Test + public void updateTest() { + // uncomment below to test the function + //String metricId = null; + //String xAgentToken = null; + //SemanticMetricUpdate semanticMetricUpdate = null; + //UUID xCorrelationId = null; + //String idempotencyKey = null; + //SemanticMetricRead response = api.update(metricId, xAgentToken, semanticMetricUpdate, xCorrelationId, idempotencyKey).block(); + + // TODO: test validations + } + +} diff --git a/sdks/java/src/test/java/com/firefly/flyquery/api/AgentSqlExecuteApiTest.java b/sdks/java/src/test/java/com/firefly/flyquery/api/AgentSqlExecuteApiTest.java index 5e55695..bbd4524 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/api/AgentSqlExecuteApiTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/api/AgentSqlExecuteApiTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/api/AgentTablesApiTest.java b/sdks/java/src/test/java/com/firefly/flyquery/api/AgentTablesApiTest.java index 231bae9..64af8d9 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/api/AgentTablesApiTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/api/AgentTablesApiTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/api/AgentTokensApiTest.java b/sdks/java/src/test/java/com/firefly/flyquery/api/AgentTokensApiTest.java index a2c79ae..d93161a 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/api/AgentTokensApiTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/api/AgentTokensApiTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/api/AgentVersionApiTest.java b/sdks/java/src/test/java/com/firefly/flyquery/api/AgentVersionApiTest.java index b415f82..44e93b9 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/api/AgentVersionApiTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/api/AgentVersionApiTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/api/AuditEventsApiTest.java b/sdks/java/src/test/java/com/firefly/flyquery/api/AuditEventsApiTest.java index d7fdaa9..f300496 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/api/AuditEventsApiTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/api/AuditEventsApiTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/api/BillingApiTest.java b/sdks/java/src/test/java/com/firefly/flyquery/api/BillingApiTest.java index 9841b6f..fbcc047 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/api/BillingApiTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/api/BillingApiTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/api/ConversationsApiTest.java b/sdks/java/src/test/java/com/firefly/flyquery/api/ConversationsApiTest.java index 6c9cc39..1828526 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/api/ConversationsApiTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/api/ConversationsApiTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/api/CostEventsApiTest.java b/sdks/java/src/test/java/com/firefly/flyquery/api/CostEventsApiTest.java index 9daaafe..7099b38 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/api/CostEventsApiTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/api/CostEventsApiTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/api/DatasetsApiTest.java b/sdks/java/src/test/java/com/firefly/flyquery/api/DatasetsApiTest.java index 4b2b92e..18d2b3d 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/api/DatasetsApiTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/api/DatasetsApiTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/api/ExamplesApiTest.java b/sdks/java/src/test/java/com/firefly/flyquery/api/ExamplesApiTest.java index 4f475d1..e03e1ef 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/api/ExamplesApiTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/api/ExamplesApiTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/api/FilesApiTest.java b/sdks/java/src/test/java/com/firefly/flyquery/api/FilesApiTest.java index 43895ff..bae5989 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/api/FilesApiTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/api/FilesApiTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/api/GlossaryApiTest.java b/sdks/java/src/test/java/com/firefly/flyquery/api/GlossaryApiTest.java index f85ea62..b710384 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/api/GlossaryApiTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/api/GlossaryApiTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/api/IngestJobsApiTest.java b/sdks/java/src/test/java/com/firefly/flyquery/api/IngestJobsApiTest.java index 0e26883..12d5f89 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/api/IngestJobsApiTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/api/IngestJobsApiTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/api/QueriesApiTest.java b/sdks/java/src/test/java/com/firefly/flyquery/api/QueriesApiTest.java index e1ee026..deb449c 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/api/QueriesApiTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/api/QueriesApiTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/api/QueryApiTest.java b/sdks/java/src/test/java/com/firefly/flyquery/api/QueryApiTest.java index d79889f..95f2bcf 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/api/QueryApiTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/api/QueryApiTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/api/RelationsApiTest.java b/sdks/java/src/test/java/com/firefly/flyquery/api/RelationsApiTest.java index 69f4764..bee1601 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/api/RelationsApiTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/api/RelationsApiTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/api/SchemaChangesApiTest.java b/sdks/java/src/test/java/com/firefly/flyquery/api/SchemaChangesApiTest.java index f4205fa..3a947eb 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/api/SchemaChangesApiTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/api/SchemaChangesApiTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/api/SchemaObjectsApiTest.java b/sdks/java/src/test/java/com/firefly/flyquery/api/SchemaObjectsApiTest.java index 66d1aa8..1307374 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/api/SchemaObjectsApiTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/api/SchemaObjectsApiTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/api/SemanticDimensionsApiTest.java b/sdks/java/src/test/java/com/firefly/flyquery/api/SemanticDimensionsApiTest.java index 42ee9a8..52baeaa 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/api/SemanticDimensionsApiTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/api/SemanticDimensionsApiTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -106,7 +92,7 @@ public void historyTest() { } /** - * List all semantic dimensions for the caller's workspace. + * List semantic dimensions for the caller's workspace (optional status filter). * * */ @@ -116,10 +102,11 @@ public void listDimensionsTest() { //String xTenantId = null; //String xWorkspaceId = null; //String datasetId = null; + //String status = null; //Integer limit = null; //Integer offset = null; //UUID xCorrelationId = null; - //PaginatedSemanticDimensionRead response = api.listDimensions(xTenantId, xWorkspaceId, datasetId, limit, offset, xCorrelationId).block(); + //PaginatedSemanticDimensionRead response = api.listDimensions(xTenantId, xWorkspaceId, datasetId, status, limit, offset, xCorrelationId).block(); // TODO: test validations } @@ -161,7 +148,7 @@ public void retireTest() { } /** - * Sparse-update a dimension; re-validates YAML if definition changes. + * Sparse-update a dimension; re-validates + recompiles if published. * * */ diff --git a/sdks/java/src/test/java/com/firefly/flyquery/api/SemanticMetricsApiTest.java b/sdks/java/src/test/java/com/firefly/flyquery/api/SemanticMetricsApiTest.java index 84d5e2d..4b0f402 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/api/SemanticMetricsApiTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/api/SemanticMetricsApiTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -106,7 +92,7 @@ public void historyTest() { } /** - * List all semantic metrics for the caller's workspace. + * List semantic metrics for the caller's workspace (optional status filter). * * */ @@ -116,10 +102,11 @@ public void listMetricsTest() { //String xTenantId = null; //String xWorkspaceId = null; //String datasetId = null; + //String status = null; //Integer limit = null; //Integer offset = null; //UUID xCorrelationId = null; - //PaginatedSemanticMetricRead response = api.listMetrics(xTenantId, xWorkspaceId, datasetId, limit, offset, xCorrelationId).block(); + //PaginatedSemanticMetricRead response = api.listMetrics(xTenantId, xWorkspaceId, datasetId, status, limit, offset, xCorrelationId).block(); // TODO: test validations } @@ -161,7 +148,7 @@ public void retireTest() { } /** - * Sparse-update a metric; re-validates YAML if definition changes. + * Sparse-update a metric; re-validates + recompiles if published. * * */ diff --git a/sdks/java/src/test/java/com/firefly/flyquery/api/SqlExecuteApiTest.java b/sdks/java/src/test/java/com/firefly/flyquery/api/SqlExecuteApiTest.java index e2139bd..174274a 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/api/SqlExecuteApiTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/api/SqlExecuteApiTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/api/StatsApiTest.java b/sdks/java/src/test/java/com/firefly/flyquery/api/StatsApiTest.java index 9a14e4d..5eeba40 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/api/StatsApiTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/api/StatsApiTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/api/TablesApiTest.java b/sdks/java/src/test/java/com/firefly/flyquery/api/TablesApiTest.java index 57e34d5..399df26 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/api/TablesApiTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/api/TablesApiTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/api/TablesDeriveApiTest.java b/sdks/java/src/test/java/com/firefly/flyquery/api/TablesDeriveApiTest.java index fce06ff..3907ebc 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/api/TablesDeriveApiTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/api/TablesDeriveApiTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/api/VersionApiTest.java b/sdks/java/src/test/java/com/firefly/flyquery/api/VersionApiTest.java index ddf145f..5183e1b 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/api/VersionApiTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/api/VersionApiTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/api/WorkspacesApiTest.java b/sdks/java/src/test/java/com/firefly/flyquery/api/WorkspacesApiTest.java index 7ec6283..e5221cb 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/api/WorkspacesApiTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/api/WorkspacesApiTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/AgentTokenCreatedTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/AgentTokenCreatedTest.java index 04f52f4..48b38ce 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/AgentTokenCreatedTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/AgentTokenCreatedTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/AgentTokenMintRequestTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/AgentTokenMintRequestTest.java index 2987bd7..2f8d08c 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/AgentTokenMintRequestTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/AgentTokenMintRequestTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/AgentTokenSummaryDtoTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/AgentTokenSummaryDtoTest.java index 9f94531..71e4ce5 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/AgentTokenSummaryDtoTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/AgentTokenSummaryDtoTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/AgentUsageTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/AgentUsageTest.java index 2fa5820..5d6e5c6 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/AgentUsageTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/AgentUsageTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/AnswerResponseTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/AnswerResponseTest.java index d5e5aee..c4d896f 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/AnswerResponseTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/AnswerResponseTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/AuditEventReadTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/AuditEventReadTest.java index 3dadabe..8f602b2 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/AuditEventReadTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/AuditEventReadTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/BatchQueryItemTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/BatchQueryItemTest.java index 9671840..4b9e15f 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/BatchQueryItemTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/BatchQueryItemTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/BatchQueryRequestTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/BatchQueryRequestTest.java index 0e33f5f..4eb4231 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/BatchQueryRequestTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/BatchQueryRequestTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/BatchQueryResponseTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/BatchQueryResponseTest.java index a6caa60..f643488 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/BatchQueryResponseTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/BatchQueryResponseTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/BatchQueryResultItemTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/BatchQueryResultItemTest.java index ccd51c2..620b17d 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/BatchQueryResultItemTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/BatchQueryResultItemTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/BillingBreakdownItemTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/BillingBreakdownItemTest.java index 4ce97a2..f6b2822 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/BillingBreakdownItemTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/BillingBreakdownItemTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/BillingRollupTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/BillingRollupTest.java index 0277f64..76cb9b5 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/BillingRollupTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/BillingRollupTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/BulkFileResultTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/BulkFileResultTest.java index 1c5cddf..1f0a641 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/BulkFileResultTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/BulkFileResultTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/BulkFileUploadResponseTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/BulkFileUploadResponseTest.java index b3ab663..24519d4 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/BulkFileUploadResponseTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/BulkFileUploadResponseTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/CallbackConfigTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/CallbackConfigTest.java index 664eb31..de6cced 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/CallbackConfigTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/CallbackConfigTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/CallbackDeliveryListResponseTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/CallbackDeliveryListResponseTest.java index 5ef1bf2..1492239 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/CallbackDeliveryListResponseTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/CallbackDeliveryListResponseTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/CallbackDeliveryReadTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/CallbackDeliveryReadTest.java index f37179a..3c0e4ec 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/CallbackDeliveryReadTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/CallbackDeliveryReadTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/CancelResponseTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/CancelResponseTest.java index 36a4909..0e1055e 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/CancelResponseTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/CancelResponseTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/ClarificationFrameTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/ClarificationFrameTest.java index 87a6ab9..3793c4d 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/ClarificationFrameTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/ClarificationFrameTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/ConfidenceTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/ConfidenceTest.java index 7ddc9aa..d89d575 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/ConfidenceTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/ConfidenceTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/ConversationCreateTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/ConversationCreateTest.java index 83cf9a5..2c158ba 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/ConversationCreateTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/ConversationCreateTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/ConversationReadTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/ConversationReadTest.java index ca0f68f..4d8f7f4 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/ConversationReadTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/ConversationReadTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/ConversationTurnRequestTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/ConversationTurnRequestTest.java index 4119f78..ca50401 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/ConversationTurnRequestTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/ConversationTurnRequestTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/CostCents1Test.java b/sdks/java/src/test/java/com/firefly/flyquery/model/CostCents1Test.java index 0ba4e8c..9e7e03c 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/CostCents1Test.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/CostCents1Test.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/CostCentsTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/CostCentsTest.java index e5fe7cc..b3f3091 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/CostCentsTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/CostCentsTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/CostEventReadTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/CostEventReadTest.java index 35cd6c6..54c4e9b 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/CostEventReadTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/CostEventReadTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/DatasetCreateTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/DatasetCreateTest.java index 1e9d3fa..89c36da 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/DatasetCreateTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/DatasetCreateTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/DatasetReadTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/DatasetReadTest.java index 820496c..c2e0be0 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/DatasetReadTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/DatasetReadTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/DatasetUpdateTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/DatasetUpdateTest.java index ac059f8..70736b3 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/DatasetUpdateTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/DatasetUpdateTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/DeriveTableRequestTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/DeriveTableRequestTest.java index 944b3bb..85e9029 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/DeriveTableRequestTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/DeriveTableRequestTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/DeriveTableResponseTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/DeriveTableResponseTest.java index 6143521..095a9c1 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/DeriveTableResponseTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/DeriveTableResponseTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/DetailInnerTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/DetailInnerTest.java index d682087..7183d22 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/DetailInnerTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/DetailInnerTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/ExampleCreateTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/ExampleCreateTest.java index 307e426..c3ed474 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/ExampleCreateTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/ExampleCreateTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/ExampleReadTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/ExampleReadTest.java index cf48f07..f63ff6d 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/ExampleReadTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/ExampleReadTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/ExplainResponseTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/ExplainResponseTest.java index 61ee0cd..0ebb434 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/ExplainResponseTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/ExplainResponseTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/FileUploadResponseTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/FileUploadResponseTest.java index 4a14739..85453f6 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/FileUploadResponseTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/FileUploadResponseTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/GlossaryTermCreateTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/GlossaryTermCreateTest.java index d667689..213f7f0 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/GlossaryTermCreateTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/GlossaryTermCreateTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -62,35 +48,35 @@ void definitionTest() { } /** - * Test the property 'relatedColumnsJson' + * Test the property 'relatedColumns' */ @Test - void relatedColumnsJsonTest() { - // TODO: test relatedColumnsJson + void relatedColumnsTest() { + // TODO: test relatedColumns } /** - * Test the property 'relatedMetricsJson' + * Test the property 'relatedMetrics' */ @Test - void relatedMetricsJsonTest() { - // TODO: test relatedMetricsJson + void relatedMetricsTest() { + // TODO: test relatedMetrics } /** - * Test the property 'synonymsJson' + * Test the property 'synonyms' */ @Test - void synonymsJsonTest() { - // TODO: test synonymsJson + void synonymsTest() { + // TODO: test synonyms } /** - * Test the property 'tagsJson' + * Test the property 'tags' */ @Test - void tagsJsonTest() { - // TODO: test tagsJson + void tagsTest() { + // TODO: test tags } /** diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/GlossaryTermReadTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/GlossaryTermReadTest.java index dbf02a0..ec2b48c 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/GlossaryTermReadTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/GlossaryTermReadTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/GlossaryTermUpdateTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/GlossaryTermUpdateTest.java index cb49862..5e2487e 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/GlossaryTermUpdateTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/GlossaryTermUpdateTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -66,35 +52,35 @@ void definitionTest() { } /** - * Test the property 'relatedColumnsJson' + * Test the property 'relatedColumns' */ @Test - void relatedColumnsJsonTest() { - // TODO: test relatedColumnsJson + void relatedColumnsTest() { + // TODO: test relatedColumns } /** - * Test the property 'relatedMetricsJson' + * Test the property 'relatedMetrics' */ @Test - void relatedMetricsJsonTest() { - // TODO: test relatedMetricsJson + void relatedMetricsTest() { + // TODO: test relatedMetrics } /** - * Test the property 'synonymsJson' + * Test the property 'synonyms' */ @Test - void synonymsJsonTest() { - // TODO: test synonymsJson + void synonymsTest() { + // TODO: test synonyms } /** - * Test the property 'tagsJson' + * Test the property 'tags' */ @Test - void tagsJsonTest() { - // TODO: test tagsJson + void tagsTest() { + // TODO: test tags } } diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/HTTPValidationErrorTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/HTTPValidationErrorTest.java index fef6c79..0d3d4ba 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/HTTPValidationErrorTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/HTTPValidationErrorTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/IngestCostCentsTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/IngestCostCentsTest.java index 6df774a..742b5a9 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/IngestCostCentsTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/IngestCostCentsTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/IngestEventListResponseTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/IngestEventListResponseTest.java index 51b505b..1ce396f 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/IngestEventListResponseTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/IngestEventListResponseTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/IngestEventReadTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/IngestEventReadTest.java index c6a53d3..fce20e0 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/IngestEventReadTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/IngestEventReadTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/IngestJobCreateTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/IngestJobCreateTest.java index 6615136..daa4d03 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/IngestJobCreateTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/IngestJobCreateTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/IngestJobListResponseTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/IngestJobListResponseTest.java index 94bb4d5..9ed357a 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/IngestJobListResponseTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/IngestJobListResponseTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/IngestJobReadTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/IngestJobReadTest.java index e845699..a442378 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/IngestJobReadTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/IngestJobReadTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/LocationInnerTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/LocationInnerTest.java index d70c86f..3486310 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/LocationInnerTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/LocationInnerTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/OtherCostCentsTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/OtherCostCentsTest.java index f501121..0276ff7 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/OtherCostCentsTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/OtherCostCentsTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedAuditEventReadTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedAuditEventReadTest.java index 952a431..f84040b 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedAuditEventReadTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedAuditEventReadTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedConversationReadTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedConversationReadTest.java index fefc350..bb17fad 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedConversationReadTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedConversationReadTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedCostEventReadTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedCostEventReadTest.java index 6c84f08..eb16a77 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedCostEventReadTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedCostEventReadTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedDatasetReadTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedDatasetReadTest.java index 83cce29..bcae383 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedDatasetReadTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedDatasetReadTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedExampleReadTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedExampleReadTest.java index 33e661d..9556265 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedExampleReadTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedExampleReadTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedGlossaryTermReadTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedGlossaryTermReadTest.java index 20d7d0a..bdd055c 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedGlossaryTermReadTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedGlossaryTermReadTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedQueryHistoryItemTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedQueryHistoryItemTest.java index ab4955b..e02a743 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedQueryHistoryItemTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedQueryHistoryItemTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedRelationReadTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedRelationReadTest.java index 6805d2a..ded5aa0 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedRelationReadTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedRelationReadTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedSchemaChangeReadTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedSchemaChangeReadTest.java index 0204f9a..70f4458 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedSchemaChangeReadTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedSchemaChangeReadTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedSchemaObjectReadTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedSchemaObjectReadTest.java index 4d2c36c..a9614bf 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedSchemaObjectReadTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedSchemaObjectReadTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedSemanticDimensionReadTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedSemanticDimensionReadTest.java index 86d143e..839d356 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedSemanticDimensionReadTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedSemanticDimensionReadTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedSemanticMetricReadTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedSemanticMetricReadTest.java index 5b998e0..20c72d5 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedSemanticMetricReadTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedSemanticMetricReadTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedSemanticVersionReadTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedSemanticVersionReadTest.java index d5b7ceb..b092bc4 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedSemanticVersionReadTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedSemanticVersionReadTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedSnapshotReadTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedSnapshotReadTest.java index 8baaeaf..b128f41 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedSnapshotReadTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedSnapshotReadTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedTableReadTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedTableReadTest.java index a63ab3e..a02eec9 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedTableReadTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedTableReadTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedWorkspaceReadTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedWorkspaceReadTest.java index 2bee162..a51ec45 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedWorkspaceReadTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/PaginatedWorkspaceReadTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/PurgeAcceptedTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/PurgeAcceptedTest.java index 13a75a1..e8fbb52 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/PurgeAcceptedTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/PurgeAcceptedTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/QueryCostCentsTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/QueryCostCentsTest.java index 804bfe6..4d75450 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/QueryCostCentsTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/QueryCostCentsTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/QueryDetailReadTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/QueryDetailReadTest.java index a59f78c..e43a0ed 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/QueryDetailReadTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/QueryDetailReadTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/QueryHistoryItemTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/QueryHistoryItemTest.java index 9fb75f1..1a891d3 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/QueryHistoryItemTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/QueryHistoryItemTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/QueryRequestTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/QueryRequestTest.java index dc4d767..0a13568 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/QueryRequestTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/QueryRequestTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/QueryResultReadTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/QueryResultReadTest.java index 62eb9eb..8b99ab1 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/QueryResultReadTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/QueryResultReadTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/RelationApprovalReadTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/RelationApprovalReadTest.java index 171000b..07f1d8d 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/RelationApprovalReadTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/RelationApprovalReadTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/RelationReadTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/RelationReadTest.java index 4aec405..8eaa5aa 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/RelationReadTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/RelationReadTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/RelationRejectionReadTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/RelationRejectionReadTest.java index 908fd46..ff33222 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/RelationRejectionReadTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/RelationRejectionReadTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/ReuploadResponseTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/ReuploadResponseTest.java index 95eb107..580747f 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/ReuploadResponseTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/ReuploadResponseTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/SchemaChangeReadTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/SchemaChangeReadTest.java index 15b36c5..3410293 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/SchemaChangeReadTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/SchemaChangeReadTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/SchemaObjectReadTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/SchemaObjectReadTest.java index 9075d45..9e0bc1c 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/SchemaObjectReadTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/SchemaObjectReadTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/SchemaObjectUpdateTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/SchemaObjectUpdateTest.java index e798e8a..4427882 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/SchemaObjectUpdateTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/SchemaObjectUpdateTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/SemanticDimensionCreateTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/SemanticDimensionCreateTest.java index dbda626..8f2daff 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/SemanticDimensionCreateTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/SemanticDimensionCreateTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -87,14 +73,6 @@ void labelTest() { // TODO: test label } - /** - * Test the property 'metricType' - */ - @Test - void metricTypeTest() { - // TODO: test metricType - } - /** * Test the property 'name' */ diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/SemanticDimensionReadTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/SemanticDimensionReadTest.java index 50f3d80..193e098 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/SemanticDimensionReadTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/SemanticDimensionReadTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -33,6 +19,8 @@ import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.annotation.JsonValue; import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.Map; import java.util.UUID; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Disabled; @@ -100,6 +88,14 @@ void descriptionTest() { // TODO: test description } + /** + * Test the property 'dimensionType' + */ + @Test + void dimensionTypeTest() { + // TODO: test dimensionType + } + /** * Test the property 'id' */ @@ -117,11 +113,11 @@ void labelTest() { } /** - * Test the property 'metricType' + * Test the property 'metadataJson' */ @Test - void metricTypeTest() { - // TODO: test metricType + void metadataJsonTest() { + // TODO: test metadataJson } /** diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/SemanticDimensionUpdateTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/SemanticDimensionUpdateTest.java index f530c25..e21d81f 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/SemanticDimensionUpdateTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/SemanticDimensionUpdateTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -78,12 +64,4 @@ void labelTest() { // TODO: test label } - /** - * Test the property 'metricType' - */ - @Test - void metricTypeTest() { - // TODO: test metricType - } - } diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/SemanticMetricCreateTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/SemanticMetricCreateTest.java index e02290a..664fa90 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/SemanticMetricCreateTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/SemanticMetricCreateTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/SemanticMetricReadTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/SemanticMetricReadTest.java index a9cf022..dc464f1 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/SemanticMetricReadTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/SemanticMetricReadTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). @@ -33,6 +19,8 @@ import com.fasterxml.jackson.annotation.JsonTypeName; import com.fasterxml.jackson.annotation.JsonValue; import java.time.OffsetDateTime; +import java.util.HashMap; +import java.util.Map; import java.util.UUID; import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Disabled; @@ -116,6 +104,14 @@ void labelTest() { // TODO: test label } + /** + * Test the property 'metadataJson' + */ + @Test + void metadataJsonTest() { + // TODO: test metadataJson + } + /** * Test the property 'metricType' */ diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/SemanticMetricUpdateTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/SemanticMetricUpdateTest.java index 58bec51..efff5a4 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/SemanticMetricUpdateTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/SemanticMetricUpdateTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/SemanticVersionReadTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/SemanticVersionReadTest.java index 747a517..eb9e8f3 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/SemanticVersionReadTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/SemanticVersionReadTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/SnapshotReadTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/SnapshotReadTest.java index e08fa7d..6fa4867 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/SnapshotReadTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/SnapshotReadTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/SqlExecuteRequestTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/SqlExecuteRequestTest.java index 81f9570..3b7a56c 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/SqlExecuteRequestTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/SqlExecuteRequestTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/SqlExecuteResponseTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/SqlExecuteResponseTest.java index 81314c0..f2dbc7c 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/SqlExecuteResponseTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/SqlExecuteResponseTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/TableReadTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/TableReadTest.java index 8b43fa0..d14a51b 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/TableReadTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/TableReadTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/TableSummaryTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/TableSummaryTest.java index f0e7640..410f34e 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/TableSummaryTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/TableSummaryTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/TotalCostCentsTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/TotalCostCentsTest.java index fe70e77..9845fb2 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/TotalCostCentsTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/TotalCostCentsTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/TurnReadTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/TurnReadTest.java index a254599..cd8078c 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/TurnReadTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/TurnReadTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/UsageSummaryTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/UsageSummaryTest.java index f0ab368..bfda287 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/UsageSummaryTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/UsageSummaryTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/ValidateResponseTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/ValidateResponseTest.java index 3256781..c8e313a 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/ValidateResponseTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/ValidateResponseTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/ValidationErrorTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/ValidationErrorTest.java index eaeb96d..c17af13 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/ValidationErrorTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/ValidationErrorTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/WorkspaceCreateTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/WorkspaceCreateTest.java index d19a39d..cdd1b6d 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/WorkspaceCreateTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/WorkspaceCreateTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/WorkspaceReadTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/WorkspaceReadTest.java index 4e857e8..bdca19c 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/WorkspaceReadTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/WorkspaceReadTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/WorkspaceStatsTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/WorkspaceStatsTest.java index eadc9e1..b63b005 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/WorkspaceStatsTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/WorkspaceStatsTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/java/src/test/java/com/firefly/flyquery/model/WorkspaceUpdateTest.java b/sdks/java/src/test/java/com/firefly/flyquery/model/WorkspaceUpdateTest.java index 2548822..cacfa7e 100644 --- a/sdks/java/src/test/java/com/firefly/flyquery/model/WorkspaceUpdateTest.java +++ b/sdks/java/src/test/java/com/firefly/flyquery/model/WorkspaceUpdateTest.java @@ -1,22 +1,8 @@ -// Copyright 2024-2026 Firefly Software Foundation -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. - /* * flyquery * Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. * - * The version of the OpenAPI document: 26.5.4 + * The version of the OpenAPI document: 26.6.0 * * * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech). diff --git a/sdks/python/.openapi-generator/FILES b/sdks/python/.openapi-generator/FILES index f4ea8ba..5b9c1e5 100644 --- a/sdks/python/.openapi-generator/FILES +++ b/sdks/python/.openapi-generator/FILES @@ -5,9 +5,12 @@ docs/AgentConversationsApi.md docs/AgentDatasetsApi.md docs/AgentExamplesApi.md +docs/AgentGlossaryApi.md docs/AgentIngestJobsApi.md docs/AgentQueryApi.md docs/AgentRelationsApi.md +docs/AgentSemanticDimensionsApi.md +docs/AgentSemanticMetricsApi.md docs/AgentSqlExecuteApi.md docs/AgentTablesApi.md docs/AgentTokenCreated.md @@ -137,9 +140,12 @@ flyquery_sdk/api/__init__.py flyquery_sdk/api/agent_conversations_api.py flyquery_sdk/api/agent_datasets_api.py flyquery_sdk/api/agent_examples_api.py +flyquery_sdk/api/agent_glossary_api.py flyquery_sdk/api/agent_ingest_jobs_api.py flyquery_sdk/api/agent_query_api.py flyquery_sdk/api/agent_relations_api.py +flyquery_sdk/api/agent_semantic_dimensions_api.py +flyquery_sdk/api/agent_semantic_metrics_api.py flyquery_sdk/api/agent_sql_execute_api.py flyquery_sdk/api/agent_tables_api.py flyquery_sdk/api/agent_tokens_api.py @@ -277,4 +283,7 @@ setup.cfg setup.py test-requirements.txt test/__init__.py +test/test_agent_glossary_api.py +test/test_agent_semantic_dimensions_api.py +test/test_agent_semantic_metrics_api.py tox.ini diff --git a/sdks/python/docs/AgentGlossaryApi.md b/sdks/python/docs/AgentGlossaryApi.md new file mode 100644 index 0000000..9991426 --- /dev/null +++ b/sdks/python/docs/AgentGlossaryApi.md @@ -0,0 +1,429 @@ +# flyquery_sdk.AgentGlossaryApi + +All URIs are relative to *http://localhost* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create**](AgentGlossaryApi.md#create) | **POST** /api/v1/agent/glossary | Create a glossary term (agent-tier). +[**delete**](AgentGlossaryApi.md#delete) | **DELETE** /api/v1/agent/glossary/{term_id} | Hard-delete a glossary term (agent-tier). +[**get_term**](AgentGlossaryApi.md#get_term) | **GET** /api/v1/agent/glossary/{term_id} | Fetch a single glossary term (agent-tier). +[**list_terms**](AgentGlossaryApi.md#list_terms) | **GET** /api/v1/agent/glossary | List glossary terms for the caller's workspace (agent-tier). +[**update**](AgentGlossaryApi.md#update) | **PUT** /api/v1/agent/glossary/{term_id} | Sparse-update a glossary term (agent-tier). + + +# **create** +> GlossaryTermRead create(x_agent_token, glossary_term_create, x_correlation_id=x_correlation_id, idempotency_key=idempotency_key) + +Create a glossary term (agent-tier). + +### Example + +* Api Key Authentication (AgentToken): + +```python +import flyquery_sdk +from flyquery_sdk.models.glossary_term_create import GlossaryTermCreate +from flyquery_sdk.models.glossary_term_read import GlossaryTermRead +from flyquery_sdk.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = flyquery_sdk.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: AgentToken +configuration.api_key['AgentToken'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['AgentToken'] = 'Bearer' + +# Enter a context with an instance of the API client +async with flyquery_sdk.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = flyquery_sdk.AgentGlossaryApi(api_client) + x_agent_token = 'fqt_live_aBcDeF1234567890aBcDeF1234567890' # str | Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + glossary_term_create = flyquery_sdk.GlossaryTermCreate() # GlossaryTermCreate | + x_correlation_id = UUID('550e8400-e29b-41d4-a716-446655440000') # UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. (optional) + idempotency_key = 'ingest-2026-05-23-abc123' # str | Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. (optional) + + try: + # Create a glossary term (agent-tier). + api_response = await api_instance.create(x_agent_token, glossary_term_create, x_correlation_id=x_correlation_id, idempotency_key=idempotency_key) + print("The response of AgentGlossaryApi->create:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AgentGlossaryApi->create: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **x_agent_token** | **str**| Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. | + **glossary_term_create** | [**GlossaryTermCreate**](GlossaryTermCreate.md)| | + **x_correlation_id** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] + **idempotency_key** | **str**| Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. | [optional] + +### Return type + +[**GlossaryTermRead**](GlossaryTermRead.md) + +### Authorization + +[AgentToken](../README.md#AgentToken) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**201** | Successful response | - | +**422** | Validation Error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **delete** +> delete(term_id, x_agent_token, x_correlation_id=x_correlation_id, idempotency_key=idempotency_key) + +Hard-delete a glossary term (agent-tier). + +### Example + +* Api Key Authentication (AgentToken): + +```python +import flyquery_sdk +from flyquery_sdk.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = flyquery_sdk.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: AgentToken +configuration.api_key['AgentToken'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['AgentToken'] = 'Bearer' + +# Enter a context with an instance of the API client +async with flyquery_sdk.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = flyquery_sdk.AgentGlossaryApi(api_client) + term_id = 'term_id_example' # str | + x_agent_token = 'fqt_live_aBcDeF1234567890aBcDeF1234567890' # str | Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + x_correlation_id = UUID('550e8400-e29b-41d4-a716-446655440000') # UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. (optional) + idempotency_key = 'ingest-2026-05-23-abc123' # str | Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. (optional) + + try: + # Hard-delete a glossary term (agent-tier). + await api_instance.delete(term_id, x_agent_token, x_correlation_id=x_correlation_id, idempotency_key=idempotency_key) + except Exception as e: + print("Exception when calling AgentGlossaryApi->delete: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **term_id** | **str**| | + **x_agent_token** | **str**| Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. | + **x_correlation_id** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] + **idempotency_key** | **str**| Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. | [optional] + +### Return type + +void (empty response body) + +### Authorization + +[AgentToken](../README.md#AgentToken) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: Not defined + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**204** | No Content | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_term** +> GlossaryTermRead get_term(term_id, x_agent_token, x_correlation_id=x_correlation_id) + +Fetch a single glossary term (agent-tier). + +### Example + +* Api Key Authentication (AgentToken): + +```python +import flyquery_sdk +from flyquery_sdk.models.glossary_term_read import GlossaryTermRead +from flyquery_sdk.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = flyquery_sdk.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: AgentToken +configuration.api_key['AgentToken'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['AgentToken'] = 'Bearer' + +# Enter a context with an instance of the API client +async with flyquery_sdk.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = flyquery_sdk.AgentGlossaryApi(api_client) + term_id = 'term_id_example' # str | + x_agent_token = 'fqt_live_aBcDeF1234567890aBcDeF1234567890' # str | Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + x_correlation_id = UUID('550e8400-e29b-41d4-a716-446655440000') # UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. (optional) + + try: + # Fetch a single glossary term (agent-tier). + api_response = await api_instance.get_term(term_id, x_agent_token, x_correlation_id=x_correlation_id) + print("The response of AgentGlossaryApi->get_term:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AgentGlossaryApi->get_term: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **term_id** | **str**| | + **x_agent_token** | **str**| Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. | + **x_correlation_id** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] + +### Return type + +[**GlossaryTermRead**](GlossaryTermRead.md) + +### Authorization + +[AgentToken](../README.md#AgentToken) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Successful response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **list_terms** +> PaginatedGlossaryTermRead list_terms(x_agent_token, limit=limit, offset=offset, x_correlation_id=x_correlation_id) + +List glossary terms for the caller's workspace (agent-tier). + +### Example + +* Api Key Authentication (AgentToken): + +```python +import flyquery_sdk +from flyquery_sdk.models.paginated_glossary_term_read import PaginatedGlossaryTermRead +from flyquery_sdk.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = flyquery_sdk.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: AgentToken +configuration.api_key['AgentToken'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['AgentToken'] = 'Bearer' + +# Enter a context with an instance of the API client +async with flyquery_sdk.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = flyquery_sdk.AgentGlossaryApi(api_client) + x_agent_token = 'fqt_live_aBcDeF1234567890aBcDeF1234567890' # str | Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + limit = 100 # int | (optional) (default to 100) + offset = 0 # int | (optional) (default to 0) + x_correlation_id = UUID('550e8400-e29b-41d4-a716-446655440000') # UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. (optional) + + try: + # List glossary terms for the caller's workspace (agent-tier). + api_response = await api_instance.list_terms(x_agent_token, limit=limit, offset=offset, x_correlation_id=x_correlation_id) + print("The response of AgentGlossaryApi->list_terms:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AgentGlossaryApi->list_terms: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **x_agent_token** | **str**| Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. | + **limit** | **int**| | [optional] [default to 100] + **offset** | **int**| | [optional] [default to 0] + **x_correlation_id** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] + +### Return type + +[**PaginatedGlossaryTermRead**](PaginatedGlossaryTermRead.md) + +### Authorization + +[AgentToken](../README.md#AgentToken) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Successful response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update** +> GlossaryTermRead update(term_id, x_agent_token, glossary_term_update, x_correlation_id=x_correlation_id, idempotency_key=idempotency_key) + +Sparse-update a glossary term (agent-tier). + +### Example + +* Api Key Authentication (AgentToken): + +```python +import flyquery_sdk +from flyquery_sdk.models.glossary_term_read import GlossaryTermRead +from flyquery_sdk.models.glossary_term_update import GlossaryTermUpdate +from flyquery_sdk.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = flyquery_sdk.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: AgentToken +configuration.api_key['AgentToken'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['AgentToken'] = 'Bearer' + +# Enter a context with an instance of the API client +async with flyquery_sdk.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = flyquery_sdk.AgentGlossaryApi(api_client) + term_id = 'term_id_example' # str | + x_agent_token = 'fqt_live_aBcDeF1234567890aBcDeF1234567890' # str | Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + glossary_term_update = flyquery_sdk.GlossaryTermUpdate() # GlossaryTermUpdate | + x_correlation_id = UUID('550e8400-e29b-41d4-a716-446655440000') # UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. (optional) + idempotency_key = 'ingest-2026-05-23-abc123' # str | Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. (optional) + + try: + # Sparse-update a glossary term (agent-tier). + api_response = await api_instance.update(term_id, x_agent_token, glossary_term_update, x_correlation_id=x_correlation_id, idempotency_key=idempotency_key) + print("The response of AgentGlossaryApi->update:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AgentGlossaryApi->update: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **term_id** | **str**| | + **x_agent_token** | **str**| Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. | + **glossary_term_update** | [**GlossaryTermUpdate**](GlossaryTermUpdate.md)| | + **x_correlation_id** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] + **idempotency_key** | **str**| Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. | [optional] + +### Return type + +[**GlossaryTermRead**](GlossaryTermRead.md) + +### Authorization + +[AgentToken](../README.md#AgentToken) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Successful response | - | +**422** | Validation Error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/sdks/python/docs/AgentSemanticDimensionsApi.md b/sdks/python/docs/AgentSemanticDimensionsApi.md new file mode 100644 index 0000000..507d3db --- /dev/null +++ b/sdks/python/docs/AgentSemanticDimensionsApi.md @@ -0,0 +1,602 @@ +# flyquery_sdk.AgentSemanticDimensionsApi + +All URIs are relative to *http://localhost* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create**](AgentSemanticDimensionsApi.md#create) | **POST** /api/v1/agent/semantic/dimensions | Create a dimension in DRAFT (agent-tier). +[**get_dimension**](AgentSemanticDimensionsApi.md#get_dimension) | **GET** /api/v1/agent/semantic/dimensions/{dimension_id} | Fetch a single dimension (agent-tier). +[**history**](AgentSemanticDimensionsApi.md#history) | **GET** /api/v1/agent/semantic/dimensions/{dimension_id}/history | Return version history for a dimension (agent-tier). +[**list_dimensions**](AgentSemanticDimensionsApi.md#list_dimensions) | **GET** /api/v1/agent/semantic/dimensions | List dimensions for the caller's workspace (agent-tier). +[**publish**](AgentSemanticDimensionsApi.md#publish) | **POST** /api/v1/agent/semantic/dimensions/{dimension_id}:publish | Publish a dimension (agent-tier). +[**retire**](AgentSemanticDimensionsApi.md#retire) | **POST** /api/v1/agent/semantic/dimensions/{dimension_id}:retire | Retire a dimension (agent-tier). +[**update**](AgentSemanticDimensionsApi.md#update) | **PUT** /api/v1/agent/semantic/dimensions/{dimension_id} | Sparse-update a dimension (agent-tier). + + +# **create** +> SemanticDimensionRead create(x_agent_token, semantic_dimension_create, x_correlation_id=x_correlation_id, idempotency_key=idempotency_key) + +Create a dimension in DRAFT (agent-tier). + +### Example + +* Api Key Authentication (AgentToken): + +```python +import flyquery_sdk +from flyquery_sdk.models.semantic_dimension_create import SemanticDimensionCreate +from flyquery_sdk.models.semantic_dimension_read import SemanticDimensionRead +from flyquery_sdk.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = flyquery_sdk.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: AgentToken +configuration.api_key['AgentToken'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['AgentToken'] = 'Bearer' + +# Enter a context with an instance of the API client +async with flyquery_sdk.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = flyquery_sdk.AgentSemanticDimensionsApi(api_client) + x_agent_token = 'fqt_live_aBcDeF1234567890aBcDeF1234567890' # str | Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + semantic_dimension_create = flyquery_sdk.SemanticDimensionCreate() # SemanticDimensionCreate | + x_correlation_id = UUID('550e8400-e29b-41d4-a716-446655440000') # UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. (optional) + idempotency_key = 'ingest-2026-05-23-abc123' # str | Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. (optional) + + try: + # Create a dimension in DRAFT (agent-tier). + api_response = await api_instance.create(x_agent_token, semantic_dimension_create, x_correlation_id=x_correlation_id, idempotency_key=idempotency_key) + print("The response of AgentSemanticDimensionsApi->create:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AgentSemanticDimensionsApi->create: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **x_agent_token** | **str**| Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. | + **semantic_dimension_create** | [**SemanticDimensionCreate**](SemanticDimensionCreate.md)| | + **x_correlation_id** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] + **idempotency_key** | **str**| Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. | [optional] + +### Return type + +[**SemanticDimensionRead**](SemanticDimensionRead.md) + +### Authorization + +[AgentToken](../README.md#AgentToken) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**201** | Successful response | - | +**422** | Validation Error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_dimension** +> SemanticDimensionRead get_dimension(dimension_id, x_agent_token, x_correlation_id=x_correlation_id) + +Fetch a single dimension (agent-tier). + +### Example + +* Api Key Authentication (AgentToken): + +```python +import flyquery_sdk +from flyquery_sdk.models.semantic_dimension_read import SemanticDimensionRead +from flyquery_sdk.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = flyquery_sdk.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: AgentToken +configuration.api_key['AgentToken'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['AgentToken'] = 'Bearer' + +# Enter a context with an instance of the API client +async with flyquery_sdk.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = flyquery_sdk.AgentSemanticDimensionsApi(api_client) + dimension_id = 'dimension_id_example' # str | + x_agent_token = 'fqt_live_aBcDeF1234567890aBcDeF1234567890' # str | Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + x_correlation_id = UUID('550e8400-e29b-41d4-a716-446655440000') # UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. (optional) + + try: + # Fetch a single dimension (agent-tier). + api_response = await api_instance.get_dimension(dimension_id, x_agent_token, x_correlation_id=x_correlation_id) + print("The response of AgentSemanticDimensionsApi->get_dimension:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AgentSemanticDimensionsApi->get_dimension: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **dimension_id** | **str**| | + **x_agent_token** | **str**| Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. | + **x_correlation_id** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] + +### Return type + +[**SemanticDimensionRead**](SemanticDimensionRead.md) + +### Authorization + +[AgentToken](../README.md#AgentToken) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Successful response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **history** +> PaginatedSemanticVersionRead history(dimension_id, x_agent_token, x_correlation_id=x_correlation_id) + +Return version history for a dimension (agent-tier). + +### Example + +* Api Key Authentication (AgentToken): + +```python +import flyquery_sdk +from flyquery_sdk.models.paginated_semantic_version_read import PaginatedSemanticVersionRead +from flyquery_sdk.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = flyquery_sdk.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: AgentToken +configuration.api_key['AgentToken'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['AgentToken'] = 'Bearer' + +# Enter a context with an instance of the API client +async with flyquery_sdk.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = flyquery_sdk.AgentSemanticDimensionsApi(api_client) + dimension_id = 'dimension_id_example' # str | + x_agent_token = 'fqt_live_aBcDeF1234567890aBcDeF1234567890' # str | Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + x_correlation_id = UUID('550e8400-e29b-41d4-a716-446655440000') # UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. (optional) + + try: + # Return version history for a dimension (agent-tier). + api_response = await api_instance.history(dimension_id, x_agent_token, x_correlation_id=x_correlation_id) + print("The response of AgentSemanticDimensionsApi->history:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AgentSemanticDimensionsApi->history: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **dimension_id** | **str**| | + **x_agent_token** | **str**| Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. | + **x_correlation_id** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] + +### Return type + +[**PaginatedSemanticVersionRead**](PaginatedSemanticVersionRead.md) + +### Authorization + +[AgentToken](../README.md#AgentToken) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Successful response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **list_dimensions** +> PaginatedSemanticDimensionRead list_dimensions(x_agent_token, dataset_id=dataset_id, status=status, limit=limit, offset=offset, x_correlation_id=x_correlation_id) + +List dimensions for the caller's workspace (agent-tier). + +### Example + +* Api Key Authentication (AgentToken): + +```python +import flyquery_sdk +from flyquery_sdk.models.paginated_semantic_dimension_read import PaginatedSemanticDimensionRead +from flyquery_sdk.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = flyquery_sdk.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: AgentToken +configuration.api_key['AgentToken'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['AgentToken'] = 'Bearer' + +# Enter a context with an instance of the API client +async with flyquery_sdk.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = flyquery_sdk.AgentSemanticDimensionsApi(api_client) + x_agent_token = 'fqt_live_aBcDeF1234567890aBcDeF1234567890' # str | Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + dataset_id = 'dataset_id_example' # str | (optional) + status = 'status_example' # str | (optional) + limit = 100 # int | (optional) (default to 100) + offset = 0 # int | (optional) (default to 0) + x_correlation_id = UUID('550e8400-e29b-41d4-a716-446655440000') # UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. (optional) + + try: + # List dimensions for the caller's workspace (agent-tier). + api_response = await api_instance.list_dimensions(x_agent_token, dataset_id=dataset_id, status=status, limit=limit, offset=offset, x_correlation_id=x_correlation_id) + print("The response of AgentSemanticDimensionsApi->list_dimensions:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AgentSemanticDimensionsApi->list_dimensions: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **x_agent_token** | **str**| Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. | + **dataset_id** | **str**| | [optional] + **status** | **str**| | [optional] + **limit** | **int**| | [optional] [default to 100] + **offset** | **int**| | [optional] [default to 0] + **x_correlation_id** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] + +### Return type + +[**PaginatedSemanticDimensionRead**](PaginatedSemanticDimensionRead.md) + +### Authorization + +[AgentToken](../README.md#AgentToken) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Successful response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **publish** +> SemanticDimensionRead publish(dimension_id, x_agent_token, x_correlation_id=x_correlation_id, idempotency_key=idempotency_key) + +Publish a dimension (agent-tier). + +### Example + +* Api Key Authentication (AgentToken): + +```python +import flyquery_sdk +from flyquery_sdk.models.semantic_dimension_read import SemanticDimensionRead +from flyquery_sdk.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = flyquery_sdk.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: AgentToken +configuration.api_key['AgentToken'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['AgentToken'] = 'Bearer' + +# Enter a context with an instance of the API client +async with flyquery_sdk.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = flyquery_sdk.AgentSemanticDimensionsApi(api_client) + dimension_id = 'dimension_id_example' # str | + x_agent_token = 'fqt_live_aBcDeF1234567890aBcDeF1234567890' # str | Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + x_correlation_id = UUID('550e8400-e29b-41d4-a716-446655440000') # UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. (optional) + idempotency_key = 'ingest-2026-05-23-abc123' # str | Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. (optional) + + try: + # Publish a dimension (agent-tier). + api_response = await api_instance.publish(dimension_id, x_agent_token, x_correlation_id=x_correlation_id, idempotency_key=idempotency_key) + print("The response of AgentSemanticDimensionsApi->publish:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AgentSemanticDimensionsApi->publish: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **dimension_id** | **str**| | + **x_agent_token** | **str**| Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. | + **x_correlation_id** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] + **idempotency_key** | **str**| Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. | [optional] + +### Return type + +[**SemanticDimensionRead**](SemanticDimensionRead.md) + +### Authorization + +[AgentToken](../README.md#AgentToken) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Successful response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **retire** +> SemanticDimensionRead retire(dimension_id, x_agent_token, x_correlation_id=x_correlation_id, idempotency_key=idempotency_key) + +Retire a dimension (agent-tier). + +### Example + +* Api Key Authentication (AgentToken): + +```python +import flyquery_sdk +from flyquery_sdk.models.semantic_dimension_read import SemanticDimensionRead +from flyquery_sdk.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = flyquery_sdk.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: AgentToken +configuration.api_key['AgentToken'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['AgentToken'] = 'Bearer' + +# Enter a context with an instance of the API client +async with flyquery_sdk.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = flyquery_sdk.AgentSemanticDimensionsApi(api_client) + dimension_id = 'dimension_id_example' # str | + x_agent_token = 'fqt_live_aBcDeF1234567890aBcDeF1234567890' # str | Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + x_correlation_id = UUID('550e8400-e29b-41d4-a716-446655440000') # UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. (optional) + idempotency_key = 'ingest-2026-05-23-abc123' # str | Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. (optional) + + try: + # Retire a dimension (agent-tier). + api_response = await api_instance.retire(dimension_id, x_agent_token, x_correlation_id=x_correlation_id, idempotency_key=idempotency_key) + print("The response of AgentSemanticDimensionsApi->retire:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AgentSemanticDimensionsApi->retire: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **dimension_id** | **str**| | + **x_agent_token** | **str**| Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. | + **x_correlation_id** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] + **idempotency_key** | **str**| Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. | [optional] + +### Return type + +[**SemanticDimensionRead**](SemanticDimensionRead.md) + +### Authorization + +[AgentToken](../README.md#AgentToken) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Successful response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update** +> SemanticDimensionRead update(dimension_id, x_agent_token, semantic_dimension_update, x_correlation_id=x_correlation_id, idempotency_key=idempotency_key) + +Sparse-update a dimension (agent-tier). + +### Example + +* Api Key Authentication (AgentToken): + +```python +import flyquery_sdk +from flyquery_sdk.models.semantic_dimension_read import SemanticDimensionRead +from flyquery_sdk.models.semantic_dimension_update import SemanticDimensionUpdate +from flyquery_sdk.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = flyquery_sdk.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: AgentToken +configuration.api_key['AgentToken'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['AgentToken'] = 'Bearer' + +# Enter a context with an instance of the API client +async with flyquery_sdk.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = flyquery_sdk.AgentSemanticDimensionsApi(api_client) + dimension_id = 'dimension_id_example' # str | + x_agent_token = 'fqt_live_aBcDeF1234567890aBcDeF1234567890' # str | Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + semantic_dimension_update = flyquery_sdk.SemanticDimensionUpdate() # SemanticDimensionUpdate | + x_correlation_id = UUID('550e8400-e29b-41d4-a716-446655440000') # UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. (optional) + idempotency_key = 'ingest-2026-05-23-abc123' # str | Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. (optional) + + try: + # Sparse-update a dimension (agent-tier). + api_response = await api_instance.update(dimension_id, x_agent_token, semantic_dimension_update, x_correlation_id=x_correlation_id, idempotency_key=idempotency_key) + print("The response of AgentSemanticDimensionsApi->update:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AgentSemanticDimensionsApi->update: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **dimension_id** | **str**| | + **x_agent_token** | **str**| Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. | + **semantic_dimension_update** | [**SemanticDimensionUpdate**](SemanticDimensionUpdate.md)| | + **x_correlation_id** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] + **idempotency_key** | **str**| Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. | [optional] + +### Return type + +[**SemanticDimensionRead**](SemanticDimensionRead.md) + +### Authorization + +[AgentToken](../README.md#AgentToken) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Successful response | - | +**422** | Validation Error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/sdks/python/docs/AgentSemanticMetricsApi.md b/sdks/python/docs/AgentSemanticMetricsApi.md new file mode 100644 index 0000000..03addd6 --- /dev/null +++ b/sdks/python/docs/AgentSemanticMetricsApi.md @@ -0,0 +1,602 @@ +# flyquery_sdk.AgentSemanticMetricsApi + +All URIs are relative to *http://localhost* + +Method | HTTP request | Description +------------- | ------------- | ------------- +[**create**](AgentSemanticMetricsApi.md#create) | **POST** /api/v1/agent/semantic/metrics | Create a metric in DRAFT (agent-tier). +[**get_metric**](AgentSemanticMetricsApi.md#get_metric) | **GET** /api/v1/agent/semantic/metrics/{metric_id} | Fetch a single metric (agent-tier). +[**history**](AgentSemanticMetricsApi.md#history) | **GET** /api/v1/agent/semantic/metrics/{metric_id}/history | Return version history for a metric (agent-tier). +[**list_metrics**](AgentSemanticMetricsApi.md#list_metrics) | **GET** /api/v1/agent/semantic/metrics | List metrics for the caller's workspace (agent-tier). +[**publish**](AgentSemanticMetricsApi.md#publish) | **POST** /api/v1/agent/semantic/metrics/{metric_id}:publish | Publish a metric (agent-tier). +[**retire**](AgentSemanticMetricsApi.md#retire) | **POST** /api/v1/agent/semantic/metrics/{metric_id}:retire | Retire a metric (agent-tier). +[**update**](AgentSemanticMetricsApi.md#update) | **PUT** /api/v1/agent/semantic/metrics/{metric_id} | Sparse-update a metric (agent-tier). + + +# **create** +> SemanticMetricRead create(x_agent_token, semantic_metric_create, x_correlation_id=x_correlation_id, idempotency_key=idempotency_key) + +Create a metric in DRAFT (agent-tier). + +### Example + +* Api Key Authentication (AgentToken): + +```python +import flyquery_sdk +from flyquery_sdk.models.semantic_metric_create import SemanticMetricCreate +from flyquery_sdk.models.semantic_metric_read import SemanticMetricRead +from flyquery_sdk.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = flyquery_sdk.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: AgentToken +configuration.api_key['AgentToken'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['AgentToken'] = 'Bearer' + +# Enter a context with an instance of the API client +async with flyquery_sdk.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = flyquery_sdk.AgentSemanticMetricsApi(api_client) + x_agent_token = 'fqt_live_aBcDeF1234567890aBcDeF1234567890' # str | Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + semantic_metric_create = flyquery_sdk.SemanticMetricCreate() # SemanticMetricCreate | + x_correlation_id = UUID('550e8400-e29b-41d4-a716-446655440000') # UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. (optional) + idempotency_key = 'ingest-2026-05-23-abc123' # str | Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. (optional) + + try: + # Create a metric in DRAFT (agent-tier). + api_response = await api_instance.create(x_agent_token, semantic_metric_create, x_correlation_id=x_correlation_id, idempotency_key=idempotency_key) + print("The response of AgentSemanticMetricsApi->create:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AgentSemanticMetricsApi->create: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **x_agent_token** | **str**| Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. | + **semantic_metric_create** | [**SemanticMetricCreate**](SemanticMetricCreate.md)| | + **x_correlation_id** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] + **idempotency_key** | **str**| Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. | [optional] + +### Return type + +[**SemanticMetricRead**](SemanticMetricRead.md) + +### Authorization + +[AgentToken](../README.md#AgentToken) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**201** | Successful response | - | +**422** | Validation Error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **get_metric** +> SemanticMetricRead get_metric(metric_id, x_agent_token, x_correlation_id=x_correlation_id) + +Fetch a single metric (agent-tier). + +### Example + +* Api Key Authentication (AgentToken): + +```python +import flyquery_sdk +from flyquery_sdk.models.semantic_metric_read import SemanticMetricRead +from flyquery_sdk.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = flyquery_sdk.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: AgentToken +configuration.api_key['AgentToken'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['AgentToken'] = 'Bearer' + +# Enter a context with an instance of the API client +async with flyquery_sdk.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = flyquery_sdk.AgentSemanticMetricsApi(api_client) + metric_id = 'metric_id_example' # str | + x_agent_token = 'fqt_live_aBcDeF1234567890aBcDeF1234567890' # str | Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + x_correlation_id = UUID('550e8400-e29b-41d4-a716-446655440000') # UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. (optional) + + try: + # Fetch a single metric (agent-tier). + api_response = await api_instance.get_metric(metric_id, x_agent_token, x_correlation_id=x_correlation_id) + print("The response of AgentSemanticMetricsApi->get_metric:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AgentSemanticMetricsApi->get_metric: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **metric_id** | **str**| | + **x_agent_token** | **str**| Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. | + **x_correlation_id** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] + +### Return type + +[**SemanticMetricRead**](SemanticMetricRead.md) + +### Authorization + +[AgentToken](../README.md#AgentToken) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Successful response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **history** +> PaginatedSemanticVersionRead history(metric_id, x_agent_token, x_correlation_id=x_correlation_id) + +Return version history for a metric (agent-tier). + +### Example + +* Api Key Authentication (AgentToken): + +```python +import flyquery_sdk +from flyquery_sdk.models.paginated_semantic_version_read import PaginatedSemanticVersionRead +from flyquery_sdk.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = flyquery_sdk.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: AgentToken +configuration.api_key['AgentToken'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['AgentToken'] = 'Bearer' + +# Enter a context with an instance of the API client +async with flyquery_sdk.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = flyquery_sdk.AgentSemanticMetricsApi(api_client) + metric_id = 'metric_id_example' # str | + x_agent_token = 'fqt_live_aBcDeF1234567890aBcDeF1234567890' # str | Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + x_correlation_id = UUID('550e8400-e29b-41d4-a716-446655440000') # UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. (optional) + + try: + # Return version history for a metric (agent-tier). + api_response = await api_instance.history(metric_id, x_agent_token, x_correlation_id=x_correlation_id) + print("The response of AgentSemanticMetricsApi->history:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AgentSemanticMetricsApi->history: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **metric_id** | **str**| | + **x_agent_token** | **str**| Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. | + **x_correlation_id** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] + +### Return type + +[**PaginatedSemanticVersionRead**](PaginatedSemanticVersionRead.md) + +### Authorization + +[AgentToken](../README.md#AgentToken) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Successful response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **list_metrics** +> PaginatedSemanticMetricRead list_metrics(x_agent_token, dataset_id=dataset_id, status=status, limit=limit, offset=offset, x_correlation_id=x_correlation_id) + +List metrics for the caller's workspace (agent-tier). + +### Example + +* Api Key Authentication (AgentToken): + +```python +import flyquery_sdk +from flyquery_sdk.models.paginated_semantic_metric_read import PaginatedSemanticMetricRead +from flyquery_sdk.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = flyquery_sdk.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: AgentToken +configuration.api_key['AgentToken'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['AgentToken'] = 'Bearer' + +# Enter a context with an instance of the API client +async with flyquery_sdk.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = flyquery_sdk.AgentSemanticMetricsApi(api_client) + x_agent_token = 'fqt_live_aBcDeF1234567890aBcDeF1234567890' # str | Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + dataset_id = 'dataset_id_example' # str | (optional) + status = 'status_example' # str | (optional) + limit = 100 # int | (optional) (default to 100) + offset = 0 # int | (optional) (default to 0) + x_correlation_id = UUID('550e8400-e29b-41d4-a716-446655440000') # UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. (optional) + + try: + # List metrics for the caller's workspace (agent-tier). + api_response = await api_instance.list_metrics(x_agent_token, dataset_id=dataset_id, status=status, limit=limit, offset=offset, x_correlation_id=x_correlation_id) + print("The response of AgentSemanticMetricsApi->list_metrics:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AgentSemanticMetricsApi->list_metrics: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **x_agent_token** | **str**| Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. | + **dataset_id** | **str**| | [optional] + **status** | **str**| | [optional] + **limit** | **int**| | [optional] [default to 100] + **offset** | **int**| | [optional] [default to 0] + **x_correlation_id** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] + +### Return type + +[**PaginatedSemanticMetricRead**](PaginatedSemanticMetricRead.md) + +### Authorization + +[AgentToken](../README.md#AgentToken) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Successful response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **publish** +> SemanticMetricRead publish(metric_id, x_agent_token, x_correlation_id=x_correlation_id, idempotency_key=idempotency_key) + +Publish a metric (agent-tier). + +### Example + +* Api Key Authentication (AgentToken): + +```python +import flyquery_sdk +from flyquery_sdk.models.semantic_metric_read import SemanticMetricRead +from flyquery_sdk.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = flyquery_sdk.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: AgentToken +configuration.api_key['AgentToken'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['AgentToken'] = 'Bearer' + +# Enter a context with an instance of the API client +async with flyquery_sdk.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = flyquery_sdk.AgentSemanticMetricsApi(api_client) + metric_id = 'metric_id_example' # str | + x_agent_token = 'fqt_live_aBcDeF1234567890aBcDeF1234567890' # str | Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + x_correlation_id = UUID('550e8400-e29b-41d4-a716-446655440000') # UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. (optional) + idempotency_key = 'ingest-2026-05-23-abc123' # str | Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. (optional) + + try: + # Publish a metric (agent-tier). + api_response = await api_instance.publish(metric_id, x_agent_token, x_correlation_id=x_correlation_id, idempotency_key=idempotency_key) + print("The response of AgentSemanticMetricsApi->publish:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AgentSemanticMetricsApi->publish: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **metric_id** | **str**| | + **x_agent_token** | **str**| Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. | + **x_correlation_id** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] + **idempotency_key** | **str**| Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. | [optional] + +### Return type + +[**SemanticMetricRead**](SemanticMetricRead.md) + +### Authorization + +[AgentToken](../README.md#AgentToken) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Successful response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **retire** +> SemanticMetricRead retire(metric_id, x_agent_token, x_correlation_id=x_correlation_id, idempotency_key=idempotency_key) + +Retire a metric (agent-tier). + +### Example + +* Api Key Authentication (AgentToken): + +```python +import flyquery_sdk +from flyquery_sdk.models.semantic_metric_read import SemanticMetricRead +from flyquery_sdk.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = flyquery_sdk.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: AgentToken +configuration.api_key['AgentToken'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['AgentToken'] = 'Bearer' + +# Enter a context with an instance of the API client +async with flyquery_sdk.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = flyquery_sdk.AgentSemanticMetricsApi(api_client) + metric_id = 'metric_id_example' # str | + x_agent_token = 'fqt_live_aBcDeF1234567890aBcDeF1234567890' # str | Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + x_correlation_id = UUID('550e8400-e29b-41d4-a716-446655440000') # UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. (optional) + idempotency_key = 'ingest-2026-05-23-abc123' # str | Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. (optional) + + try: + # Retire a metric (agent-tier). + api_response = await api_instance.retire(metric_id, x_agent_token, x_correlation_id=x_correlation_id, idempotency_key=idempotency_key) + print("The response of AgentSemanticMetricsApi->retire:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AgentSemanticMetricsApi->retire: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **metric_id** | **str**| | + **x_agent_token** | **str**| Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. | + **x_correlation_id** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] + **idempotency_key** | **str**| Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. | [optional] + +### Return type + +[**SemanticMetricRead**](SemanticMetricRead.md) + +### Authorization + +[AgentToken](../README.md#AgentToken) + +### HTTP request headers + + - **Content-Type**: Not defined + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Successful response | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + +# **update** +> SemanticMetricRead update(metric_id, x_agent_token, semantic_metric_update, x_correlation_id=x_correlation_id, idempotency_key=idempotency_key) + +Sparse-update a metric (agent-tier). + +### Example + +* Api Key Authentication (AgentToken): + +```python +import flyquery_sdk +from flyquery_sdk.models.semantic_metric_read import SemanticMetricRead +from flyquery_sdk.models.semantic_metric_update import SemanticMetricUpdate +from flyquery_sdk.rest import ApiException +from pprint import pprint + +# Defining the host is optional and defaults to http://localhost +# See configuration.py for a list of all supported configuration parameters. +configuration = flyquery_sdk.Configuration( + host = "http://localhost" +) + +# The client must configure the authentication and authorization parameters +# in accordance with the API server security policy. +# Examples for each auth method are provided below, use the example that +# satisfies your auth use case. + +# Configure API key authorization: AgentToken +configuration.api_key['AgentToken'] = os.environ["API_KEY"] + +# Uncomment below to setup prefix (e.g. Bearer) for API key, if needed +# configuration.api_key_prefix['AgentToken'] = 'Bearer' + +# Enter a context with an instance of the API client +async with flyquery_sdk.ApiClient(configuration) as api_client: + # Create an instance of the API class + api_instance = flyquery_sdk.AgentSemanticMetricsApi(api_client) + metric_id = 'metric_id_example' # str | + x_agent_token = 'fqt_live_aBcDeF1234567890aBcDeF1234567890' # str | Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. + semantic_metric_update = flyquery_sdk.SemanticMetricUpdate() # SemanticMetricUpdate | + x_correlation_id = UUID('550e8400-e29b-41d4-a716-446655440000') # UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. (optional) + idempotency_key = 'ingest-2026-05-23-abc123' # str | Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. (optional) + + try: + # Sparse-update a metric (agent-tier). + api_response = await api_instance.update(metric_id, x_agent_token, semantic_metric_update, x_correlation_id=x_correlation_id, idempotency_key=idempotency_key) + print("The response of AgentSemanticMetricsApi->update:\n") + pprint(api_response) + except Exception as e: + print("Exception when calling AgentSemanticMetricsApi->update: %s\n" % e) +``` + + + +### Parameters + + +Name | Type | Description | Notes +------------- | ------------- | ------------- | ------------- + **metric_id** | **str**| | + **x_agent_token** | **str**| Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. | + **semantic_metric_update** | [**SemanticMetricUpdate**](SemanticMetricUpdate.md)| | + **x_correlation_id** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] + **idempotency_key** | **str**| Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. | [optional] + +### Return type + +[**SemanticMetricRead**](SemanticMetricRead.md) + +### Authorization + +[AgentToken](../README.md#AgentToken) + +### HTTP request headers + + - **Content-Type**: application/json + - **Accept**: application/json + +### HTTP response details + +| Status code | Description | Response headers | +|-------------|-------------|------------------| +**200** | Successful response | - | +**422** | Validation Error | - | + +[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) + diff --git a/sdks/python/docs/GlossaryTermCreate.md b/sdks/python/docs/GlossaryTermCreate.md index 420c156..0ab3ac7 100644 --- a/sdks/python/docs/GlossaryTermCreate.md +++ b/sdks/python/docs/GlossaryTermCreate.md @@ -7,10 +7,10 @@ Payload for creating a new glossary term. Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **definition** | **str** | | -**related_columns_json** | **List[str]** | | [optional] -**related_metrics_json** | **List[str]** | | [optional] -**synonyms_json** | **List[str]** | | [optional] -**tags_json** | **List[str]** | | [optional] +**related_columns** | **List[str]** | | [optional] +**related_metrics** | **List[str]** | | [optional] +**synonyms** | **List[str]** | | [optional] +**tags** | **List[str]** | | [optional] **term** | **str** | | ## Example diff --git a/sdks/python/docs/GlossaryTermUpdate.md b/sdks/python/docs/GlossaryTermUpdate.md index 6fb0269..babfeae 100644 --- a/sdks/python/docs/GlossaryTermUpdate.md +++ b/sdks/python/docs/GlossaryTermUpdate.md @@ -7,10 +7,10 @@ Sparse-update payload for an existing glossary term. Name | Type | Description | Notes ------------ | ------------- | ------------- | ------------- **definition** | **str** | | [optional] -**related_columns_json** | **List[str]** | | [optional] -**related_metrics_json** | **List[str]** | | [optional] -**synonyms_json** | **List[str]** | | [optional] -**tags_json** | **List[str]** | | [optional] +**related_columns** | **List[str]** | | [optional] +**related_metrics** | **List[str]** | | [optional] +**synonyms** | **List[str]** | | [optional] +**tags** | **List[str]** | | [optional] ## Example diff --git a/sdks/python/docs/SemanticDimensionCreate.md b/sdks/python/docs/SemanticDimensionCreate.md index 94c6546..76a99c6 100644 --- a/sdks/python/docs/SemanticDimensionCreate.md +++ b/sdks/python/docs/SemanticDimensionCreate.md @@ -1,6 +1,6 @@ # SemanticDimensionCreate -Payload for creating a new semantic dimension. +Payload for creating a new semantic dimension. The dimension's ``type`` (categorical|time) is taken from the ``definition_yaml`` body, not a separate request field. ## Properties @@ -10,7 +10,6 @@ Name | Type | Description | Notes **definition_yaml** | **str** | | **description** | **str** | | [optional] **label** | **str** | | [optional] -**metric_type** | **str** | | [optional] [default to 'SIMPLE'] **name** | **str** | | ## Example diff --git a/sdks/python/docs/SemanticDimensionRead.md b/sdks/python/docs/SemanticDimensionRead.md index f8264de..532b167 100644 --- a/sdks/python/docs/SemanticDimensionRead.md +++ b/sdks/python/docs/SemanticDimensionRead.md @@ -12,9 +12,10 @@ Name | Type | Description | Notes **dataset_id** | **UUID** | | **definition_yaml** | **str** | | **description** | **str** | | +**dimension_type** | **str** | | **id** | **UUID** | | **label** | **str** | | -**metric_type** | **str** | | +**metadata_json** | **Dict[str, object]** | | [optional] **name** | **str** | | **status** | **str** | | **tenant_id** | **str** | | diff --git a/sdks/python/docs/SemanticDimensionUpdate.md b/sdks/python/docs/SemanticDimensionUpdate.md index 05aa8db..22ae46a 100644 --- a/sdks/python/docs/SemanticDimensionUpdate.md +++ b/sdks/python/docs/SemanticDimensionUpdate.md @@ -9,7 +9,6 @@ Name | Type | Description | Notes **definition_yaml** | **str** | | [optional] **description** | **str** | | [optional] **label** | **str** | | [optional] -**metric_type** | **str** | | [optional] ## Example diff --git a/sdks/python/docs/SemanticDimensionsApi.md b/sdks/python/docs/SemanticDimensionsApi.md index 295045a..de69ebc 100644 --- a/sdks/python/docs/SemanticDimensionsApi.md +++ b/sdks/python/docs/SemanticDimensionsApi.md @@ -7,10 +7,10 @@ Method | HTTP request | Description [**create**](SemanticDimensionsApi.md#create) | **POST** /api/v1/semantic/dimensions | Create a new semantic dimension in DRAFT status. [**get_dimension**](SemanticDimensionsApi.md#get_dimension) | **GET** /api/v1/semantic/dimensions/{dimension_id} | Fetch a single semantic dimension by id. [**history**](SemanticDimensionsApi.md#history) | **GET** /api/v1/semantic/dimensions/{dimension_id}/history | Return version history for a dimension, oldest first. -[**list_dimensions**](SemanticDimensionsApi.md#list_dimensions) | **GET** /api/v1/semantic/dimensions | List all semantic dimensions for the caller's workspace. +[**list_dimensions**](SemanticDimensionsApi.md#list_dimensions) | **GET** /api/v1/semantic/dimensions | List semantic dimensions for the caller's workspace (optional status filter). [**publish**](SemanticDimensionsApi.md#publish) | **POST** /api/v1/semantic/dimensions/{dimension_id}:publish | Validate, compile, and publish a dimension (status → PUBLISHED). [**retire**](SemanticDimensionsApi.md#retire) | **POST** /api/v1/semantic/dimensions/{dimension_id}:retire | Retire a dimension (status → RETIRED). -[**update**](SemanticDimensionsApi.md#update) | **PUT** /api/v1/semantic/dimensions/{dimension_id} | Sparse-update a dimension; re-validates YAML if definition changes. +[**update**](SemanticDimensionsApi.md#update) | **PUT** /api/v1/semantic/dimensions/{dimension_id} | Sparse-update a dimension; re-validates + recompiles if published. # **create** @@ -288,9 +288,9 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **list_dimensions** -> PaginatedSemanticDimensionRead list_dimensions(x_tenant_id, x_workspace_id, dataset_id=dataset_id, limit=limit, offset=offset, x_correlation_id=x_correlation_id) +> PaginatedSemanticDimensionRead list_dimensions(x_tenant_id, x_workspace_id, dataset_id=dataset_id, status=status, limit=limit, offset=offset, x_correlation_id=x_correlation_id) -List all semantic dimensions for the caller's workspace. +List semantic dimensions for the caller's workspace (optional status filter). ### Example @@ -333,13 +333,14 @@ async with flyquery_sdk.ApiClient(configuration) as api_client: x_tenant_id = 'acme-corp' # str | Tenant slug. Required on every non-agent endpoint -- bounds the row-level security policy and appears in every audit event. Must match the JWT tenant claim if Authorization is also present. x_workspace_id = '00000000-0000-0000-0000-000000000001' # str | Workspace identifier. Accepts either the workspace UUID or its slug -- the slug form lets SDKs avoid carrying UUIDs around. Used to scope every query, ingest, and schema KB operation. dataset_id = 'dataset_id_example' # str | (optional) + status = 'status_example' # str | (optional) limit = 100 # int | (optional) (default to 100) offset = 0 # int | (optional) (default to 0) x_correlation_id = UUID('550e8400-e29b-41d4-a716-446655440000') # UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. (optional) try: - # List all semantic dimensions for the caller's workspace. - api_response = await api_instance.list_dimensions(x_tenant_id, x_workspace_id, dataset_id=dataset_id, limit=limit, offset=offset, x_correlation_id=x_correlation_id) + # List semantic dimensions for the caller's workspace (optional status filter). + api_response = await api_instance.list_dimensions(x_tenant_id, x_workspace_id, dataset_id=dataset_id, status=status, limit=limit, offset=offset, x_correlation_id=x_correlation_id) print("The response of SemanticDimensionsApi->list_dimensions:\n") pprint(api_response) except Exception as e: @@ -356,6 +357,7 @@ Name | Type | Description | Notes **x_tenant_id** | **str**| Tenant slug. Required on every non-agent endpoint -- bounds the row-level security policy and appears in every audit event. Must match the JWT tenant claim if Authorization is also present. | **x_workspace_id** | **str**| Workspace identifier. Accepts either the workspace UUID or its slug -- the slug form lets SDKs avoid carrying UUIDs around. Used to scope every query, ingest, and schema KB operation. | **dataset_id** | **str**| | [optional] + **status** | **str**| | [optional] **limit** | **int**| | [optional] [default to 100] **offset** | **int**| | [optional] [default to 0] **x_correlation_id** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] @@ -568,7 +570,7 @@ Name | Type | Description | Notes # **update** > SemanticDimensionRead update(dimension_id, x_tenant_id, x_workspace_id, semantic_dimension_update, x_correlation_id=x_correlation_id, idempotency_key=idempotency_key) -Sparse-update a dimension; re-validates YAML if definition changes. +Sparse-update a dimension; re-validates + recompiles if published. ### Example @@ -617,7 +619,7 @@ async with flyquery_sdk.ApiClient(configuration) as api_client: idempotency_key = 'ingest-2026-05-23-abc123' # str | Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. (optional) try: - # Sparse-update a dimension; re-validates YAML if definition changes. + # Sparse-update a dimension; re-validates + recompiles if published. api_response = await api_instance.update(dimension_id, x_tenant_id, x_workspace_id, semantic_dimension_update, x_correlation_id=x_correlation_id, idempotency_key=idempotency_key) print("The response of SemanticDimensionsApi->update:\n") pprint(api_response) diff --git a/sdks/python/docs/SemanticMetricRead.md b/sdks/python/docs/SemanticMetricRead.md index 09c8c32..3366683 100644 --- a/sdks/python/docs/SemanticMetricRead.md +++ b/sdks/python/docs/SemanticMetricRead.md @@ -14,6 +14,7 @@ Name | Type | Description | Notes **description** | **str** | | **id** | **UUID** | | **label** | **str** | | +**metadata_json** | **Dict[str, object]** | | [optional] **metric_type** | **str** | | **name** | **str** | | **status** | **str** | | diff --git a/sdks/python/docs/SemanticMetricsApi.md b/sdks/python/docs/SemanticMetricsApi.md index f3eed99..6d9b5cf 100644 --- a/sdks/python/docs/SemanticMetricsApi.md +++ b/sdks/python/docs/SemanticMetricsApi.md @@ -7,10 +7,10 @@ Method | HTTP request | Description [**create**](SemanticMetricsApi.md#create) | **POST** /api/v1/semantic/metrics | Create a new semantic metric in DRAFT status. [**get_metric**](SemanticMetricsApi.md#get_metric) | **GET** /api/v1/semantic/metrics/{metric_id} | Fetch a single semantic metric by id. [**history**](SemanticMetricsApi.md#history) | **GET** /api/v1/semantic/metrics/{metric_id}/history | Return version history for a metric, oldest first. -[**list_metrics**](SemanticMetricsApi.md#list_metrics) | **GET** /api/v1/semantic/metrics | List all semantic metrics for the caller's workspace. +[**list_metrics**](SemanticMetricsApi.md#list_metrics) | **GET** /api/v1/semantic/metrics | List semantic metrics for the caller's workspace (optional status filter). [**publish**](SemanticMetricsApi.md#publish) | **POST** /api/v1/semantic/metrics/{metric_id}:publish | Validate, compile, and publish a metric (status → PUBLISHED). [**retire**](SemanticMetricsApi.md#retire) | **POST** /api/v1/semantic/metrics/{metric_id}:retire | Retire a metric (status → RETIRED). -[**update**](SemanticMetricsApi.md#update) | **PUT** /api/v1/semantic/metrics/{metric_id} | Sparse-update a metric; re-validates YAML if definition changes. +[**update**](SemanticMetricsApi.md#update) | **PUT** /api/v1/semantic/metrics/{metric_id} | Sparse-update a metric; re-validates + recompiles if published. # **create** @@ -292,9 +292,9 @@ Name | Type | Description | Notes [[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md) # **list_metrics** -> PaginatedSemanticMetricRead list_metrics(x_tenant_id, x_workspace_id, dataset_id=dataset_id, limit=limit, offset=offset, x_correlation_id=x_correlation_id) +> PaginatedSemanticMetricRead list_metrics(x_tenant_id, x_workspace_id, dataset_id=dataset_id, status=status, limit=limit, offset=offset, x_correlation_id=x_correlation_id) -List all semantic metrics for the caller's workspace. +List semantic metrics for the caller's workspace (optional status filter). ### Example @@ -337,13 +337,14 @@ async with flyquery_sdk.ApiClient(configuration) as api_client: x_tenant_id = 'acme-corp' # str | Tenant slug. Required on every non-agent endpoint -- bounds the row-level security policy and appears in every audit event. Must match the JWT tenant claim if Authorization is also present. x_workspace_id = '00000000-0000-0000-0000-000000000001' # str | Workspace identifier. Accepts either the workspace UUID or its slug -- the slug form lets SDKs avoid carrying UUIDs around. Used to scope every query, ingest, and schema KB operation. dataset_id = 'dataset_id_example' # str | (optional) + status = 'status_example' # str | (optional) limit = 100 # int | (optional) (default to 100) offset = 0 # int | (optional) (default to 0) x_correlation_id = UUID('550e8400-e29b-41d4-a716-446655440000') # UUID | Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. (optional) try: - # List all semantic metrics for the caller's workspace. - api_response = await api_instance.list_metrics(x_tenant_id, x_workspace_id, dataset_id=dataset_id, limit=limit, offset=offset, x_correlation_id=x_correlation_id) + # List semantic metrics for the caller's workspace (optional status filter). + api_response = await api_instance.list_metrics(x_tenant_id, x_workspace_id, dataset_id=dataset_id, status=status, limit=limit, offset=offset, x_correlation_id=x_correlation_id) print("The response of SemanticMetricsApi->list_metrics:\n") pprint(api_response) except Exception as e: @@ -360,6 +361,7 @@ Name | Type | Description | Notes **x_tenant_id** | **str**| Tenant slug. Required on every non-agent endpoint -- bounds the row-level security policy and appears in every audit event. Must match the JWT tenant claim if Authorization is also present. | **x_workspace_id** | **str**| Workspace identifier. Accepts either the workspace UUID or its slug -- the slug form lets SDKs avoid carrying UUIDs around. Used to scope every query, ingest, and schema KB operation. | **dataset_id** | **str**| | [optional] + **status** | **str**| | [optional] **limit** | **int**| | [optional] [default to 100] **offset** | **int**| | [optional] [default to 0] **x_correlation_id** | **UUID**| Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. | [optional] @@ -572,7 +574,7 @@ Name | Type | Description | Notes # **update** > SemanticMetricRead update(metric_id, x_tenant_id, x_workspace_id, semantic_metric_update, x_correlation_id=x_correlation_id, idempotency_key=idempotency_key) -Sparse-update a metric; re-validates YAML if definition changes. +Sparse-update a metric; re-validates + recompiles if published. ### Example @@ -621,7 +623,7 @@ async with flyquery_sdk.ApiClient(configuration) as api_client: idempotency_key = 'ingest-2026-05-23-abc123' # str | Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. (optional) try: - # Sparse-update a metric; re-validates YAML if definition changes. + # Sparse-update a metric; re-validates + recompiles if published. api_response = await api_instance.update(metric_id, x_tenant_id, x_workspace_id, semantic_metric_update, x_correlation_id=x_correlation_id, idempotency_key=idempotency_key) print("The response of SemanticMetricsApi->update:\n") pprint(api_response) diff --git a/sdks/python/docs/SemanticVersionRead.md b/sdks/python/docs/SemanticVersionRead.md index b152033..acaf8f4 100644 --- a/sdks/python/docs/SemanticVersionRead.md +++ b/sdks/python/docs/SemanticVersionRead.md @@ -1,6 +1,6 @@ # SemanticVersionRead -Read representation of a flyquery_semantic_versions row. +Read representation of a flyquery_semantic_versions row. Field names follow the documented payload (``version_number``, ``metric_id``); the underlying columns are ``version`` / ``parent_id`` and are mapped via validation aliases. ## Properties diff --git a/sdks/python/flyquery_sdk/__init__.py b/sdks/python/flyquery_sdk/__init__.py index 3c9c1ee..f7ad5c6 100644 --- a/sdks/python/flyquery_sdk/__init__.py +++ b/sdks/python/flyquery_sdk/__init__.py @@ -1,17 +1,4 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. # flake8: noqa @@ -20,23 +7,26 @@ Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. """ # noqa: E501 -__version__ = "26.5.12" +__version__ = "26.6.0" # Define package exports __all__ = [ "AgentConversationsApi", "AgentDatasetsApi", "AgentExamplesApi", + "AgentGlossaryApi", "AgentIngestJobsApi", "AgentQueryApi", "AgentRelationsApi", + "AgentSemanticDimensionsApi", + "AgentSemanticMetricsApi", "AgentSqlExecuteApi", "AgentTablesApi", "AgentTokensApi", @@ -176,9 +166,12 @@ from flyquery_sdk.api.agent_conversations_api import AgentConversationsApi as AgentConversationsApi from flyquery_sdk.api.agent_datasets_api import AgentDatasetsApi as AgentDatasetsApi from flyquery_sdk.api.agent_examples_api import AgentExamplesApi as AgentExamplesApi +from flyquery_sdk.api.agent_glossary_api import AgentGlossaryApi as AgentGlossaryApi from flyquery_sdk.api.agent_ingest_jobs_api import AgentIngestJobsApi as AgentIngestJobsApi from flyquery_sdk.api.agent_query_api import AgentQueryApi as AgentQueryApi from flyquery_sdk.api.agent_relations_api import AgentRelationsApi as AgentRelationsApi +from flyquery_sdk.api.agent_semantic_dimensions_api import AgentSemanticDimensionsApi as AgentSemanticDimensionsApi +from flyquery_sdk.api.agent_semantic_metrics_api import AgentSemanticMetricsApi as AgentSemanticMetricsApi from flyquery_sdk.api.agent_sql_execute_api import AgentSqlExecuteApi as AgentSqlExecuteApi from flyquery_sdk.api.agent_tables_api import AgentTablesApi as AgentTablesApi from flyquery_sdk.api.agent_tokens_api import AgentTokensApi as AgentTokensApi diff --git a/sdks/python/flyquery_sdk/api/__init__.py b/sdks/python/flyquery_sdk/api/__init__.py index e253636..dddb28e 100644 --- a/sdks/python/flyquery_sdk/api/__init__.py +++ b/sdks/python/flyquery_sdk/api/__init__.py @@ -1,26 +1,15 @@ -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - # flake8: noqa # import apis into api package from flyquery_sdk.api.agent_conversations_api import AgentConversationsApi from flyquery_sdk.api.agent_datasets_api import AgentDatasetsApi from flyquery_sdk.api.agent_examples_api import AgentExamplesApi +from flyquery_sdk.api.agent_glossary_api import AgentGlossaryApi from flyquery_sdk.api.agent_ingest_jobs_api import AgentIngestJobsApi from flyquery_sdk.api.agent_query_api import AgentQueryApi from flyquery_sdk.api.agent_relations_api import AgentRelationsApi +from flyquery_sdk.api.agent_semantic_dimensions_api import AgentSemanticDimensionsApi +from flyquery_sdk.api.agent_semantic_metrics_api import AgentSemanticMetricsApi from flyquery_sdk.api.agent_sql_execute_api import AgentSqlExecuteApi from flyquery_sdk.api.agent_tables_api import AgentTablesApi from flyquery_sdk.api.agent_tokens_api import AgentTokensApi diff --git a/sdks/python/flyquery_sdk/api/agent_conversations_api.py b/sdks/python/flyquery_sdk/api/agent_conversations_api.py index f35d212..97c8c19 100644 --- a/sdks/python/flyquery_sdk/api/agent_conversations_api.py +++ b/sdks/python/flyquery_sdk/api/agent_conversations_api.py @@ -1,23 +1,9 @@ -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/api/agent_datasets_api.py b/sdks/python/flyquery_sdk/api/agent_datasets_api.py index af52952..4e25d02 100644 --- a/sdks/python/flyquery_sdk/api/agent_datasets_api.py +++ b/sdks/python/flyquery_sdk/api/agent_datasets_api.py @@ -1,23 +1,9 @@ -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/api/agent_examples_api.py b/sdks/python/flyquery_sdk/api/agent_examples_api.py index 87218d2..2e3ec4f 100644 --- a/sdks/python/flyquery_sdk/api/agent_examples_api.py +++ b/sdks/python/flyquery_sdk/api/agent_examples_api.py @@ -1,23 +1,9 @@ -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/api/agent_glossary_api.py b/sdks/python/flyquery_sdk/api/agent_glossary_api.py new file mode 100644 index 0000000..a55f3bd --- /dev/null +++ b/sdks/python/flyquery_sdk/api/agent_glossary_api.py @@ -0,0 +1,1586 @@ +""" + flyquery + + Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. + + The version of the OpenAPI document: 26.6.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictInt, StrictStr +from typing import Optional +from typing_extensions import Annotated +from uuid import UUID +from flyquery_sdk.models.glossary_term_create import GlossaryTermCreate +from flyquery_sdk.models.glossary_term_read import GlossaryTermRead +from flyquery_sdk.models.glossary_term_update import GlossaryTermUpdate +from flyquery_sdk.models.paginated_glossary_term_read import PaginatedGlossaryTermRead + +from flyquery_sdk.api_client import ApiClient, RequestSerialized +from flyquery_sdk.api_response import ApiResponse +from flyquery_sdk.rest import RESTResponseType + + +class AgentGlossaryApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def create( + self, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + glossary_term_create: GlossaryTermCreate, + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + idempotency_key: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True, max_length=256)]], Field(description="Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GlossaryTermRead: + """Create a glossary term (agent-tier). + + + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param glossary_term_create: (required) + :type glossary_term_create: GlossaryTermCreate + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param idempotency_key: Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + :type idempotency_key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_serialize( + x_agent_token=x_agent_token, + glossary_term_create=glossary_term_create, + x_correlation_id=x_correlation_id, + idempotency_key=idempotency_key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "GlossaryTermRead", + '422': "HTTPValidationError", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def create_with_http_info( + self, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + glossary_term_create: GlossaryTermCreate, + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + idempotency_key: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True, max_length=256)]], Field(description="Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GlossaryTermRead]: + """Create a glossary term (agent-tier). + + + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param glossary_term_create: (required) + :type glossary_term_create: GlossaryTermCreate + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param idempotency_key: Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + :type idempotency_key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_serialize( + x_agent_token=x_agent_token, + glossary_term_create=glossary_term_create, + x_correlation_id=x_correlation_id, + idempotency_key=idempotency_key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "GlossaryTermRead", + '422': "HTTPValidationError", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def create_without_preload_content( + self, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + glossary_term_create: GlossaryTermCreate, + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + idempotency_key: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True, max_length=256)]], Field(description="Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a glossary term (agent-tier). + + + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param glossary_term_create: (required) + :type glossary_term_create: GlossaryTermCreate + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param idempotency_key: Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + :type idempotency_key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_serialize( + x_agent_token=x_agent_token, + glossary_term_create=glossary_term_create, + x_correlation_id=x_correlation_id, + idempotency_key=idempotency_key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "GlossaryTermRead", + '422': "HTTPValidationError", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_serialize( + self, + x_agent_token, + glossary_term_create, + x_correlation_id, + idempotency_key, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + if x_agent_token is not None: + _header_params['X-Agent-Token'] = x_agent_token + if x_correlation_id is not None: + _header_params['X-Correlation-Id'] = x_correlation_id + if idempotency_key is not None: + _header_params['Idempotency-Key'] = idempotency_key + # process the form parameters + # process the body parameter + if glossary_term_create is not None: + _body_params = glossary_term_create + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'AgentToken' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/v1/agent/glossary', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def delete( + self, + term_id: StrictStr, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + idempotency_key: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True, max_length=256)]], Field(description="Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> None: + """Hard-delete a glossary term (agent-tier). + + + :param term_id: (required) + :type term_id: str + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param idempotency_key: Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + :type idempotency_key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_serialize( + term_id=term_id, + x_agent_token=x_agent_token, + x_correlation_id=x_correlation_id, + idempotency_key=idempotency_key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def delete_with_http_info( + self, + term_id: StrictStr, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + idempotency_key: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True, max_length=256)]], Field(description="Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[None]: + """Hard-delete a glossary term (agent-tier). + + + :param term_id: (required) + :type term_id: str + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param idempotency_key: Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + :type idempotency_key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_serialize( + term_id=term_id, + x_agent_token=x_agent_token, + x_correlation_id=x_correlation_id, + idempotency_key=idempotency_key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def delete_without_preload_content( + self, + term_id: StrictStr, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + idempotency_key: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True, max_length=256)]], Field(description="Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Hard-delete a glossary term (agent-tier). + + + :param term_id: (required) + :type term_id: str + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param idempotency_key: Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + :type idempotency_key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._delete_serialize( + term_id=term_id, + x_agent_token=x_agent_token, + x_correlation_id=x_correlation_id, + idempotency_key=idempotency_key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '204': None, + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _delete_serialize( + self, + term_id, + x_agent_token, + x_correlation_id, + idempotency_key, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if term_id is not None: + _path_params['term_id'] = term_id + # process the query parameters + # process the header parameters + if x_agent_token is not None: + _header_params['X-Agent-Token'] = x_agent_token + if x_correlation_id is not None: + _header_params['X-Correlation-Id'] = x_correlation_id + if idempotency_key is not None: + _header_params['Idempotency-Key'] = idempotency_key + # process the form parameters + # process the body parameter + + + + + # authentication setting + _auth_settings: List[str] = [ + 'AgentToken' + ] + + return self.api_client.param_serialize( + method='DELETE', + resource_path='/api/v1/agent/glossary/{term_id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def get_term( + self, + term_id: Optional[StrictStr], + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GlossaryTermRead: + """Fetch a single glossary term (agent-tier). + + + :param term_id: (required) + :type term_id: str + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_term_serialize( + term_id=term_id, + x_agent_token=x_agent_token, + x_correlation_id=x_correlation_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GlossaryTermRead", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def get_term_with_http_info( + self, + term_id: Optional[StrictStr], + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GlossaryTermRead]: + """Fetch a single glossary term (agent-tier). + + + :param term_id: (required) + :type term_id: str + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_term_serialize( + term_id=term_id, + x_agent_token=x_agent_token, + x_correlation_id=x_correlation_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GlossaryTermRead", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def get_term_without_preload_content( + self, + term_id: Optional[StrictStr], + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Fetch a single glossary term (agent-tier). + + + :param term_id: (required) + :type term_id: str + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_term_serialize( + term_id=term_id, + x_agent_token=x_agent_token, + x_correlation_id=x_correlation_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GlossaryTermRead", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_term_serialize( + self, + term_id, + x_agent_token, + x_correlation_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if term_id is not None: + _path_params['term_id'] = term_id + # process the query parameters + # process the header parameters + if x_agent_token is not None: + _header_params['X-Agent-Token'] = x_agent_token + if x_correlation_id is not None: + _header_params['X-Correlation-Id'] = x_correlation_id + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'AgentToken' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/v1/agent/glossary/{term_id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def list_terms( + self, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + limit: Optional[StrictInt] = None, + offset: Optional[StrictInt] = None, + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PaginatedGlossaryTermRead: + """List glossary terms for the caller's workspace (agent-tier). + + + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param limit: + :type limit: int + :param offset: + :type offset: int + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_terms_serialize( + x_agent_token=x_agent_token, + limit=limit, + offset=offset, + x_correlation_id=x_correlation_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PaginatedGlossaryTermRead", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def list_terms_with_http_info( + self, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + limit: Optional[StrictInt] = None, + offset: Optional[StrictInt] = None, + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PaginatedGlossaryTermRead]: + """List glossary terms for the caller's workspace (agent-tier). + + + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param limit: + :type limit: int + :param offset: + :type offset: int + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_terms_serialize( + x_agent_token=x_agent_token, + limit=limit, + offset=offset, + x_correlation_id=x_correlation_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PaginatedGlossaryTermRead", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def list_terms_without_preload_content( + self, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + limit: Optional[StrictInt] = None, + offset: Optional[StrictInt] = None, + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """List glossary terms for the caller's workspace (agent-tier). + + + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param limit: + :type limit: int + :param offset: + :type offset: int + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_terms_serialize( + x_agent_token=x_agent_token, + limit=limit, + offset=offset, + x_correlation_id=x_correlation_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PaginatedGlossaryTermRead", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_terms_serialize( + self, + x_agent_token, + limit, + offset, + x_correlation_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + # process the header parameters + if x_agent_token is not None: + _header_params['X-Agent-Token'] = x_agent_token + if x_correlation_id is not None: + _header_params['X-Correlation-Id'] = x_correlation_id + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'AgentToken' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/v1/agent/glossary', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def update( + self, + term_id: StrictStr, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + glossary_term_update: GlossaryTermUpdate, + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + idempotency_key: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True, max_length=256)]], Field(description="Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> GlossaryTermRead: + """Sparse-update a glossary term (agent-tier). + + + :param term_id: (required) + :type term_id: str + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param glossary_term_update: (required) + :type glossary_term_update: GlossaryTermUpdate + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param idempotency_key: Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + :type idempotency_key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_serialize( + term_id=term_id, + x_agent_token=x_agent_token, + glossary_term_update=glossary_term_update, + x_correlation_id=x_correlation_id, + idempotency_key=idempotency_key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GlossaryTermRead", + '422': "HTTPValidationError", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def update_with_http_info( + self, + term_id: StrictStr, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + glossary_term_update: GlossaryTermUpdate, + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + idempotency_key: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True, max_length=256)]], Field(description="Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[GlossaryTermRead]: + """Sparse-update a glossary term (agent-tier). + + + :param term_id: (required) + :type term_id: str + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param glossary_term_update: (required) + :type glossary_term_update: GlossaryTermUpdate + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param idempotency_key: Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + :type idempotency_key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_serialize( + term_id=term_id, + x_agent_token=x_agent_token, + glossary_term_update=glossary_term_update, + x_correlation_id=x_correlation_id, + idempotency_key=idempotency_key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GlossaryTermRead", + '422': "HTTPValidationError", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def update_without_preload_content( + self, + term_id: StrictStr, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + glossary_term_update: GlossaryTermUpdate, + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + idempotency_key: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True, max_length=256)]], Field(description="Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Sparse-update a glossary term (agent-tier). + + + :param term_id: (required) + :type term_id: str + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param glossary_term_update: (required) + :type glossary_term_update: GlossaryTermUpdate + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param idempotency_key: Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + :type idempotency_key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_serialize( + term_id=term_id, + x_agent_token=x_agent_token, + glossary_term_update=glossary_term_update, + x_correlation_id=x_correlation_id, + idempotency_key=idempotency_key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "GlossaryTermRead", + '422': "HTTPValidationError", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_serialize( + self, + term_id, + x_agent_token, + glossary_term_update, + x_correlation_id, + idempotency_key, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if term_id is not None: + _path_params['term_id'] = term_id + # process the query parameters + # process the header parameters + if x_agent_token is not None: + _header_params['X-Agent-Token'] = x_agent_token + if x_correlation_id is not None: + _header_params['X-Correlation-Id'] = x_correlation_id + if idempotency_key is not None: + _header_params['Idempotency-Key'] = idempotency_key + # process the form parameters + # process the body parameter + if glossary_term_update is not None: + _body_params = glossary_term_update + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'AgentToken' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/v1/agent/glossary/{term_id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/sdks/python/flyquery_sdk/api/agent_ingest_jobs_api.py b/sdks/python/flyquery_sdk/api/agent_ingest_jobs_api.py index c5eba4c..571ca5a 100644 --- a/sdks/python/flyquery_sdk/api/agent_ingest_jobs_api.py +++ b/sdks/python/flyquery_sdk/api/agent_ingest_jobs_api.py @@ -1,23 +1,9 @@ -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/api/agent_query_api.py b/sdks/python/flyquery_sdk/api/agent_query_api.py index 60f4c22..c2b9064 100644 --- a/sdks/python/flyquery_sdk/api/agent_query_api.py +++ b/sdks/python/flyquery_sdk/api/agent_query_api.py @@ -1,23 +1,9 @@ -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/api/agent_relations_api.py b/sdks/python/flyquery_sdk/api/agent_relations_api.py index b3026b2..afe77ea 100644 --- a/sdks/python/flyquery_sdk/api/agent_relations_api.py +++ b/sdks/python/flyquery_sdk/api/agent_relations_api.py @@ -1,23 +1,9 @@ -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/api/agent_semantic_dimensions_api.py b/sdks/python/flyquery_sdk/api/agent_semantic_dimensions_api.py new file mode 100644 index 0000000..c9ffcd3 --- /dev/null +++ b/sdks/python/flyquery_sdk/api/agent_semantic_dimensions_api.py @@ -0,0 +1,2219 @@ +""" + flyquery + + Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. + + The version of the OpenAPI document: 26.6.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictInt, StrictStr +from typing import Optional +from typing_extensions import Annotated +from uuid import UUID +from flyquery_sdk.models.paginated_semantic_dimension_read import PaginatedSemanticDimensionRead +from flyquery_sdk.models.paginated_semantic_version_read import PaginatedSemanticVersionRead +from flyquery_sdk.models.semantic_dimension_create import SemanticDimensionCreate +from flyquery_sdk.models.semantic_dimension_read import SemanticDimensionRead +from flyquery_sdk.models.semantic_dimension_update import SemanticDimensionUpdate + +from flyquery_sdk.api_client import ApiClient, RequestSerialized +from flyquery_sdk.api_response import ApiResponse +from flyquery_sdk.rest import RESTResponseType + + +class AgentSemanticDimensionsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def create( + self, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + semantic_dimension_create: SemanticDimensionCreate, + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + idempotency_key: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True, max_length=256)]], Field(description="Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SemanticDimensionRead: + """Create a dimension in DRAFT (agent-tier). + + + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param semantic_dimension_create: (required) + :type semantic_dimension_create: SemanticDimensionCreate + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param idempotency_key: Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + :type idempotency_key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_serialize( + x_agent_token=x_agent_token, + semantic_dimension_create=semantic_dimension_create, + x_correlation_id=x_correlation_id, + idempotency_key=idempotency_key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "SemanticDimensionRead", + '422': "HTTPValidationError", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def create_with_http_info( + self, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + semantic_dimension_create: SemanticDimensionCreate, + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + idempotency_key: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True, max_length=256)]], Field(description="Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SemanticDimensionRead]: + """Create a dimension in DRAFT (agent-tier). + + + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param semantic_dimension_create: (required) + :type semantic_dimension_create: SemanticDimensionCreate + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param idempotency_key: Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + :type idempotency_key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_serialize( + x_agent_token=x_agent_token, + semantic_dimension_create=semantic_dimension_create, + x_correlation_id=x_correlation_id, + idempotency_key=idempotency_key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "SemanticDimensionRead", + '422': "HTTPValidationError", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def create_without_preload_content( + self, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + semantic_dimension_create: SemanticDimensionCreate, + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + idempotency_key: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True, max_length=256)]], Field(description="Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a dimension in DRAFT (agent-tier). + + + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param semantic_dimension_create: (required) + :type semantic_dimension_create: SemanticDimensionCreate + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param idempotency_key: Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + :type idempotency_key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_serialize( + x_agent_token=x_agent_token, + semantic_dimension_create=semantic_dimension_create, + x_correlation_id=x_correlation_id, + idempotency_key=idempotency_key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "SemanticDimensionRead", + '422': "HTTPValidationError", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_serialize( + self, + x_agent_token, + semantic_dimension_create, + x_correlation_id, + idempotency_key, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + if x_agent_token is not None: + _header_params['X-Agent-Token'] = x_agent_token + if x_correlation_id is not None: + _header_params['X-Correlation-Id'] = x_correlation_id + if idempotency_key is not None: + _header_params['Idempotency-Key'] = idempotency_key + # process the form parameters + # process the body parameter + if semantic_dimension_create is not None: + _body_params = semantic_dimension_create + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'AgentToken' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/v1/agent/semantic/dimensions', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def get_dimension( + self, + dimension_id: Optional[StrictStr], + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SemanticDimensionRead: + """Fetch a single dimension (agent-tier). + + + :param dimension_id: (required) + :type dimension_id: str + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_dimension_serialize( + dimension_id=dimension_id, + x_agent_token=x_agent_token, + x_correlation_id=x_correlation_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SemanticDimensionRead", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def get_dimension_with_http_info( + self, + dimension_id: Optional[StrictStr], + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SemanticDimensionRead]: + """Fetch a single dimension (agent-tier). + + + :param dimension_id: (required) + :type dimension_id: str + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_dimension_serialize( + dimension_id=dimension_id, + x_agent_token=x_agent_token, + x_correlation_id=x_correlation_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SemanticDimensionRead", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def get_dimension_without_preload_content( + self, + dimension_id: Optional[StrictStr], + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Fetch a single dimension (agent-tier). + + + :param dimension_id: (required) + :type dimension_id: str + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_dimension_serialize( + dimension_id=dimension_id, + x_agent_token=x_agent_token, + x_correlation_id=x_correlation_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SemanticDimensionRead", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_dimension_serialize( + self, + dimension_id, + x_agent_token, + x_correlation_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if dimension_id is not None: + _path_params['dimension_id'] = dimension_id + # process the query parameters + # process the header parameters + if x_agent_token is not None: + _header_params['X-Agent-Token'] = x_agent_token + if x_correlation_id is not None: + _header_params['X-Correlation-Id'] = x_correlation_id + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'AgentToken' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/v1/agent/semantic/dimensions/{dimension_id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def history( + self, + dimension_id: StrictStr, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PaginatedSemanticVersionRead: + """Return version history for a dimension (agent-tier). + + + :param dimension_id: (required) + :type dimension_id: str + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._history_serialize( + dimension_id=dimension_id, + x_agent_token=x_agent_token, + x_correlation_id=x_correlation_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PaginatedSemanticVersionRead", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def history_with_http_info( + self, + dimension_id: StrictStr, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PaginatedSemanticVersionRead]: + """Return version history for a dimension (agent-tier). + + + :param dimension_id: (required) + :type dimension_id: str + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._history_serialize( + dimension_id=dimension_id, + x_agent_token=x_agent_token, + x_correlation_id=x_correlation_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PaginatedSemanticVersionRead", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def history_without_preload_content( + self, + dimension_id: StrictStr, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Return version history for a dimension (agent-tier). + + + :param dimension_id: (required) + :type dimension_id: str + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._history_serialize( + dimension_id=dimension_id, + x_agent_token=x_agent_token, + x_correlation_id=x_correlation_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PaginatedSemanticVersionRead", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _history_serialize( + self, + dimension_id, + x_agent_token, + x_correlation_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if dimension_id is not None: + _path_params['dimension_id'] = dimension_id + # process the query parameters + # process the header parameters + if x_agent_token is not None: + _header_params['X-Agent-Token'] = x_agent_token + if x_correlation_id is not None: + _header_params['X-Correlation-Id'] = x_correlation_id + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'AgentToken' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/v1/agent/semantic/dimensions/{dimension_id}/history', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def list_dimensions( + self, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + dataset_id: Optional[StrictStr] = None, + status: Optional[StrictStr] = None, + limit: Optional[StrictInt] = None, + offset: Optional[StrictInt] = None, + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PaginatedSemanticDimensionRead: + """List dimensions for the caller's workspace (agent-tier). + + + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param dataset_id: + :type dataset_id: str + :param status: + :type status: str + :param limit: + :type limit: int + :param offset: + :type offset: int + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_dimensions_serialize( + x_agent_token=x_agent_token, + dataset_id=dataset_id, + status=status, + limit=limit, + offset=offset, + x_correlation_id=x_correlation_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PaginatedSemanticDimensionRead", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def list_dimensions_with_http_info( + self, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + dataset_id: Optional[StrictStr] = None, + status: Optional[StrictStr] = None, + limit: Optional[StrictInt] = None, + offset: Optional[StrictInt] = None, + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PaginatedSemanticDimensionRead]: + """List dimensions for the caller's workspace (agent-tier). + + + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param dataset_id: + :type dataset_id: str + :param status: + :type status: str + :param limit: + :type limit: int + :param offset: + :type offset: int + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_dimensions_serialize( + x_agent_token=x_agent_token, + dataset_id=dataset_id, + status=status, + limit=limit, + offset=offset, + x_correlation_id=x_correlation_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PaginatedSemanticDimensionRead", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def list_dimensions_without_preload_content( + self, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + dataset_id: Optional[StrictStr] = None, + status: Optional[StrictStr] = None, + limit: Optional[StrictInt] = None, + offset: Optional[StrictInt] = None, + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """List dimensions for the caller's workspace (agent-tier). + + + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param dataset_id: + :type dataset_id: str + :param status: + :type status: str + :param limit: + :type limit: int + :param offset: + :type offset: int + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_dimensions_serialize( + x_agent_token=x_agent_token, + dataset_id=dataset_id, + status=status, + limit=limit, + offset=offset, + x_correlation_id=x_correlation_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PaginatedSemanticDimensionRead", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_dimensions_serialize( + self, + x_agent_token, + dataset_id, + status, + limit, + offset, + x_correlation_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if dataset_id is not None: + + _query_params.append(('dataset_id', dataset_id)) + + if status is not None: + + _query_params.append(('status', status)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + # process the header parameters + if x_agent_token is not None: + _header_params['X-Agent-Token'] = x_agent_token + if x_correlation_id is not None: + _header_params['X-Correlation-Id'] = x_correlation_id + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'AgentToken' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/v1/agent/semantic/dimensions', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def publish( + self, + dimension_id: StrictStr, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + idempotency_key: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True, max_length=256)]], Field(description="Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SemanticDimensionRead: + """Publish a dimension (agent-tier). + + + :param dimension_id: (required) + :type dimension_id: str + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param idempotency_key: Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + :type idempotency_key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._publish_serialize( + dimension_id=dimension_id, + x_agent_token=x_agent_token, + x_correlation_id=x_correlation_id, + idempotency_key=idempotency_key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SemanticDimensionRead", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def publish_with_http_info( + self, + dimension_id: StrictStr, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + idempotency_key: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True, max_length=256)]], Field(description="Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SemanticDimensionRead]: + """Publish a dimension (agent-tier). + + + :param dimension_id: (required) + :type dimension_id: str + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param idempotency_key: Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + :type idempotency_key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._publish_serialize( + dimension_id=dimension_id, + x_agent_token=x_agent_token, + x_correlation_id=x_correlation_id, + idempotency_key=idempotency_key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SemanticDimensionRead", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def publish_without_preload_content( + self, + dimension_id: StrictStr, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + idempotency_key: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True, max_length=256)]], Field(description="Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Publish a dimension (agent-tier). + + + :param dimension_id: (required) + :type dimension_id: str + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param idempotency_key: Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + :type idempotency_key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._publish_serialize( + dimension_id=dimension_id, + x_agent_token=x_agent_token, + x_correlation_id=x_correlation_id, + idempotency_key=idempotency_key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SemanticDimensionRead", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _publish_serialize( + self, + dimension_id, + x_agent_token, + x_correlation_id, + idempotency_key, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if dimension_id is not None: + _path_params['dimension_id'] = dimension_id + # process the query parameters + # process the header parameters + if x_agent_token is not None: + _header_params['X-Agent-Token'] = x_agent_token + if x_correlation_id is not None: + _header_params['X-Correlation-Id'] = x_correlation_id + if idempotency_key is not None: + _header_params['Idempotency-Key'] = idempotency_key + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'AgentToken' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/v1/agent/semantic/dimensions/{dimension_id}:publish', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def retire( + self, + dimension_id: StrictStr, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + idempotency_key: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True, max_length=256)]], Field(description="Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SemanticDimensionRead: + """Retire a dimension (agent-tier). + + + :param dimension_id: (required) + :type dimension_id: str + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param idempotency_key: Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + :type idempotency_key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._retire_serialize( + dimension_id=dimension_id, + x_agent_token=x_agent_token, + x_correlation_id=x_correlation_id, + idempotency_key=idempotency_key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SemanticDimensionRead", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def retire_with_http_info( + self, + dimension_id: StrictStr, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + idempotency_key: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True, max_length=256)]], Field(description="Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SemanticDimensionRead]: + """Retire a dimension (agent-tier). + + + :param dimension_id: (required) + :type dimension_id: str + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param idempotency_key: Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + :type idempotency_key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._retire_serialize( + dimension_id=dimension_id, + x_agent_token=x_agent_token, + x_correlation_id=x_correlation_id, + idempotency_key=idempotency_key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SemanticDimensionRead", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def retire_without_preload_content( + self, + dimension_id: StrictStr, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + idempotency_key: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True, max_length=256)]], Field(description="Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Retire a dimension (agent-tier). + + + :param dimension_id: (required) + :type dimension_id: str + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param idempotency_key: Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + :type idempotency_key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._retire_serialize( + dimension_id=dimension_id, + x_agent_token=x_agent_token, + x_correlation_id=x_correlation_id, + idempotency_key=idempotency_key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SemanticDimensionRead", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _retire_serialize( + self, + dimension_id, + x_agent_token, + x_correlation_id, + idempotency_key, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if dimension_id is not None: + _path_params['dimension_id'] = dimension_id + # process the query parameters + # process the header parameters + if x_agent_token is not None: + _header_params['X-Agent-Token'] = x_agent_token + if x_correlation_id is not None: + _header_params['X-Correlation-Id'] = x_correlation_id + if idempotency_key is not None: + _header_params['Idempotency-Key'] = idempotency_key + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'AgentToken' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/v1/agent/semantic/dimensions/{dimension_id}:retire', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def update( + self, + dimension_id: StrictStr, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + semantic_dimension_update: SemanticDimensionUpdate, + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + idempotency_key: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True, max_length=256)]], Field(description="Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SemanticDimensionRead: + """Sparse-update a dimension (agent-tier). + + + :param dimension_id: (required) + :type dimension_id: str + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param semantic_dimension_update: (required) + :type semantic_dimension_update: SemanticDimensionUpdate + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param idempotency_key: Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + :type idempotency_key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_serialize( + dimension_id=dimension_id, + x_agent_token=x_agent_token, + semantic_dimension_update=semantic_dimension_update, + x_correlation_id=x_correlation_id, + idempotency_key=idempotency_key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SemanticDimensionRead", + '422': "HTTPValidationError", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def update_with_http_info( + self, + dimension_id: StrictStr, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + semantic_dimension_update: SemanticDimensionUpdate, + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + idempotency_key: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True, max_length=256)]], Field(description="Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SemanticDimensionRead]: + """Sparse-update a dimension (agent-tier). + + + :param dimension_id: (required) + :type dimension_id: str + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param semantic_dimension_update: (required) + :type semantic_dimension_update: SemanticDimensionUpdate + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param idempotency_key: Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + :type idempotency_key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_serialize( + dimension_id=dimension_id, + x_agent_token=x_agent_token, + semantic_dimension_update=semantic_dimension_update, + x_correlation_id=x_correlation_id, + idempotency_key=idempotency_key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SemanticDimensionRead", + '422': "HTTPValidationError", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def update_without_preload_content( + self, + dimension_id: StrictStr, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + semantic_dimension_update: SemanticDimensionUpdate, + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + idempotency_key: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True, max_length=256)]], Field(description="Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Sparse-update a dimension (agent-tier). + + + :param dimension_id: (required) + :type dimension_id: str + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param semantic_dimension_update: (required) + :type semantic_dimension_update: SemanticDimensionUpdate + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param idempotency_key: Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + :type idempotency_key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_serialize( + dimension_id=dimension_id, + x_agent_token=x_agent_token, + semantic_dimension_update=semantic_dimension_update, + x_correlation_id=x_correlation_id, + idempotency_key=idempotency_key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SemanticDimensionRead", + '422': "HTTPValidationError", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_serialize( + self, + dimension_id, + x_agent_token, + semantic_dimension_update, + x_correlation_id, + idempotency_key, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if dimension_id is not None: + _path_params['dimension_id'] = dimension_id + # process the query parameters + # process the header parameters + if x_agent_token is not None: + _header_params['X-Agent-Token'] = x_agent_token + if x_correlation_id is not None: + _header_params['X-Correlation-Id'] = x_correlation_id + if idempotency_key is not None: + _header_params['Idempotency-Key'] = idempotency_key + # process the form parameters + # process the body parameter + if semantic_dimension_update is not None: + _body_params = semantic_dimension_update + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'AgentToken' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/v1/agent/semantic/dimensions/{dimension_id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/sdks/python/flyquery_sdk/api/agent_semantic_metrics_api.py b/sdks/python/flyquery_sdk/api/agent_semantic_metrics_api.py new file mode 100644 index 0000000..9f91cf3 --- /dev/null +++ b/sdks/python/flyquery_sdk/api/agent_semantic_metrics_api.py @@ -0,0 +1,2219 @@ +""" + flyquery + + Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. + + The version of the OpenAPI document: 26.6.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import warnings +from pydantic import validate_call, Field, StrictFloat, StrictStr, StrictInt +from typing import Any, Dict, List, Optional, Tuple, Union +from typing_extensions import Annotated + +from pydantic import Field, StrictInt, StrictStr +from typing import Optional +from typing_extensions import Annotated +from uuid import UUID +from flyquery_sdk.models.paginated_semantic_metric_read import PaginatedSemanticMetricRead +from flyquery_sdk.models.paginated_semantic_version_read import PaginatedSemanticVersionRead +from flyquery_sdk.models.semantic_metric_create import SemanticMetricCreate +from flyquery_sdk.models.semantic_metric_read import SemanticMetricRead +from flyquery_sdk.models.semantic_metric_update import SemanticMetricUpdate + +from flyquery_sdk.api_client import ApiClient, RequestSerialized +from flyquery_sdk.api_response import ApiResponse +from flyquery_sdk.rest import RESTResponseType + + +class AgentSemanticMetricsApi: + """NOTE: This class is auto generated by OpenAPI Generator + Ref: https://openapi-generator.tech + + Do not edit the class manually. + """ + + def __init__(self, api_client=None) -> None: + if api_client is None: + api_client = ApiClient.get_default() + self.api_client = api_client + + + @validate_call + async def create( + self, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + semantic_metric_create: SemanticMetricCreate, + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + idempotency_key: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True, max_length=256)]], Field(description="Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SemanticMetricRead: + """Create a metric in DRAFT (agent-tier). + + + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param semantic_metric_create: (required) + :type semantic_metric_create: SemanticMetricCreate + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param idempotency_key: Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + :type idempotency_key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_serialize( + x_agent_token=x_agent_token, + semantic_metric_create=semantic_metric_create, + x_correlation_id=x_correlation_id, + idempotency_key=idempotency_key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "SemanticMetricRead", + '422': "HTTPValidationError", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def create_with_http_info( + self, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + semantic_metric_create: SemanticMetricCreate, + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + idempotency_key: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True, max_length=256)]], Field(description="Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SemanticMetricRead]: + """Create a metric in DRAFT (agent-tier). + + + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param semantic_metric_create: (required) + :type semantic_metric_create: SemanticMetricCreate + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param idempotency_key: Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + :type idempotency_key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_serialize( + x_agent_token=x_agent_token, + semantic_metric_create=semantic_metric_create, + x_correlation_id=x_correlation_id, + idempotency_key=idempotency_key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "SemanticMetricRead", + '422': "HTTPValidationError", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def create_without_preload_content( + self, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + semantic_metric_create: SemanticMetricCreate, + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + idempotency_key: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True, max_length=256)]], Field(description="Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Create a metric in DRAFT (agent-tier). + + + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param semantic_metric_create: (required) + :type semantic_metric_create: SemanticMetricCreate + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param idempotency_key: Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + :type idempotency_key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._create_serialize( + x_agent_token=x_agent_token, + semantic_metric_create=semantic_metric_create, + x_correlation_id=x_correlation_id, + idempotency_key=idempotency_key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '201': "SemanticMetricRead", + '422': "HTTPValidationError", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _create_serialize( + self, + x_agent_token, + semantic_metric_create, + x_correlation_id, + idempotency_key, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + # process the header parameters + if x_agent_token is not None: + _header_params['X-Agent-Token'] = x_agent_token + if x_correlation_id is not None: + _header_params['X-Correlation-Id'] = x_correlation_id + if idempotency_key is not None: + _header_params['Idempotency-Key'] = idempotency_key + # process the form parameters + # process the body parameter + if semantic_metric_create is not None: + _body_params = semantic_metric_create + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'AgentToken' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/v1/agent/semantic/metrics', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def get_metric( + self, + metric_id: Optional[StrictStr], + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SemanticMetricRead: + """Fetch a single metric (agent-tier). + + + :param metric_id: (required) + :type metric_id: str + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_metric_serialize( + metric_id=metric_id, + x_agent_token=x_agent_token, + x_correlation_id=x_correlation_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SemanticMetricRead", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def get_metric_with_http_info( + self, + metric_id: Optional[StrictStr], + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SemanticMetricRead]: + """Fetch a single metric (agent-tier). + + + :param metric_id: (required) + :type metric_id: str + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_metric_serialize( + metric_id=metric_id, + x_agent_token=x_agent_token, + x_correlation_id=x_correlation_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SemanticMetricRead", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def get_metric_without_preload_content( + self, + metric_id: Optional[StrictStr], + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Fetch a single metric (agent-tier). + + + :param metric_id: (required) + :type metric_id: str + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._get_metric_serialize( + metric_id=metric_id, + x_agent_token=x_agent_token, + x_correlation_id=x_correlation_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SemanticMetricRead", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _get_metric_serialize( + self, + metric_id, + x_agent_token, + x_correlation_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if metric_id is not None: + _path_params['metric_id'] = metric_id + # process the query parameters + # process the header parameters + if x_agent_token is not None: + _header_params['X-Agent-Token'] = x_agent_token + if x_correlation_id is not None: + _header_params['X-Correlation-Id'] = x_correlation_id + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'AgentToken' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/v1/agent/semantic/metrics/{metric_id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def history( + self, + metric_id: StrictStr, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PaginatedSemanticVersionRead: + """Return version history for a metric (agent-tier). + + + :param metric_id: (required) + :type metric_id: str + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._history_serialize( + metric_id=metric_id, + x_agent_token=x_agent_token, + x_correlation_id=x_correlation_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PaginatedSemanticVersionRead", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def history_with_http_info( + self, + metric_id: StrictStr, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PaginatedSemanticVersionRead]: + """Return version history for a metric (agent-tier). + + + :param metric_id: (required) + :type metric_id: str + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._history_serialize( + metric_id=metric_id, + x_agent_token=x_agent_token, + x_correlation_id=x_correlation_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PaginatedSemanticVersionRead", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def history_without_preload_content( + self, + metric_id: StrictStr, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Return version history for a metric (agent-tier). + + + :param metric_id: (required) + :type metric_id: str + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._history_serialize( + metric_id=metric_id, + x_agent_token=x_agent_token, + x_correlation_id=x_correlation_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PaginatedSemanticVersionRead", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _history_serialize( + self, + metric_id, + x_agent_token, + x_correlation_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if metric_id is not None: + _path_params['metric_id'] = metric_id + # process the query parameters + # process the header parameters + if x_agent_token is not None: + _header_params['X-Agent-Token'] = x_agent_token + if x_correlation_id is not None: + _header_params['X-Correlation-Id'] = x_correlation_id + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'AgentToken' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/v1/agent/semantic/metrics/{metric_id}/history', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def list_metrics( + self, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + dataset_id: Optional[StrictStr] = None, + status: Optional[StrictStr] = None, + limit: Optional[StrictInt] = None, + offset: Optional[StrictInt] = None, + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> PaginatedSemanticMetricRead: + """List metrics for the caller's workspace (agent-tier). + + + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param dataset_id: + :type dataset_id: str + :param status: + :type status: str + :param limit: + :type limit: int + :param offset: + :type offset: int + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_metrics_serialize( + x_agent_token=x_agent_token, + dataset_id=dataset_id, + status=status, + limit=limit, + offset=offset, + x_correlation_id=x_correlation_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PaginatedSemanticMetricRead", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def list_metrics_with_http_info( + self, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + dataset_id: Optional[StrictStr] = None, + status: Optional[StrictStr] = None, + limit: Optional[StrictInt] = None, + offset: Optional[StrictInt] = None, + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[PaginatedSemanticMetricRead]: + """List metrics for the caller's workspace (agent-tier). + + + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param dataset_id: + :type dataset_id: str + :param status: + :type status: str + :param limit: + :type limit: int + :param offset: + :type offset: int + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_metrics_serialize( + x_agent_token=x_agent_token, + dataset_id=dataset_id, + status=status, + limit=limit, + offset=offset, + x_correlation_id=x_correlation_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PaginatedSemanticMetricRead", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def list_metrics_without_preload_content( + self, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + dataset_id: Optional[StrictStr] = None, + status: Optional[StrictStr] = None, + limit: Optional[StrictInt] = None, + offset: Optional[StrictInt] = None, + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """List metrics for the caller's workspace (agent-tier). + + + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param dataset_id: + :type dataset_id: str + :param status: + :type status: str + :param limit: + :type limit: int + :param offset: + :type offset: int + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._list_metrics_serialize( + x_agent_token=x_agent_token, + dataset_id=dataset_id, + status=status, + limit=limit, + offset=offset, + x_correlation_id=x_correlation_id, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "PaginatedSemanticMetricRead", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _list_metrics_serialize( + self, + x_agent_token, + dataset_id, + status, + limit, + offset, + x_correlation_id, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + # process the query parameters + if dataset_id is not None: + + _query_params.append(('dataset_id', dataset_id)) + + if status is not None: + + _query_params.append(('status', status)) + + if limit is not None: + + _query_params.append(('limit', limit)) + + if offset is not None: + + _query_params.append(('offset', offset)) + + # process the header parameters + if x_agent_token is not None: + _header_params['X-Agent-Token'] = x_agent_token + if x_correlation_id is not None: + _header_params['X-Correlation-Id'] = x_correlation_id + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'AgentToken' + ] + + return self.api_client.param_serialize( + method='GET', + resource_path='/api/v1/agent/semantic/metrics', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def publish( + self, + metric_id: StrictStr, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + idempotency_key: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True, max_length=256)]], Field(description="Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SemanticMetricRead: + """Publish a metric (agent-tier). + + + :param metric_id: (required) + :type metric_id: str + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param idempotency_key: Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + :type idempotency_key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._publish_serialize( + metric_id=metric_id, + x_agent_token=x_agent_token, + x_correlation_id=x_correlation_id, + idempotency_key=idempotency_key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SemanticMetricRead", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def publish_with_http_info( + self, + metric_id: StrictStr, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + idempotency_key: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True, max_length=256)]], Field(description="Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SemanticMetricRead]: + """Publish a metric (agent-tier). + + + :param metric_id: (required) + :type metric_id: str + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param idempotency_key: Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + :type idempotency_key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._publish_serialize( + metric_id=metric_id, + x_agent_token=x_agent_token, + x_correlation_id=x_correlation_id, + idempotency_key=idempotency_key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SemanticMetricRead", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def publish_without_preload_content( + self, + metric_id: StrictStr, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + idempotency_key: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True, max_length=256)]], Field(description="Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Publish a metric (agent-tier). + + + :param metric_id: (required) + :type metric_id: str + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param idempotency_key: Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + :type idempotency_key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._publish_serialize( + metric_id=metric_id, + x_agent_token=x_agent_token, + x_correlation_id=x_correlation_id, + idempotency_key=idempotency_key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SemanticMetricRead", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _publish_serialize( + self, + metric_id, + x_agent_token, + x_correlation_id, + idempotency_key, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if metric_id is not None: + _path_params['metric_id'] = metric_id + # process the query parameters + # process the header parameters + if x_agent_token is not None: + _header_params['X-Agent-Token'] = x_agent_token + if x_correlation_id is not None: + _header_params['X-Correlation-Id'] = x_correlation_id + if idempotency_key is not None: + _header_params['Idempotency-Key'] = idempotency_key + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'AgentToken' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/v1/agent/semantic/metrics/{metric_id}:publish', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def retire( + self, + metric_id: StrictStr, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + idempotency_key: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True, max_length=256)]], Field(description="Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SemanticMetricRead: + """Retire a metric (agent-tier). + + + :param metric_id: (required) + :type metric_id: str + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param idempotency_key: Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + :type idempotency_key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._retire_serialize( + metric_id=metric_id, + x_agent_token=x_agent_token, + x_correlation_id=x_correlation_id, + idempotency_key=idempotency_key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SemanticMetricRead", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def retire_with_http_info( + self, + metric_id: StrictStr, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + idempotency_key: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True, max_length=256)]], Field(description="Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SemanticMetricRead]: + """Retire a metric (agent-tier). + + + :param metric_id: (required) + :type metric_id: str + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param idempotency_key: Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + :type idempotency_key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._retire_serialize( + metric_id=metric_id, + x_agent_token=x_agent_token, + x_correlation_id=x_correlation_id, + idempotency_key=idempotency_key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SemanticMetricRead", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def retire_without_preload_content( + self, + metric_id: StrictStr, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + idempotency_key: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True, max_length=256)]], Field(description="Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Retire a metric (agent-tier). + + + :param metric_id: (required) + :type metric_id: str + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param idempotency_key: Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + :type idempotency_key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._retire_serialize( + metric_id=metric_id, + x_agent_token=x_agent_token, + x_correlation_id=x_correlation_id, + idempotency_key=idempotency_key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SemanticMetricRead", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _retire_serialize( + self, + metric_id, + x_agent_token, + x_correlation_id, + idempotency_key, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if metric_id is not None: + _path_params['metric_id'] = metric_id + # process the query parameters + # process the header parameters + if x_agent_token is not None: + _header_params['X-Agent-Token'] = x_agent_token + if x_correlation_id is not None: + _header_params['X-Correlation-Id'] = x_correlation_id + if idempotency_key is not None: + _header_params['Idempotency-Key'] = idempotency_key + # process the form parameters + # process the body parameter + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + + # authentication setting + _auth_settings: List[str] = [ + 'AgentToken' + ] + + return self.api_client.param_serialize( + method='POST', + resource_path='/api/v1/agent/semantic/metrics/{metric_id}:retire', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + + + + @validate_call + async def update( + self, + metric_id: StrictStr, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + semantic_metric_update: SemanticMetricUpdate, + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + idempotency_key: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True, max_length=256)]], Field(description="Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> SemanticMetricRead: + """Sparse-update a metric (agent-tier). + + + :param metric_id: (required) + :type metric_id: str + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param semantic_metric_update: (required) + :type semantic_metric_update: SemanticMetricUpdate + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param idempotency_key: Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + :type idempotency_key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_serialize( + metric_id=metric_id, + x_agent_token=x_agent_token, + semantic_metric_update=semantic_metric_update, + x_correlation_id=x_correlation_id, + idempotency_key=idempotency_key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SemanticMetricRead", + '422': "HTTPValidationError", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ).data + + + @validate_call + async def update_with_http_info( + self, + metric_id: StrictStr, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + semantic_metric_update: SemanticMetricUpdate, + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + idempotency_key: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True, max_length=256)]], Field(description="Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> ApiResponse[SemanticMetricRead]: + """Sparse-update a metric (agent-tier). + + + :param metric_id: (required) + :type metric_id: str + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param semantic_metric_update: (required) + :type semantic_metric_update: SemanticMetricUpdate + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param idempotency_key: Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + :type idempotency_key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_serialize( + metric_id=metric_id, + x_agent_token=x_agent_token, + semantic_metric_update=semantic_metric_update, + x_correlation_id=x_correlation_id, + idempotency_key=idempotency_key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SemanticMetricRead", + '422': "HTTPValidationError", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + await response_data.read() + return self.api_client.response_deserialize( + response_data=response_data, + response_types_map=_response_types_map, + ) + + + @validate_call + async def update_without_preload_content( + self, + metric_id: StrictStr, + x_agent_token: Annotated[str, Field(min_length=32, strict=True, description="Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``.")], + semantic_metric_update: SemanticMetricUpdate, + x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, + idempotency_key: Annotated[Optional[Annotated[str, Field(min_length=1, strict=True, max_length=256)]], Field(description="Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h.")] = None, + _request_timeout: Union[ + None, + Annotated[StrictFloat, Field(gt=0)], + Tuple[ + Annotated[StrictFloat, Field(gt=0)], + Annotated[StrictFloat, Field(gt=0)] + ] + ] = None, + _request_auth: Optional[Dict[StrictStr, Any]] = None, + _content_type: Optional[StrictStr] = None, + _headers: Optional[Dict[StrictStr, Any]] = None, + _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, + ) -> RESTResponseType: + """Sparse-update a metric (agent-tier). + + + :param metric_id: (required) + :type metric_id: str + :param x_agent_token: Machine-to-machine bearer token. Replaces X-Tenant-Id and X-Workspace-Id on agent-tier endpoints -- the token's claims encode the tenant + workspace + scopes. Issue via ``POST /api/v1/agent-tokens``. (required) + :type x_agent_token: str + :param semantic_metric_update: (required) + :type semantic_metric_update: SemanticMetricUpdate + :param x_correlation_id: Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header. + :type x_correlation_id: UUID + :param idempotency_key: Optional client-supplied idempotency key for mutating operations. The first request with a key persists its result; subsequent requests with the same key + same tenant return the cached response. Keys expire after 24h. + :type idempotency_key: str + :param _request_timeout: timeout setting for this request. If one + number provided, it will be total request + timeout. It can also be a pair (tuple) of + (connection, read) timeouts. + :type _request_timeout: int, tuple(int, int), optional + :param _request_auth: set to override the auth_settings for an a single + request; this effectively ignores the + authentication in the spec for a single request. + :type _request_auth: dict, optional + :param _content_type: force content-type for the request. + :type _content_type: str, Optional + :param _headers: set to override the headers for a single + request; this effectively ignores the headers + in the spec for a single request. + :type _headers: dict, optional + :param _host_index: set to override the host_index for a single + request; this effectively ignores the host_index + in the spec for a single request. + :type _host_index: int, optional + :return: Returns the result object. + """ # noqa: E501 + + _param = self._update_serialize( + metric_id=metric_id, + x_agent_token=x_agent_token, + semantic_metric_update=semantic_metric_update, + x_correlation_id=x_correlation_id, + idempotency_key=idempotency_key, + _request_auth=_request_auth, + _content_type=_content_type, + _headers=_headers, + _host_index=_host_index + ) + + _response_types_map: Dict[str, Optional[str]] = { + '200': "SemanticMetricRead", + '422': "HTTPValidationError", + } + response_data = await self.api_client.call_api( + *_param, + _request_timeout=_request_timeout + ) + return response_data.response + + + def _update_serialize( + self, + metric_id, + x_agent_token, + semantic_metric_update, + x_correlation_id, + idempotency_key, + _request_auth, + _content_type, + _headers, + _host_index, + ) -> RequestSerialized: + + _host = None + + _collection_formats: Dict[str, str] = { + } + + _path_params: Dict[str, str] = {} + _query_params: List[Tuple[str, str]] = [] + _header_params: Dict[str, Optional[str]] = _headers or {} + _form_params: List[Tuple[str, str]] = [] + _files: Dict[ + str, Union[str, bytes, List[str], List[bytes], List[Tuple[str, bytes]]] + ] = {} + _body_params: Optional[bytes] = None + + # process the path parameters + if metric_id is not None: + _path_params['metric_id'] = metric_id + # process the query parameters + # process the header parameters + if x_agent_token is not None: + _header_params['X-Agent-Token'] = x_agent_token + if x_correlation_id is not None: + _header_params['X-Correlation-Id'] = x_correlation_id + if idempotency_key is not None: + _header_params['Idempotency-Key'] = idempotency_key + # process the form parameters + # process the body parameter + if semantic_metric_update is not None: + _body_params = semantic_metric_update + + + # set the HTTP header `Accept` + if 'Accept' not in _header_params: + _header_params['Accept'] = self.api_client.select_header_accept( + [ + 'application/json' + ] + ) + + # set the HTTP header `Content-Type` + if _content_type: + _header_params['Content-Type'] = _content_type + else: + _default_content_type = ( + self.api_client.select_header_content_type( + [ + 'application/json' + ] + ) + ) + if _default_content_type is not None: + _header_params['Content-Type'] = _default_content_type + + # authentication setting + _auth_settings: List[str] = [ + 'AgentToken' + ] + + return self.api_client.param_serialize( + method='PUT', + resource_path='/api/v1/agent/semantic/metrics/{metric_id}', + path_params=_path_params, + query_params=_query_params, + header_params=_header_params, + body=_body_params, + post_params=_form_params, + files=_files, + auth_settings=_auth_settings, + collection_formats=_collection_formats, + _host=_host, + _request_auth=_request_auth + ) + + diff --git a/sdks/python/flyquery_sdk/api/agent_sql_execute_api.py b/sdks/python/flyquery_sdk/api/agent_sql_execute_api.py index fca8951..c261ca6 100644 --- a/sdks/python/flyquery_sdk/api/agent_sql_execute_api.py +++ b/sdks/python/flyquery_sdk/api/agent_sql_execute_api.py @@ -1,23 +1,9 @@ -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/api/agent_tables_api.py b/sdks/python/flyquery_sdk/api/agent_tables_api.py index 2a1496f..12fb1ea 100644 --- a/sdks/python/flyquery_sdk/api/agent_tables_api.py +++ b/sdks/python/flyquery_sdk/api/agent_tables_api.py @@ -1,23 +1,9 @@ -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/api/agent_tokens_api.py b/sdks/python/flyquery_sdk/api/agent_tokens_api.py index b32f0b0..c77d1b2 100644 --- a/sdks/python/flyquery_sdk/api/agent_tokens_api.py +++ b/sdks/python/flyquery_sdk/api/agent_tokens_api.py @@ -1,23 +1,9 @@ -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/api/agent_version_api.py b/sdks/python/flyquery_sdk/api/agent_version_api.py index 012a996..0aa737b 100644 --- a/sdks/python/flyquery_sdk/api/agent_version_api.py +++ b/sdks/python/flyquery_sdk/api/agent_version_api.py @@ -1,23 +1,9 @@ -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/api/audit_events_api.py b/sdks/python/flyquery_sdk/api/audit_events_api.py index 3c7128b..20647fa 100644 --- a/sdks/python/flyquery_sdk/api/audit_events_api.py +++ b/sdks/python/flyquery_sdk/api/audit_events_api.py @@ -1,23 +1,9 @@ -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/api/billing_api.py b/sdks/python/flyquery_sdk/api/billing_api.py index 530f0e8..409c5f4 100644 --- a/sdks/python/flyquery_sdk/api/billing_api.py +++ b/sdks/python/flyquery_sdk/api/billing_api.py @@ -1,23 +1,9 @@ -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/api/conversations_api.py b/sdks/python/flyquery_sdk/api/conversations_api.py index 1b96112..fae8a71 100644 --- a/sdks/python/flyquery_sdk/api/conversations_api.py +++ b/sdks/python/flyquery_sdk/api/conversations_api.py @@ -1,23 +1,9 @@ -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/api/cost_events_api.py b/sdks/python/flyquery_sdk/api/cost_events_api.py index 39e216e..a6f1eaa 100644 --- a/sdks/python/flyquery_sdk/api/cost_events_api.py +++ b/sdks/python/flyquery_sdk/api/cost_events_api.py @@ -1,23 +1,9 @@ -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/api/datasets_api.py b/sdks/python/flyquery_sdk/api/datasets_api.py index 1f46cea..5d808a9 100644 --- a/sdks/python/flyquery_sdk/api/datasets_api.py +++ b/sdks/python/flyquery_sdk/api/datasets_api.py @@ -1,23 +1,9 @@ -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/api/examples_api.py b/sdks/python/flyquery_sdk/api/examples_api.py index e2de6bc..995a580 100644 --- a/sdks/python/flyquery_sdk/api/examples_api.py +++ b/sdks/python/flyquery_sdk/api/examples_api.py @@ -1,23 +1,9 @@ -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/api/files_api.py b/sdks/python/flyquery_sdk/api/files_api.py index ced6008..e6f691c 100644 --- a/sdks/python/flyquery_sdk/api/files_api.py +++ b/sdks/python/flyquery_sdk/api/files_api.py @@ -1,23 +1,9 @@ -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/api/glossary_api.py b/sdks/python/flyquery_sdk/api/glossary_api.py index 8ef3941..7d9ca35 100644 --- a/sdks/python/flyquery_sdk/api/glossary_api.py +++ b/sdks/python/flyquery_sdk/api/glossary_api.py @@ -1,23 +1,9 @@ -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -706,7 +692,7 @@ def _delete_serialize( @validate_call async def get_term( self, - term_id: Optional[StrictStr], + term_id: StrictStr, x_tenant_id: Annotated[str, Field(min_length=1, strict=True, max_length=128, description="Tenant slug. Required on every non-agent endpoint -- bounds the row-level security policy and appears in every audit event. Must match the JWT tenant claim if Authorization is also present.")], x_workspace_id: Annotated[str, Field(min_length=1, strict=True, max_length=128, description="Workspace identifier. Accepts either the workspace UUID or its slug -- the slug form lets SDKs avoid carrying UUIDs around. Used to scope every query, ingest, and schema KB operation.")], x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, @@ -784,7 +770,7 @@ async def get_term( @validate_call async def get_term_with_http_info( self, - term_id: Optional[StrictStr], + term_id: StrictStr, x_tenant_id: Annotated[str, Field(min_length=1, strict=True, max_length=128, description="Tenant slug. Required on every non-agent endpoint -- bounds the row-level security policy and appears in every audit event. Must match the JWT tenant claim if Authorization is also present.")], x_workspace_id: Annotated[str, Field(min_length=1, strict=True, max_length=128, description="Workspace identifier. Accepts either the workspace UUID or its slug -- the slug form lets SDKs avoid carrying UUIDs around. Used to scope every query, ingest, and schema KB operation.")], x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, @@ -862,7 +848,7 @@ async def get_term_with_http_info( @validate_call async def get_term_without_preload_content( self, - term_id: Optional[StrictStr], + term_id: StrictStr, x_tenant_id: Annotated[str, Field(min_length=1, strict=True, max_length=128, description="Tenant slug. Required on every non-agent endpoint -- bounds the row-level security policy and appears in every audit event. Must match the JWT tenant claim if Authorization is also present.")], x_workspace_id: Annotated[str, Field(min_length=1, strict=True, max_length=128, description="Workspace identifier. Accepts either the workspace UUID or its slug -- the slug form lets SDKs avoid carrying UUIDs around. Used to scope every query, ingest, and schema KB operation.")], x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, diff --git a/sdks/python/flyquery_sdk/api/ingest_jobs_api.py b/sdks/python/flyquery_sdk/api/ingest_jobs_api.py index 96dc58c..fbc12dd 100644 --- a/sdks/python/flyquery_sdk/api/ingest_jobs_api.py +++ b/sdks/python/flyquery_sdk/api/ingest_jobs_api.py @@ -1,23 +1,9 @@ -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/api/queries_api.py b/sdks/python/flyquery_sdk/api/queries_api.py index e95a66b..9c2e7b7 100644 --- a/sdks/python/flyquery_sdk/api/queries_api.py +++ b/sdks/python/flyquery_sdk/api/queries_api.py @@ -1,23 +1,9 @@ -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/api/query_api.py b/sdks/python/flyquery_sdk/api/query_api.py index 1541db3..48f86fa 100644 --- a/sdks/python/flyquery_sdk/api/query_api.py +++ b/sdks/python/flyquery_sdk/api/query_api.py @@ -1,23 +1,9 @@ -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/api/relations_api.py b/sdks/python/flyquery_sdk/api/relations_api.py index 205bf11..ba00b7a 100644 --- a/sdks/python/flyquery_sdk/api/relations_api.py +++ b/sdks/python/flyquery_sdk/api/relations_api.py @@ -1,23 +1,9 @@ -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/api/schema_changes_api.py b/sdks/python/flyquery_sdk/api/schema_changes_api.py index 180d654..55e2481 100644 --- a/sdks/python/flyquery_sdk/api/schema_changes_api.py +++ b/sdks/python/flyquery_sdk/api/schema_changes_api.py @@ -1,23 +1,9 @@ -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/api/schema_objects_api.py b/sdks/python/flyquery_sdk/api/schema_objects_api.py index 0a9ae6f..790093e 100644 --- a/sdks/python/flyquery_sdk/api/schema_objects_api.py +++ b/sdks/python/flyquery_sdk/api/schema_objects_api.py @@ -1,23 +1,9 @@ -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/api/semantic_dimensions_api.py b/sdks/python/flyquery_sdk/api/semantic_dimensions_api.py index d0be3bb..a7b3c54 100644 --- a/sdks/python/flyquery_sdk/api/semantic_dimensions_api.py +++ b/sdks/python/flyquery_sdk/api/semantic_dimensions_api.py @@ -1,23 +1,9 @@ -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -395,7 +381,7 @@ def _create_serialize( @validate_call async def get_dimension( self, - dimension_id: Optional[StrictStr], + dimension_id: StrictStr, x_tenant_id: Annotated[str, Field(min_length=1, strict=True, max_length=128, description="Tenant slug. Required on every non-agent endpoint -- bounds the row-level security policy and appears in every audit event. Must match the JWT tenant claim if Authorization is also present.")], x_workspace_id: Annotated[str, Field(min_length=1, strict=True, max_length=128, description="Workspace identifier. Accepts either the workspace UUID or its slug -- the slug form lets SDKs avoid carrying UUIDs around. Used to scope every query, ingest, and schema KB operation.")], x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, @@ -473,7 +459,7 @@ async def get_dimension( @validate_call async def get_dimension_with_http_info( self, - dimension_id: Optional[StrictStr], + dimension_id: StrictStr, x_tenant_id: Annotated[str, Field(min_length=1, strict=True, max_length=128, description="Tenant slug. Required on every non-agent endpoint -- bounds the row-level security policy and appears in every audit event. Must match the JWT tenant claim if Authorization is also present.")], x_workspace_id: Annotated[str, Field(min_length=1, strict=True, max_length=128, description="Workspace identifier. Accepts either the workspace UUID or its slug -- the slug form lets SDKs avoid carrying UUIDs around. Used to scope every query, ingest, and schema KB operation.")], x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, @@ -551,7 +537,7 @@ async def get_dimension_with_http_info( @validate_call async def get_dimension_without_preload_content( self, - dimension_id: Optional[StrictStr], + dimension_id: StrictStr, x_tenant_id: Annotated[str, Field(min_length=1, strict=True, max_length=128, description="Tenant slug. Required on every non-agent endpoint -- bounds the row-level security policy and appears in every audit event. Must match the JWT tenant claim if Authorization is also present.")], x_workspace_id: Annotated[str, Field(min_length=1, strict=True, max_length=128, description="Workspace identifier. Accepts either the workspace UUID or its slug -- the slug form lets SDKs avoid carrying UUIDs around. Used to scope every query, ingest, and schema KB operation.")], x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, @@ -1006,6 +992,7 @@ async def list_dimensions( x_tenant_id: Annotated[str, Field(min_length=1, strict=True, max_length=128, description="Tenant slug. Required on every non-agent endpoint -- bounds the row-level security policy and appears in every audit event. Must match the JWT tenant claim if Authorization is also present.")], x_workspace_id: Annotated[str, Field(min_length=1, strict=True, max_length=128, description="Workspace identifier. Accepts either the workspace UUID or its slug -- the slug form lets SDKs avoid carrying UUIDs around. Used to scope every query, ingest, and schema KB operation.")], dataset_id: Optional[StrictStr] = None, + status: Optional[StrictStr] = None, limit: Optional[StrictInt] = None, offset: Optional[StrictInt] = None, x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, @@ -1022,7 +1009,7 @@ async def list_dimensions( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> PaginatedSemanticDimensionRead: - """List all semantic dimensions for the caller's workspace. + """List semantic dimensions for the caller's workspace (optional status filter). :param x_tenant_id: Tenant slug. Required on every non-agent endpoint -- bounds the row-level security policy and appears in every audit event. Must match the JWT tenant claim if Authorization is also present. (required) @@ -1031,6 +1018,8 @@ async def list_dimensions( :type x_workspace_id: str :param dataset_id: :type dataset_id: str + :param status: + :type status: str :param limit: :type limit: int :param offset: @@ -1063,6 +1052,7 @@ async def list_dimensions( x_tenant_id=x_tenant_id, x_workspace_id=x_workspace_id, dataset_id=dataset_id, + status=status, limit=limit, offset=offset, x_correlation_id=x_correlation_id, @@ -1092,6 +1082,7 @@ async def list_dimensions_with_http_info( x_tenant_id: Annotated[str, Field(min_length=1, strict=True, max_length=128, description="Tenant slug. Required on every non-agent endpoint -- bounds the row-level security policy and appears in every audit event. Must match the JWT tenant claim if Authorization is also present.")], x_workspace_id: Annotated[str, Field(min_length=1, strict=True, max_length=128, description="Workspace identifier. Accepts either the workspace UUID or its slug -- the slug form lets SDKs avoid carrying UUIDs around. Used to scope every query, ingest, and schema KB operation.")], dataset_id: Optional[StrictStr] = None, + status: Optional[StrictStr] = None, limit: Optional[StrictInt] = None, offset: Optional[StrictInt] = None, x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, @@ -1108,7 +1099,7 @@ async def list_dimensions_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[PaginatedSemanticDimensionRead]: - """List all semantic dimensions for the caller's workspace. + """List semantic dimensions for the caller's workspace (optional status filter). :param x_tenant_id: Tenant slug. Required on every non-agent endpoint -- bounds the row-level security policy and appears in every audit event. Must match the JWT tenant claim if Authorization is also present. (required) @@ -1117,6 +1108,8 @@ async def list_dimensions_with_http_info( :type x_workspace_id: str :param dataset_id: :type dataset_id: str + :param status: + :type status: str :param limit: :type limit: int :param offset: @@ -1149,6 +1142,7 @@ async def list_dimensions_with_http_info( x_tenant_id=x_tenant_id, x_workspace_id=x_workspace_id, dataset_id=dataset_id, + status=status, limit=limit, offset=offset, x_correlation_id=x_correlation_id, @@ -1178,6 +1172,7 @@ async def list_dimensions_without_preload_content( x_tenant_id: Annotated[str, Field(min_length=1, strict=True, max_length=128, description="Tenant slug. Required on every non-agent endpoint -- bounds the row-level security policy and appears in every audit event. Must match the JWT tenant claim if Authorization is also present.")], x_workspace_id: Annotated[str, Field(min_length=1, strict=True, max_length=128, description="Workspace identifier. Accepts either the workspace UUID or its slug -- the slug form lets SDKs avoid carrying UUIDs around. Used to scope every query, ingest, and schema KB operation.")], dataset_id: Optional[StrictStr] = None, + status: Optional[StrictStr] = None, limit: Optional[StrictInt] = None, offset: Optional[StrictInt] = None, x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, @@ -1194,7 +1189,7 @@ async def list_dimensions_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """List all semantic dimensions for the caller's workspace. + """List semantic dimensions for the caller's workspace (optional status filter). :param x_tenant_id: Tenant slug. Required on every non-agent endpoint -- bounds the row-level security policy and appears in every audit event. Must match the JWT tenant claim if Authorization is also present. (required) @@ -1203,6 +1198,8 @@ async def list_dimensions_without_preload_content( :type x_workspace_id: str :param dataset_id: :type dataset_id: str + :param status: + :type status: str :param limit: :type limit: int :param offset: @@ -1235,6 +1232,7 @@ async def list_dimensions_without_preload_content( x_tenant_id=x_tenant_id, x_workspace_id=x_workspace_id, dataset_id=dataset_id, + status=status, limit=limit, offset=offset, x_correlation_id=x_correlation_id, @@ -1259,6 +1257,7 @@ def _list_dimensions_serialize( x_tenant_id, x_workspace_id, dataset_id, + status, limit, offset, x_correlation_id, @@ -1288,6 +1287,10 @@ def _list_dimensions_serialize( _query_params.append(('dataset_id', dataset_id)) + if status is not None: + + _query_params.append(('status', status)) + if limit is not None: _query_params.append(('limit', limit)) @@ -2000,7 +2003,7 @@ async def update( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> SemanticDimensionRead: - """Sparse-update a dimension; re-validates YAML if definition changes. + """Sparse-update a dimension; re-validates + recompiles if published. :param dimension_id: (required) @@ -2087,7 +2090,7 @@ async def update_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[SemanticDimensionRead]: - """Sparse-update a dimension; re-validates YAML if definition changes. + """Sparse-update a dimension; re-validates + recompiles if published. :param dimension_id: (required) @@ -2174,7 +2177,7 @@ async def update_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Sparse-update a dimension; re-validates YAML if definition changes. + """Sparse-update a dimension; re-validates + recompiles if published. :param dimension_id: (required) diff --git a/sdks/python/flyquery_sdk/api/semantic_metrics_api.py b/sdks/python/flyquery_sdk/api/semantic_metrics_api.py index 9b42581..c4842d4 100644 --- a/sdks/python/flyquery_sdk/api/semantic_metrics_api.py +++ b/sdks/python/flyquery_sdk/api/semantic_metrics_api.py @@ -1,23 +1,9 @@ -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -395,7 +381,7 @@ def _create_serialize( @validate_call async def get_metric( self, - metric_id: Optional[StrictStr], + metric_id: StrictStr, x_tenant_id: Annotated[str, Field(min_length=1, strict=True, max_length=128, description="Tenant slug. Required on every non-agent endpoint -- bounds the row-level security policy and appears in every audit event. Must match the JWT tenant claim if Authorization is also present.")], x_workspace_id: Annotated[str, Field(min_length=1, strict=True, max_length=128, description="Workspace identifier. Accepts either the workspace UUID or its slug -- the slug form lets SDKs avoid carrying UUIDs around. Used to scope every query, ingest, and schema KB operation.")], x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, @@ -473,7 +459,7 @@ async def get_metric( @validate_call async def get_metric_with_http_info( self, - metric_id: Optional[StrictStr], + metric_id: StrictStr, x_tenant_id: Annotated[str, Field(min_length=1, strict=True, max_length=128, description="Tenant slug. Required on every non-agent endpoint -- bounds the row-level security policy and appears in every audit event. Must match the JWT tenant claim if Authorization is also present.")], x_workspace_id: Annotated[str, Field(min_length=1, strict=True, max_length=128, description="Workspace identifier. Accepts either the workspace UUID or its slug -- the slug form lets SDKs avoid carrying UUIDs around. Used to scope every query, ingest, and schema KB operation.")], x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, @@ -551,7 +537,7 @@ async def get_metric_with_http_info( @validate_call async def get_metric_without_preload_content( self, - metric_id: Optional[StrictStr], + metric_id: StrictStr, x_tenant_id: Annotated[str, Field(min_length=1, strict=True, max_length=128, description="Tenant slug. Required on every non-agent endpoint -- bounds the row-level security policy and appears in every audit event. Must match the JWT tenant claim if Authorization is also present.")], x_workspace_id: Annotated[str, Field(min_length=1, strict=True, max_length=128, description="Workspace identifier. Accepts either the workspace UUID or its slug -- the slug form lets SDKs avoid carrying UUIDs around. Used to scope every query, ingest, and schema KB operation.")], x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, @@ -1009,6 +995,7 @@ async def list_metrics( x_tenant_id: Annotated[str, Field(min_length=1, strict=True, max_length=128, description="Tenant slug. Required on every non-agent endpoint -- bounds the row-level security policy and appears in every audit event. Must match the JWT tenant claim if Authorization is also present.")], x_workspace_id: Annotated[str, Field(min_length=1, strict=True, max_length=128, description="Workspace identifier. Accepts either the workspace UUID or its slug -- the slug form lets SDKs avoid carrying UUIDs around. Used to scope every query, ingest, and schema KB operation.")], dataset_id: Optional[StrictStr] = None, + status: Optional[StrictStr] = None, limit: Optional[StrictInt] = None, offset: Optional[StrictInt] = None, x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, @@ -1025,7 +1012,7 @@ async def list_metrics( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> PaginatedSemanticMetricRead: - """List all semantic metrics for the caller's workspace. + """List semantic metrics for the caller's workspace (optional status filter). :param x_tenant_id: Tenant slug. Required on every non-agent endpoint -- bounds the row-level security policy and appears in every audit event. Must match the JWT tenant claim if Authorization is also present. (required) @@ -1034,6 +1021,8 @@ async def list_metrics( :type x_workspace_id: str :param dataset_id: :type dataset_id: str + :param status: + :type status: str :param limit: :type limit: int :param offset: @@ -1066,6 +1055,7 @@ async def list_metrics( x_tenant_id=x_tenant_id, x_workspace_id=x_workspace_id, dataset_id=dataset_id, + status=status, limit=limit, offset=offset, x_correlation_id=x_correlation_id, @@ -1095,6 +1085,7 @@ async def list_metrics_with_http_info( x_tenant_id: Annotated[str, Field(min_length=1, strict=True, max_length=128, description="Tenant slug. Required on every non-agent endpoint -- bounds the row-level security policy and appears in every audit event. Must match the JWT tenant claim if Authorization is also present.")], x_workspace_id: Annotated[str, Field(min_length=1, strict=True, max_length=128, description="Workspace identifier. Accepts either the workspace UUID or its slug -- the slug form lets SDKs avoid carrying UUIDs around. Used to scope every query, ingest, and schema KB operation.")], dataset_id: Optional[StrictStr] = None, + status: Optional[StrictStr] = None, limit: Optional[StrictInt] = None, offset: Optional[StrictInt] = None, x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, @@ -1111,7 +1102,7 @@ async def list_metrics_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[PaginatedSemanticMetricRead]: - """List all semantic metrics for the caller's workspace. + """List semantic metrics for the caller's workspace (optional status filter). :param x_tenant_id: Tenant slug. Required on every non-agent endpoint -- bounds the row-level security policy and appears in every audit event. Must match the JWT tenant claim if Authorization is also present. (required) @@ -1120,6 +1111,8 @@ async def list_metrics_with_http_info( :type x_workspace_id: str :param dataset_id: :type dataset_id: str + :param status: + :type status: str :param limit: :type limit: int :param offset: @@ -1152,6 +1145,7 @@ async def list_metrics_with_http_info( x_tenant_id=x_tenant_id, x_workspace_id=x_workspace_id, dataset_id=dataset_id, + status=status, limit=limit, offset=offset, x_correlation_id=x_correlation_id, @@ -1181,6 +1175,7 @@ async def list_metrics_without_preload_content( x_tenant_id: Annotated[str, Field(min_length=1, strict=True, max_length=128, description="Tenant slug. Required on every non-agent endpoint -- bounds the row-level security policy and appears in every audit event. Must match the JWT tenant claim if Authorization is also present.")], x_workspace_id: Annotated[str, Field(min_length=1, strict=True, max_length=128, description="Workspace identifier. Accepts either the workspace UUID or its slug -- the slug form lets SDKs avoid carrying UUIDs around. Used to scope every query, ingest, and schema KB operation.")], dataset_id: Optional[StrictStr] = None, + status: Optional[StrictStr] = None, limit: Optional[StrictInt] = None, offset: Optional[StrictInt] = None, x_correlation_id: Annotated[Optional[UUID], Field(description="Optional client-supplied correlation id. The service uses this in every log line and downstream call. If absent the service mints a new UUID and echoes it in the response header.")] = None, @@ -1197,7 +1192,7 @@ async def list_metrics_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """List all semantic metrics for the caller's workspace. + """List semantic metrics for the caller's workspace (optional status filter). :param x_tenant_id: Tenant slug. Required on every non-agent endpoint -- bounds the row-level security policy and appears in every audit event. Must match the JWT tenant claim if Authorization is also present. (required) @@ -1206,6 +1201,8 @@ async def list_metrics_without_preload_content( :type x_workspace_id: str :param dataset_id: :type dataset_id: str + :param status: + :type status: str :param limit: :type limit: int :param offset: @@ -1238,6 +1235,7 @@ async def list_metrics_without_preload_content( x_tenant_id=x_tenant_id, x_workspace_id=x_workspace_id, dataset_id=dataset_id, + status=status, limit=limit, offset=offset, x_correlation_id=x_correlation_id, @@ -1262,6 +1260,7 @@ def _list_metrics_serialize( x_tenant_id, x_workspace_id, dataset_id, + status, limit, offset, x_correlation_id, @@ -1291,6 +1290,10 @@ def _list_metrics_serialize( _query_params.append(('dataset_id', dataset_id)) + if status is not None: + + _query_params.append(('status', status)) + if limit is not None: _query_params.append(('limit', limit)) @@ -2003,7 +2006,7 @@ async def update( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> SemanticMetricRead: - """Sparse-update a metric; re-validates YAML if definition changes. + """Sparse-update a metric; re-validates + recompiles if published. :param metric_id: (required) @@ -2090,7 +2093,7 @@ async def update_with_http_info( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> ApiResponse[SemanticMetricRead]: - """Sparse-update a metric; re-validates YAML if definition changes. + """Sparse-update a metric; re-validates + recompiles if published. :param metric_id: (required) @@ -2177,7 +2180,7 @@ async def update_without_preload_content( _headers: Optional[Dict[StrictStr, Any]] = None, _host_index: Annotated[StrictInt, Field(ge=0, le=0)] = 0, ) -> RESTResponseType: - """Sparse-update a metric; re-validates YAML if definition changes. + """Sparse-update a metric; re-validates + recompiles if published. :param metric_id: (required) diff --git a/sdks/python/flyquery_sdk/api/sql_execute_api.py b/sdks/python/flyquery_sdk/api/sql_execute_api.py index 38c66ad..607aa4e 100644 --- a/sdks/python/flyquery_sdk/api/sql_execute_api.py +++ b/sdks/python/flyquery_sdk/api/sql_execute_api.py @@ -1,23 +1,9 @@ -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/api/stats_api.py b/sdks/python/flyquery_sdk/api/stats_api.py index b577754..ff3c253 100644 --- a/sdks/python/flyquery_sdk/api/stats_api.py +++ b/sdks/python/flyquery_sdk/api/stats_api.py @@ -1,23 +1,9 @@ -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/api/tables_api.py b/sdks/python/flyquery_sdk/api/tables_api.py index e5f1938..b5bc28a 100644 --- a/sdks/python/flyquery_sdk/api/tables_api.py +++ b/sdks/python/flyquery_sdk/api/tables_api.py @@ -1,23 +1,9 @@ -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/api/tables_derive_api.py b/sdks/python/flyquery_sdk/api/tables_derive_api.py index b22855d..7c032da 100644 --- a/sdks/python/flyquery_sdk/api/tables_derive_api.py +++ b/sdks/python/flyquery_sdk/api/tables_derive_api.py @@ -1,23 +1,9 @@ -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/api/version_api.py b/sdks/python/flyquery_sdk/api/version_api.py index 9b63a32..ca0a48a 100644 --- a/sdks/python/flyquery_sdk/api/version_api.py +++ b/sdks/python/flyquery_sdk/api/version_api.py @@ -1,23 +1,9 @@ -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/api/workspaces_api.py b/sdks/python/flyquery_sdk/api/workspaces_api.py index bdb2749..b8354b3 100644 --- a/sdks/python/flyquery_sdk/api/workspaces_api.py +++ b/sdks/python/flyquery_sdk/api/workspaces_api.py @@ -1,23 +1,9 @@ -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/api_client.py b/sdks/python/flyquery_sdk/api_client.py index 20d039f..307379e 100644 --- a/sdks/python/flyquery_sdk/api_client.py +++ b/sdks/python/flyquery_sdk/api_client.py @@ -1,23 +1,9 @@ -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -105,7 +91,7 @@ def __init__( self.default_headers[header_name] = header_value self.cookie = cookie # Set default User-Agent. - self.user_agent = 'OpenAPI-Generator/26.5.12/python' + self.user_agent = 'OpenAPI-Generator/26.6.0/python' self.client_side_validation = configuration.client_side_validation async def __aenter__(self): diff --git a/sdks/python/flyquery_sdk/api_response.py b/sdks/python/flyquery_sdk/api_response.py index 2849664..9bc7c11 100644 --- a/sdks/python/flyquery_sdk/api_response.py +++ b/sdks/python/flyquery_sdk/api_response.py @@ -1,17 +1,3 @@ -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """API response object.""" from __future__ import annotations diff --git a/sdks/python/flyquery_sdk/configuration.py b/sdks/python/flyquery_sdk/configuration.py index 2163f7f..2c3ccac 100644 --- a/sdks/python/flyquery_sdk/configuration.py +++ b/sdks/python/flyquery_sdk/configuration.py @@ -1,23 +1,9 @@ -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -586,8 +572,8 @@ def to_debug_report(self) -> str: return "Python SDK Debug Report:\n"\ "OS: {env}\n"\ "Python Version: {pyversion}\n"\ - "Version of the API: 26.5.4\n"\ - "SDK Package Version: 26.5.12".\ + "Version of the API: 26.6.0\n"\ + "SDK Package Version: 26.6.0".\ format(env=sys.platform, pyversion=sys.version) def get_host_settings(self) -> List[HostSetting]: diff --git a/sdks/python/flyquery_sdk/exceptions.py b/sdks/python/flyquery_sdk/exceptions.py index a6ffea3..ca874ec 100644 --- a/sdks/python/flyquery_sdk/exceptions.py +++ b/sdks/python/flyquery_sdk/exceptions.py @@ -1,23 +1,9 @@ -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/__init__.py b/sdks/python/flyquery_sdk/models/__init__.py index 60197d0..1e92200 100644 --- a/sdks/python/flyquery_sdk/models/__init__.py +++ b/sdks/python/flyquery_sdk/models/__init__.py @@ -1,17 +1,4 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. # flake8: noqa """ @@ -19,7 +6,7 @@ Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/agent_token_created.py b/sdks/python/flyquery_sdk/models/agent_token_created.py index 1490340..7eb2d78 100644 --- a/sdks/python/flyquery_sdk/models/agent_token_created.py +++ b/sdks/python/flyquery_sdk/models/agent_token_created.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/agent_token_mint_request.py b/sdks/python/flyquery_sdk/models/agent_token_mint_request.py index 7e2fce1..4b2085c 100644 --- a/sdks/python/flyquery_sdk/models/agent_token_mint_request.py +++ b/sdks/python/flyquery_sdk/models/agent_token_mint_request.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/agent_token_summary_dto.py b/sdks/python/flyquery_sdk/models/agent_token_summary_dto.py index 970a5af..f294038 100644 --- a/sdks/python/flyquery_sdk/models/agent_token_summary_dto.py +++ b/sdks/python/flyquery_sdk/models/agent_token_summary_dto.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/agent_usage.py b/sdks/python/flyquery_sdk/models/agent_usage.py index 3767e0e..bfd6d88 100644 --- a/sdks/python/flyquery_sdk/models/agent_usage.py +++ b/sdks/python/flyquery_sdk/models/agent_usage.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/answer_response.py b/sdks/python/flyquery_sdk/models/answer_response.py index 1d1deea..8842de6 100644 --- a/sdks/python/flyquery_sdk/models/answer_response.py +++ b/sdks/python/flyquery_sdk/models/answer_response.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/audit_event_read.py b/sdks/python/flyquery_sdk/models/audit_event_read.py index 25a53b9..6ca27f2 100644 --- a/sdks/python/flyquery_sdk/models/audit_event_read.py +++ b/sdks/python/flyquery_sdk/models/audit_event_read.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/batch_query_item.py b/sdks/python/flyquery_sdk/models/batch_query_item.py index f73cd1c..aff3a68 100644 --- a/sdks/python/flyquery_sdk/models/batch_query_item.py +++ b/sdks/python/flyquery_sdk/models/batch_query_item.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/batch_query_request.py b/sdks/python/flyquery_sdk/models/batch_query_request.py index b6947a9..900290f 100644 --- a/sdks/python/flyquery_sdk/models/batch_query_request.py +++ b/sdks/python/flyquery_sdk/models/batch_query_request.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/batch_query_response.py b/sdks/python/flyquery_sdk/models/batch_query_response.py index 297ec47..cf7c366 100644 --- a/sdks/python/flyquery_sdk/models/batch_query_response.py +++ b/sdks/python/flyquery_sdk/models/batch_query_response.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/batch_query_result_item.py b/sdks/python/flyquery_sdk/models/batch_query_result_item.py index 55d55a5..1e64ac8 100644 --- a/sdks/python/flyquery_sdk/models/batch_query_result_item.py +++ b/sdks/python/flyquery_sdk/models/batch_query_result_item.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/billing_breakdown_item.py b/sdks/python/flyquery_sdk/models/billing_breakdown_item.py index 99ade9a..d629077 100644 --- a/sdks/python/flyquery_sdk/models/billing_breakdown_item.py +++ b/sdks/python/flyquery_sdk/models/billing_breakdown_item.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/billing_rollup.py b/sdks/python/flyquery_sdk/models/billing_rollup.py index 5c9bf69..dd8ca62 100644 --- a/sdks/python/flyquery_sdk/models/billing_rollup.py +++ b/sdks/python/flyquery_sdk/models/billing_rollup.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/bulk_file_result.py b/sdks/python/flyquery_sdk/models/bulk_file_result.py index 063695d..8896801 100644 --- a/sdks/python/flyquery_sdk/models/bulk_file_result.py +++ b/sdks/python/flyquery_sdk/models/bulk_file_result.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/bulk_file_upload_response.py b/sdks/python/flyquery_sdk/models/bulk_file_upload_response.py index d1353b0..e4fbb7b 100644 --- a/sdks/python/flyquery_sdk/models/bulk_file_upload_response.py +++ b/sdks/python/flyquery_sdk/models/bulk_file_upload_response.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/callback_config.py b/sdks/python/flyquery_sdk/models/callback_config.py index 5ee5e1f..300135f 100644 --- a/sdks/python/flyquery_sdk/models/callback_config.py +++ b/sdks/python/flyquery_sdk/models/callback_config.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/callback_delivery_list_response.py b/sdks/python/flyquery_sdk/models/callback_delivery_list_response.py index b7ba6be..9a45c05 100644 --- a/sdks/python/flyquery_sdk/models/callback_delivery_list_response.py +++ b/sdks/python/flyquery_sdk/models/callback_delivery_list_response.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/callback_delivery_read.py b/sdks/python/flyquery_sdk/models/callback_delivery_read.py index f15a1c4..b8e4ff3 100644 --- a/sdks/python/flyquery_sdk/models/callback_delivery_read.py +++ b/sdks/python/flyquery_sdk/models/callback_delivery_read.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/cancel_response.py b/sdks/python/flyquery_sdk/models/cancel_response.py index 27f45cd..2b5b6ad 100644 --- a/sdks/python/flyquery_sdk/models/cancel_response.py +++ b/sdks/python/flyquery_sdk/models/cancel_response.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/clarification_frame.py b/sdks/python/flyquery_sdk/models/clarification_frame.py index 6a4aa96..5f57337 100644 --- a/sdks/python/flyquery_sdk/models/clarification_frame.py +++ b/sdks/python/flyquery_sdk/models/clarification_frame.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/confidence.py b/sdks/python/flyquery_sdk/models/confidence.py index 4b58dba..4fe7520 100644 --- a/sdks/python/flyquery_sdk/models/confidence.py +++ b/sdks/python/flyquery_sdk/models/confidence.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/conversation_create.py b/sdks/python/flyquery_sdk/models/conversation_create.py index 2429af0..6fd9a0b 100644 --- a/sdks/python/flyquery_sdk/models/conversation_create.py +++ b/sdks/python/flyquery_sdk/models/conversation_create.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/conversation_read.py b/sdks/python/flyquery_sdk/models/conversation_read.py index c82072a..6cf1804 100644 --- a/sdks/python/flyquery_sdk/models/conversation_read.py +++ b/sdks/python/flyquery_sdk/models/conversation_read.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/conversation_turn_request.py b/sdks/python/flyquery_sdk/models/conversation_turn_request.py index fdc2dab..024730b 100644 --- a/sdks/python/flyquery_sdk/models/conversation_turn_request.py +++ b/sdks/python/flyquery_sdk/models/conversation_turn_request.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/cost_cents.py b/sdks/python/flyquery_sdk/models/cost_cents.py index aaab785..0fc0bb8 100644 --- a/sdks/python/flyquery_sdk/models/cost_cents.py +++ b/sdks/python/flyquery_sdk/models/cost_cents.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/cost_cents1.py b/sdks/python/flyquery_sdk/models/cost_cents1.py index ebf353f..1ae8a2e 100644 --- a/sdks/python/flyquery_sdk/models/cost_cents1.py +++ b/sdks/python/flyquery_sdk/models/cost_cents1.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/cost_event_read.py b/sdks/python/flyquery_sdk/models/cost_event_read.py index a1c8a27..b937545 100644 --- a/sdks/python/flyquery_sdk/models/cost_event_read.py +++ b/sdks/python/flyquery_sdk/models/cost_event_read.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/dataset_create.py b/sdks/python/flyquery_sdk/models/dataset_create.py index c58d0e1..ee3358e 100644 --- a/sdks/python/flyquery_sdk/models/dataset_create.py +++ b/sdks/python/flyquery_sdk/models/dataset_create.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/dataset_read.py b/sdks/python/flyquery_sdk/models/dataset_read.py index f0a9b31..a39f875 100644 --- a/sdks/python/flyquery_sdk/models/dataset_read.py +++ b/sdks/python/flyquery_sdk/models/dataset_read.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/dataset_update.py b/sdks/python/flyquery_sdk/models/dataset_update.py index 1dfeda1..0bc9c15 100644 --- a/sdks/python/flyquery_sdk/models/dataset_update.py +++ b/sdks/python/flyquery_sdk/models/dataset_update.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/derive_table_request.py b/sdks/python/flyquery_sdk/models/derive_table_request.py index abf627f..af30158 100644 --- a/sdks/python/flyquery_sdk/models/derive_table_request.py +++ b/sdks/python/flyquery_sdk/models/derive_table_request.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/derive_table_response.py b/sdks/python/flyquery_sdk/models/derive_table_response.py index d68b159..5addc94 100644 --- a/sdks/python/flyquery_sdk/models/derive_table_response.py +++ b/sdks/python/flyquery_sdk/models/derive_table_response.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/detail_inner.py b/sdks/python/flyquery_sdk/models/detail_inner.py index 932d9bf..3c4803c 100644 --- a/sdks/python/flyquery_sdk/models/detail_inner.py +++ b/sdks/python/flyquery_sdk/models/detail_inner.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/example_create.py b/sdks/python/flyquery_sdk/models/example_create.py index 32850b2..483cc79 100644 --- a/sdks/python/flyquery_sdk/models/example_create.py +++ b/sdks/python/flyquery_sdk/models/example_create.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/example_read.py b/sdks/python/flyquery_sdk/models/example_read.py index 30352ed..34fcb10 100644 --- a/sdks/python/flyquery_sdk/models/example_read.py +++ b/sdks/python/flyquery_sdk/models/example_read.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/explain_response.py b/sdks/python/flyquery_sdk/models/explain_response.py index b4bc9f5..f2e9627 100644 --- a/sdks/python/flyquery_sdk/models/explain_response.py +++ b/sdks/python/flyquery_sdk/models/explain_response.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/file_upload_response.py b/sdks/python/flyquery_sdk/models/file_upload_response.py index c224185..3a42c56 100644 --- a/sdks/python/flyquery_sdk/models/file_upload_response.py +++ b/sdks/python/flyquery_sdk/models/file_upload_response.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/glossary_term_create.py b/sdks/python/flyquery_sdk/models/glossary_term_create.py index a110809..65e264d 100644 --- a/sdks/python/flyquery_sdk/models/glossary_term_create.py +++ b/sdks/python/flyquery_sdk/models/glossary_term_create.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -42,12 +29,12 @@ class GlossaryTermCreate(BaseModel): Payload for creating a new glossary term. """ # noqa: E501 definition: Annotated[str, Field(min_length=1, strict=True)] - related_columns_json: Optional[List[StrictStr]] = None - related_metrics_json: Optional[List[StrictStr]] = None - synonyms_json: Optional[List[StrictStr]] = None - tags_json: Optional[List[StrictStr]] = None + related_columns: Optional[List[StrictStr]] = None + related_metrics: Optional[List[StrictStr]] = None + synonyms: Optional[List[StrictStr]] = None + tags: Optional[List[StrictStr]] = None term: Annotated[str, Field(min_length=1, strict=True, max_length=512)] - __properties: ClassVar[List[str]] = ["definition", "related_columns_json", "related_metrics_json", "synonyms_json", "tags_json", "term"] + __properties: ClassVar[List[str]] = ["definition", "related_columns", "related_metrics", "synonyms", "tags", "term"] model_config = ConfigDict( validate_by_name=True, @@ -101,10 +88,10 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "definition": obj.get("definition"), - "related_columns_json": obj.get("related_columns_json"), - "related_metrics_json": obj.get("related_metrics_json"), - "synonyms_json": obj.get("synonyms_json"), - "tags_json": obj.get("tags_json"), + "related_columns": obj.get("related_columns"), + "related_metrics": obj.get("related_metrics"), + "synonyms": obj.get("synonyms"), + "tags": obj.get("tags"), "term": obj.get("term") }) return _obj diff --git a/sdks/python/flyquery_sdk/models/glossary_term_read.py b/sdks/python/flyquery_sdk/models/glossary_term_read.py index 63a7c6e..bfd9a9b 100644 --- a/sdks/python/flyquery_sdk/models/glossary_term_read.py +++ b/sdks/python/flyquery_sdk/models/glossary_term_read.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/glossary_term_update.py b/sdks/python/flyquery_sdk/models/glossary_term_update.py index 96b41f0..5c0ea75 100644 --- a/sdks/python/flyquery_sdk/models/glossary_term_update.py +++ b/sdks/python/flyquery_sdk/models/glossary_term_update.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -41,11 +28,11 @@ class GlossaryTermUpdate(BaseModel): Sparse-update payload for an existing glossary term. """ # noqa: E501 definition: Optional[StrictStr] = None - related_columns_json: Optional[List[StrictStr]] = None - related_metrics_json: Optional[List[StrictStr]] = None - synonyms_json: Optional[List[StrictStr]] = None - tags_json: Optional[List[StrictStr]] = None - __properties: ClassVar[List[str]] = ["definition", "related_columns_json", "related_metrics_json", "synonyms_json", "tags_json"] + related_columns: Optional[List[StrictStr]] = None + related_metrics: Optional[List[StrictStr]] = None + synonyms: Optional[List[StrictStr]] = None + tags: Optional[List[StrictStr]] = None + __properties: ClassVar[List[str]] = ["definition", "related_columns", "related_metrics", "synonyms", "tags"] model_config = ConfigDict( validate_by_name=True, @@ -91,25 +78,25 @@ def to_dict(self) -> Dict[str, Any]: if self.definition is None and "definition" in self.model_fields_set: _dict['definition'] = None - # set to None if related_columns_json (nullable) is None + # set to None if related_columns (nullable) is None # and model_fields_set contains the field - if self.related_columns_json is None and "related_columns_json" in self.model_fields_set: - _dict['related_columns_json'] = None + if self.related_columns is None and "related_columns" in self.model_fields_set: + _dict['related_columns'] = None - # set to None if related_metrics_json (nullable) is None + # set to None if related_metrics (nullable) is None # and model_fields_set contains the field - if self.related_metrics_json is None and "related_metrics_json" in self.model_fields_set: - _dict['related_metrics_json'] = None + if self.related_metrics is None and "related_metrics" in self.model_fields_set: + _dict['related_metrics'] = None - # set to None if synonyms_json (nullable) is None + # set to None if synonyms (nullable) is None # and model_fields_set contains the field - if self.synonyms_json is None and "synonyms_json" in self.model_fields_set: - _dict['synonyms_json'] = None + if self.synonyms is None and "synonyms" in self.model_fields_set: + _dict['synonyms'] = None - # set to None if tags_json (nullable) is None + # set to None if tags (nullable) is None # and model_fields_set contains the field - if self.tags_json is None and "tags_json" in self.model_fields_set: - _dict['tags_json'] = None + if self.tags is None and "tags" in self.model_fields_set: + _dict['tags'] = None return _dict @@ -124,10 +111,10 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "definition": obj.get("definition"), - "related_columns_json": obj.get("related_columns_json"), - "related_metrics_json": obj.get("related_metrics_json"), - "synonyms_json": obj.get("synonyms_json"), - "tags_json": obj.get("tags_json") + "related_columns": obj.get("related_columns"), + "related_metrics": obj.get("related_metrics"), + "synonyms": obj.get("synonyms"), + "tags": obj.get("tags") }) return _obj diff --git a/sdks/python/flyquery_sdk/models/http_validation_error.py b/sdks/python/flyquery_sdk/models/http_validation_error.py index f8b92e3..f46389e 100644 --- a/sdks/python/flyquery_sdk/models/http_validation_error.py +++ b/sdks/python/flyquery_sdk/models/http_validation_error.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/ingest_cost_cents.py b/sdks/python/flyquery_sdk/models/ingest_cost_cents.py index 0bc38bf..75b8dd2 100644 --- a/sdks/python/flyquery_sdk/models/ingest_cost_cents.py +++ b/sdks/python/flyquery_sdk/models/ingest_cost_cents.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/ingest_event_list_response.py b/sdks/python/flyquery_sdk/models/ingest_event_list_response.py index 3f587ce..7d08508 100644 --- a/sdks/python/flyquery_sdk/models/ingest_event_list_response.py +++ b/sdks/python/flyquery_sdk/models/ingest_event_list_response.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/ingest_event_read.py b/sdks/python/flyquery_sdk/models/ingest_event_read.py index 11e9590..01d6def 100644 --- a/sdks/python/flyquery_sdk/models/ingest_event_read.py +++ b/sdks/python/flyquery_sdk/models/ingest_event_read.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/ingest_job_create.py b/sdks/python/flyquery_sdk/models/ingest_job_create.py index e9d2757..b47422b 100644 --- a/sdks/python/flyquery_sdk/models/ingest_job_create.py +++ b/sdks/python/flyquery_sdk/models/ingest_job_create.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/ingest_job_list_response.py b/sdks/python/flyquery_sdk/models/ingest_job_list_response.py index 82aa620..5c2dfaa 100644 --- a/sdks/python/flyquery_sdk/models/ingest_job_list_response.py +++ b/sdks/python/flyquery_sdk/models/ingest_job_list_response.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/ingest_job_read.py b/sdks/python/flyquery_sdk/models/ingest_job_read.py index 9dd73c6..adf670c 100644 --- a/sdks/python/flyquery_sdk/models/ingest_job_read.py +++ b/sdks/python/flyquery_sdk/models/ingest_job_read.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/location_inner.py b/sdks/python/flyquery_sdk/models/location_inner.py index 3092ecf..db165c8 100644 --- a/sdks/python/flyquery_sdk/models/location_inner.py +++ b/sdks/python/flyquery_sdk/models/location_inner.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/other_cost_cents.py b/sdks/python/flyquery_sdk/models/other_cost_cents.py index 3d474f6..e75d801 100644 --- a/sdks/python/flyquery_sdk/models/other_cost_cents.py +++ b/sdks/python/flyquery_sdk/models/other_cost_cents.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/paginated_audit_event_read.py b/sdks/python/flyquery_sdk/models/paginated_audit_event_read.py index 65f24e9..e534609 100644 --- a/sdks/python/flyquery_sdk/models/paginated_audit_event_read.py +++ b/sdks/python/flyquery_sdk/models/paginated_audit_event_read.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/paginated_conversation_read.py b/sdks/python/flyquery_sdk/models/paginated_conversation_read.py index 6c08476..5b847dc 100644 --- a/sdks/python/flyquery_sdk/models/paginated_conversation_read.py +++ b/sdks/python/flyquery_sdk/models/paginated_conversation_read.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/paginated_cost_event_read.py b/sdks/python/flyquery_sdk/models/paginated_cost_event_read.py index c5351b4..89ec994 100644 --- a/sdks/python/flyquery_sdk/models/paginated_cost_event_read.py +++ b/sdks/python/flyquery_sdk/models/paginated_cost_event_read.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/paginated_dataset_read.py b/sdks/python/flyquery_sdk/models/paginated_dataset_read.py index 9e3ead0..e3d7444 100644 --- a/sdks/python/flyquery_sdk/models/paginated_dataset_read.py +++ b/sdks/python/flyquery_sdk/models/paginated_dataset_read.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/paginated_example_read.py b/sdks/python/flyquery_sdk/models/paginated_example_read.py index db64a20..829fd20 100644 --- a/sdks/python/flyquery_sdk/models/paginated_example_read.py +++ b/sdks/python/flyquery_sdk/models/paginated_example_read.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/paginated_glossary_term_read.py b/sdks/python/flyquery_sdk/models/paginated_glossary_term_read.py index c43a653..cfe4fef 100644 --- a/sdks/python/flyquery_sdk/models/paginated_glossary_term_read.py +++ b/sdks/python/flyquery_sdk/models/paginated_glossary_term_read.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/paginated_query_history_item.py b/sdks/python/flyquery_sdk/models/paginated_query_history_item.py index 5ad41ae..b02d63c 100644 --- a/sdks/python/flyquery_sdk/models/paginated_query_history_item.py +++ b/sdks/python/flyquery_sdk/models/paginated_query_history_item.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/paginated_relation_read.py b/sdks/python/flyquery_sdk/models/paginated_relation_read.py index 3c74bd7..7ef9a31 100644 --- a/sdks/python/flyquery_sdk/models/paginated_relation_read.py +++ b/sdks/python/flyquery_sdk/models/paginated_relation_read.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/paginated_schema_change_read.py b/sdks/python/flyquery_sdk/models/paginated_schema_change_read.py index 32a4031..d909b32 100644 --- a/sdks/python/flyquery_sdk/models/paginated_schema_change_read.py +++ b/sdks/python/flyquery_sdk/models/paginated_schema_change_read.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/paginated_schema_object_read.py b/sdks/python/flyquery_sdk/models/paginated_schema_object_read.py index f6963cd..57a4745 100644 --- a/sdks/python/flyquery_sdk/models/paginated_schema_object_read.py +++ b/sdks/python/flyquery_sdk/models/paginated_schema_object_read.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/paginated_semantic_dimension_read.py b/sdks/python/flyquery_sdk/models/paginated_semantic_dimension_read.py index 06c3eac..55bce65 100644 --- a/sdks/python/flyquery_sdk/models/paginated_semantic_dimension_read.py +++ b/sdks/python/flyquery_sdk/models/paginated_semantic_dimension_read.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/paginated_semantic_metric_read.py b/sdks/python/flyquery_sdk/models/paginated_semantic_metric_read.py index c9245f9..55f73d5 100644 --- a/sdks/python/flyquery_sdk/models/paginated_semantic_metric_read.py +++ b/sdks/python/flyquery_sdk/models/paginated_semantic_metric_read.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/paginated_semantic_version_read.py b/sdks/python/flyquery_sdk/models/paginated_semantic_version_read.py index 1db28a4..4a18606 100644 --- a/sdks/python/flyquery_sdk/models/paginated_semantic_version_read.py +++ b/sdks/python/flyquery_sdk/models/paginated_semantic_version_read.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/paginated_snapshot_read.py b/sdks/python/flyquery_sdk/models/paginated_snapshot_read.py index f2e3193..c0e3d92 100644 --- a/sdks/python/flyquery_sdk/models/paginated_snapshot_read.py +++ b/sdks/python/flyquery_sdk/models/paginated_snapshot_read.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/paginated_table_read.py b/sdks/python/flyquery_sdk/models/paginated_table_read.py index 848066b..6459531 100644 --- a/sdks/python/flyquery_sdk/models/paginated_table_read.py +++ b/sdks/python/flyquery_sdk/models/paginated_table_read.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/paginated_workspace_read.py b/sdks/python/flyquery_sdk/models/paginated_workspace_read.py index f97f90a..e3e72b9 100644 --- a/sdks/python/flyquery_sdk/models/paginated_workspace_read.py +++ b/sdks/python/flyquery_sdk/models/paginated_workspace_read.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/purge_accepted.py b/sdks/python/flyquery_sdk/models/purge_accepted.py index d8b4caa..7b1c3d7 100644 --- a/sdks/python/flyquery_sdk/models/purge_accepted.py +++ b/sdks/python/flyquery_sdk/models/purge_accepted.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/query_cost_cents.py b/sdks/python/flyquery_sdk/models/query_cost_cents.py index a3b2b68..60be57d 100644 --- a/sdks/python/flyquery_sdk/models/query_cost_cents.py +++ b/sdks/python/flyquery_sdk/models/query_cost_cents.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/query_detail_read.py b/sdks/python/flyquery_sdk/models/query_detail_read.py index ef4a810..bd2a59d 100644 --- a/sdks/python/flyquery_sdk/models/query_detail_read.py +++ b/sdks/python/flyquery_sdk/models/query_detail_read.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/query_history_item.py b/sdks/python/flyquery_sdk/models/query_history_item.py index 517d1ef..74fd289 100644 --- a/sdks/python/flyquery_sdk/models/query_history_item.py +++ b/sdks/python/flyquery_sdk/models/query_history_item.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/query_request.py b/sdks/python/flyquery_sdk/models/query_request.py index 27655b7..03033dd 100644 --- a/sdks/python/flyquery_sdk/models/query_request.py +++ b/sdks/python/flyquery_sdk/models/query_request.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/query_result_read.py b/sdks/python/flyquery_sdk/models/query_result_read.py index 5789190..2ad781e 100644 --- a/sdks/python/flyquery_sdk/models/query_result_read.py +++ b/sdks/python/flyquery_sdk/models/query_result_read.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/relation_approval_read.py b/sdks/python/flyquery_sdk/models/relation_approval_read.py index bf05f0b..5960b01 100644 --- a/sdks/python/flyquery_sdk/models/relation_approval_read.py +++ b/sdks/python/flyquery_sdk/models/relation_approval_read.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/relation_read.py b/sdks/python/flyquery_sdk/models/relation_read.py index 981f0cc..73a2a7a 100644 --- a/sdks/python/flyquery_sdk/models/relation_read.py +++ b/sdks/python/flyquery_sdk/models/relation_read.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/relation_rejection_read.py b/sdks/python/flyquery_sdk/models/relation_rejection_read.py index 8f875d7..af6cb7a 100644 --- a/sdks/python/flyquery_sdk/models/relation_rejection_read.py +++ b/sdks/python/flyquery_sdk/models/relation_rejection_read.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/reupload_response.py b/sdks/python/flyquery_sdk/models/reupload_response.py index 33eafa8..f11751b 100644 --- a/sdks/python/flyquery_sdk/models/reupload_response.py +++ b/sdks/python/flyquery_sdk/models/reupload_response.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/schema_change_read.py b/sdks/python/flyquery_sdk/models/schema_change_read.py index adba038..5bd7a55 100644 --- a/sdks/python/flyquery_sdk/models/schema_change_read.py +++ b/sdks/python/flyquery_sdk/models/schema_change_read.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/schema_object_read.py b/sdks/python/flyquery_sdk/models/schema_object_read.py index 93d391f..26beee8 100644 --- a/sdks/python/flyquery_sdk/models/schema_object_read.py +++ b/sdks/python/flyquery_sdk/models/schema_object_read.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/schema_object_update.py b/sdks/python/flyquery_sdk/models/schema_object_update.py index bc98e9e..ffef92a 100644 --- a/sdks/python/flyquery_sdk/models/schema_object_update.py +++ b/sdks/python/flyquery_sdk/models/schema_object_update.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/semantic_dimension_create.py b/sdks/python/flyquery_sdk/models/semantic_dimension_create.py index 0bb3250..8c6c675 100644 --- a/sdks/python/flyquery_sdk/models/semantic_dimension_create.py +++ b/sdks/python/flyquery_sdk/models/semantic_dimension_create.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -30,7 +17,7 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator +from pydantic import BaseModel, ConfigDict, Field, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing_extensions import Annotated from uuid import UUID @@ -40,25 +27,14 @@ class SemanticDimensionCreate(BaseModel): """ - Payload for creating a new semantic dimension. + Payload for creating a new semantic dimension. The dimension's ``type`` (categorical|time) is taken from the ``definition_yaml`` body, not a separate request field. """ # noqa: E501 dataset_id: UUID definition_yaml: Annotated[str, Field(min_length=1, strict=True)] description: Optional[StrictStr] = None label: Optional[StrictStr] = None - metric_type: Optional[StrictStr] = 'SIMPLE' name: Annotated[str, Field(min_length=1, strict=True, max_length=256)] - __properties: ClassVar[List[str]] = ["dataset_id", "definition_yaml", "description", "label", "metric_type", "name"] - - @field_validator('metric_type') - def metric_type_validate_enum(cls, value): - """Validates the enum""" - if value is None: - return value - - if value not in set(['SIMPLE', 'RATIO', 'DERIVED', 'CUMULATIVE']): - raise ValueError("must be one of enum values ('SIMPLE', 'RATIO', 'DERIVED', 'CUMULATIVE')") - return value + __properties: ClassVar[List[str]] = ["dataset_id", "definition_yaml", "description", "label", "name"] model_config = ConfigDict( validate_by_name=True, @@ -125,7 +101,6 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "definition_yaml": obj.get("definition_yaml"), "description": obj.get("description"), "label": obj.get("label"), - "metric_type": obj.get("metric_type") if obj.get("metric_type") is not None else 'SIMPLE', "name": obj.get("name") }) return _obj diff --git a/sdks/python/flyquery_sdk/models/semantic_dimension_read.py b/sdks/python/flyquery_sdk/models/semantic_dimension_read.py index 279a620..8ca1fb9 100644 --- a/sdks/python/flyquery_sdk/models/semantic_dimension_read.py +++ b/sdks/python/flyquery_sdk/models/semantic_dimension_read.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -48,21 +35,22 @@ class SemanticDimensionRead(BaseModel): dataset_id: UUID definition_yaml: StrictStr description: Optional[StrictStr] + dimension_type: StrictStr id: UUID label: Optional[StrictStr] - metric_type: StrictStr + metadata_json: Optional[Dict[str, Any]] = None name: StrictStr status: StrictStr tenant_id: StrictStr updated_at: datetime workspace_id: UUID - __properties: ClassVar[List[str]] = ["compiled_sql_template", "created_at", "current_version", "dataset_id", "definition_yaml", "description", "id", "label", "metric_type", "name", "status", "tenant_id", "updated_at", "workspace_id"] + __properties: ClassVar[List[str]] = ["compiled_sql_template", "created_at", "current_version", "dataset_id", "definition_yaml", "description", "dimension_type", "id", "label", "metadata_json", "name", "status", "tenant_id", "updated_at", "workspace_id"] - @field_validator('metric_type') - def metric_type_validate_enum(cls, value): + @field_validator('dimension_type') + def dimension_type_validate_enum(cls, value): """Validates the enum""" - if value not in set(['SIMPLE', 'RATIO', 'DERIVED', 'CUMULATIVE']): - raise ValueError("must be one of enum values ('SIMPLE', 'RATIO', 'DERIVED', 'CUMULATIVE')") + if value not in set(['categorical', 'time']): + raise ValueError("must be one of enum values ('categorical', 'time')") return value @field_validator('status') @@ -144,9 +132,10 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "dataset_id": obj.get("dataset_id"), "definition_yaml": obj.get("definition_yaml"), "description": obj.get("description"), + "dimension_type": obj.get("dimension_type"), "id": obj.get("id"), "label": obj.get("label"), - "metric_type": obj.get("metric_type"), + "metadata_json": obj.get("metadata_json"), "name": obj.get("name"), "status": obj.get("status"), "tenant_id": obj.get("tenant_id"), diff --git a/sdks/python/flyquery_sdk/models/semantic_dimension_update.py b/sdks/python/flyquery_sdk/models/semantic_dimension_update.py index b9fee99..f7423f3 100644 --- a/sdks/python/flyquery_sdk/models/semantic_dimension_update.py +++ b/sdks/python/flyquery_sdk/models/semantic_dimension_update.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -30,7 +17,7 @@ import re # noqa: F401 import json -from pydantic import BaseModel, ConfigDict, StrictStr, field_validator +from pydantic import BaseModel, ConfigDict, StrictStr from typing import Any, ClassVar, Dict, List, Optional from typing import Optional, Set from typing_extensions import Self @@ -43,18 +30,7 @@ class SemanticDimensionUpdate(BaseModel): definition_yaml: Optional[StrictStr] = None description: Optional[StrictStr] = None label: Optional[StrictStr] = None - metric_type: Optional[StrictStr] = None - __properties: ClassVar[List[str]] = ["definition_yaml", "description", "label", "metric_type"] - - @field_validator('metric_type') - def metric_type_validate_enum(cls, value): - """Validates the enum""" - if value is None: - return value - - if value not in set(['SIMPLE', 'RATIO', 'DERIVED', 'CUMULATIVE']): - raise ValueError("must be one of enum values ('SIMPLE', 'RATIO', 'DERIVED', 'CUMULATIVE')") - return value + __properties: ClassVar[List[str]] = ["definition_yaml", "description", "label"] model_config = ConfigDict( validate_by_name=True, @@ -110,11 +86,6 @@ def to_dict(self) -> Dict[str, Any]: if self.label is None and "label" in self.model_fields_set: _dict['label'] = None - # set to None if metric_type (nullable) is None - # and model_fields_set contains the field - if self.metric_type is None and "metric_type" in self.model_fields_set: - _dict['metric_type'] = None - return _dict @classmethod @@ -129,8 +100,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: _obj = cls.model_validate({ "definition_yaml": obj.get("definition_yaml"), "description": obj.get("description"), - "label": obj.get("label"), - "metric_type": obj.get("metric_type") + "label": obj.get("label") }) return _obj diff --git a/sdks/python/flyquery_sdk/models/semantic_metric_create.py b/sdks/python/flyquery_sdk/models/semantic_metric_create.py index 25b0826..d79b53d 100644 --- a/sdks/python/flyquery_sdk/models/semantic_metric_create.py +++ b/sdks/python/flyquery_sdk/models/semantic_metric_create.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/semantic_metric_read.py b/sdks/python/flyquery_sdk/models/semantic_metric_read.py index b052dc0..895d167 100644 --- a/sdks/python/flyquery_sdk/models/semantic_metric_read.py +++ b/sdks/python/flyquery_sdk/models/semantic_metric_read.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -50,13 +37,14 @@ class SemanticMetricRead(BaseModel): description: Optional[StrictStr] id: UUID label: Optional[StrictStr] + metadata_json: Optional[Dict[str, Any]] = None metric_type: StrictStr name: StrictStr status: StrictStr tenant_id: StrictStr updated_at: datetime workspace_id: UUID - __properties: ClassVar[List[str]] = ["compiled_sql_template", "created_at", "current_version", "dataset_id", "definition_yaml", "description", "id", "label", "metric_type", "name", "status", "tenant_id", "updated_at", "workspace_id"] + __properties: ClassVar[List[str]] = ["compiled_sql_template", "created_at", "current_version", "dataset_id", "definition_yaml", "description", "id", "label", "metadata_json", "metric_type", "name", "status", "tenant_id", "updated_at", "workspace_id"] @field_validator('metric_type') def metric_type_validate_enum(cls, value): @@ -146,6 +134,7 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]: "description": obj.get("description"), "id": obj.get("id"), "label": obj.get("label"), + "metadata_json": obj.get("metadata_json"), "metric_type": obj.get("metric_type"), "name": obj.get("name"), "status": obj.get("status"), diff --git a/sdks/python/flyquery_sdk/models/semantic_metric_update.py b/sdks/python/flyquery_sdk/models/semantic_metric_update.py index 250a368..80262da 100644 --- a/sdks/python/flyquery_sdk/models/semantic_metric_update.py +++ b/sdks/python/flyquery_sdk/models/semantic_metric_update.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/semantic_version_read.py b/sdks/python/flyquery_sdk/models/semantic_version_read.py index 7d4fb76..de51e16 100644 --- a/sdks/python/flyquery_sdk/models/semantic_version_read.py +++ b/sdks/python/flyquery_sdk/models/semantic_version_read.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -40,7 +27,7 @@ class SemanticVersionRead(BaseModel): """ - Read representation of a flyquery_semantic_versions row. + Read representation of a flyquery_semantic_versions row. Field names follow the documented payload (``version_number``, ``metric_id``); the underlying columns are ``version`` / ``parent_id`` and are mapped via validation aliases. """ # noqa: E501 compiled_sql_template: Optional[StrictStr] created_at: datetime diff --git a/sdks/python/flyquery_sdk/models/snapshot_read.py b/sdks/python/flyquery_sdk/models/snapshot_read.py index ea81ef0..4bad163 100644 --- a/sdks/python/flyquery_sdk/models/snapshot_read.py +++ b/sdks/python/flyquery_sdk/models/snapshot_read.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/sql_execute_request.py b/sdks/python/flyquery_sdk/models/sql_execute_request.py index 4fe24cd..6b1db17 100644 --- a/sdks/python/flyquery_sdk/models/sql_execute_request.py +++ b/sdks/python/flyquery_sdk/models/sql_execute_request.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/sql_execute_response.py b/sdks/python/flyquery_sdk/models/sql_execute_response.py index 95de7a6..a9036b4 100644 --- a/sdks/python/flyquery_sdk/models/sql_execute_response.py +++ b/sdks/python/flyquery_sdk/models/sql_execute_response.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/table_read.py b/sdks/python/flyquery_sdk/models/table_read.py index 4683722..7951752 100644 --- a/sdks/python/flyquery_sdk/models/table_read.py +++ b/sdks/python/flyquery_sdk/models/table_read.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/table_summary.py b/sdks/python/flyquery_sdk/models/table_summary.py index dd44195..84a70d3 100644 --- a/sdks/python/flyquery_sdk/models/table_summary.py +++ b/sdks/python/flyquery_sdk/models/table_summary.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/total_cost_cents.py b/sdks/python/flyquery_sdk/models/total_cost_cents.py index 6a63198..039d12a 100644 --- a/sdks/python/flyquery_sdk/models/total_cost_cents.py +++ b/sdks/python/flyquery_sdk/models/total_cost_cents.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/turn_read.py b/sdks/python/flyquery_sdk/models/turn_read.py index 1af158a..602e218 100644 --- a/sdks/python/flyquery_sdk/models/turn_read.py +++ b/sdks/python/flyquery_sdk/models/turn_read.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/usage_summary.py b/sdks/python/flyquery_sdk/models/usage_summary.py index f9b643c..be46137 100644 --- a/sdks/python/flyquery_sdk/models/usage_summary.py +++ b/sdks/python/flyquery_sdk/models/usage_summary.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/validate_response.py b/sdks/python/flyquery_sdk/models/validate_response.py index b81d341..a516052 100644 --- a/sdks/python/flyquery_sdk/models/validate_response.py +++ b/sdks/python/flyquery_sdk/models/validate_response.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/validation_error.py b/sdks/python/flyquery_sdk/models/validation_error.py index e57be65..20a22ff 100644 --- a/sdks/python/flyquery_sdk/models/validation_error.py +++ b/sdks/python/flyquery_sdk/models/validation_error.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/workspace_create.py b/sdks/python/flyquery_sdk/models/workspace_create.py index 75f79bc..7e409f6 100644 --- a/sdks/python/flyquery_sdk/models/workspace_create.py +++ b/sdks/python/flyquery_sdk/models/workspace_create.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/workspace_read.py b/sdks/python/flyquery_sdk/models/workspace_read.py index cb8f8ac..182543f 100644 --- a/sdks/python/flyquery_sdk/models/workspace_read.py +++ b/sdks/python/flyquery_sdk/models/workspace_read.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/workspace_stats.py b/sdks/python/flyquery_sdk/models/workspace_stats.py index 71f0dc6..0e8035b 100644 --- a/sdks/python/flyquery_sdk/models/workspace_stats.py +++ b/sdks/python/flyquery_sdk/models/workspace_stats.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/models/workspace_update.py b/sdks/python/flyquery_sdk/models/workspace_update.py index c0fcd69..4f8ee69 100644 --- a/sdks/python/flyquery_sdk/models/workspace_update.py +++ b/sdks/python/flyquery_sdk/models/workspace_update.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/flyquery_sdk/rest.py b/sdks/python/flyquery_sdk/rest.py index 58ef0a0..0e63a8a 100644 --- a/sdks/python/flyquery_sdk/rest.py +++ b/sdks/python/flyquery_sdk/rest.py @@ -1,24 +1,11 @@ # coding: utf-8 -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. diff --git a/sdks/python/git_push.sh b/sdks/python/git_push.sh index 7a835d4..f53a75d 100644 --- a/sdks/python/git_push.sh +++ b/sdks/python/git_push.sh @@ -1,18 +1,4 @@ #!/bin/sh -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - # ref: https://help.github.com/articles/adding-an-existing-project-to-github-using-the-command-line/ # # Usage example: /bin/sh ./git_push.sh wing328 openapi-petstore-perl "minor update" "gitlab.com" diff --git a/sdks/python/pyproject.toml b/sdks/python/pyproject.toml index 14f27e0..3601ccd 100644 --- a/sdks/python/pyproject.toml +++ b/sdks/python/pyproject.toml @@ -1,6 +1,6 @@ [project] name = "flyquery_sdk" -version = "26.5.12" +version = "26.6.0" description = "Async-first Python client for flyquery — Tabular Intelligence: Text-to-SQL service over user-uploaded structured files." authors = [ { name = "Firefly Software Foundation", email = "team@firefly.io" }, diff --git a/sdks/python/setup.py b/sdks/python/setup.py index 7e0d312..3f49fa2 100644 --- a/sdks/python/setup.py +++ b/sdks/python/setup.py @@ -1,23 +1,9 @@ -# Copyright 2024-2026 Firefly Software Foundation -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - """ flyquery Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. - The version of the OpenAPI document: 26.5.4 + The version of the OpenAPI document: 26.6.0 Generated by OpenAPI Generator (https://openapi-generator.tech) Do not edit the class manually. @@ -33,7 +19,7 @@ # prerequisite: setuptools # http://pypi.python.org/pypi/setuptools NAME = "flyquery-sdk" -VERSION = "26.5.12" +VERSION = "26.6.0" PYTHON_REQUIRES = ">= 3.10" REQUIRES = [ "python-dateutil >= 2.8.2", diff --git a/sdks/python/test/test_agent_glossary_api.py b/sdks/python/test/test_agent_glossary_api.py new file mode 100644 index 0000000..11967e0 --- /dev/null +++ b/sdks/python/test/test_agent_glossary_api.py @@ -0,0 +1,66 @@ +# coding: utf-8 + +""" + flyquery + + Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. + + The version of the OpenAPI document: 26.6.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from flyquery_sdk.api.agent_glossary_api import AgentGlossaryApi + + +class TestAgentGlossaryApi(unittest.IsolatedAsyncioTestCase): + """AgentGlossaryApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = AgentGlossaryApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_create(self) -> None: + """Test case for create + + Create a glossary term (agent-tier). + """ + pass + + async def test_delete(self) -> None: + """Test case for delete + + Hard-delete a glossary term (agent-tier). + """ + pass + + async def test_get_term(self) -> None: + """Test case for get_term + + Fetch a single glossary term (agent-tier). + """ + pass + + async def test_list_terms(self) -> None: + """Test case for list_terms + + List glossary terms for the caller's workspace (agent-tier). + """ + pass + + async def test_update(self) -> None: + """Test case for update + + Sparse-update a glossary term (agent-tier). + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/sdks/python/test/test_agent_semantic_dimensions_api.py b/sdks/python/test/test_agent_semantic_dimensions_api.py new file mode 100644 index 0000000..984dc77 --- /dev/null +++ b/sdks/python/test/test_agent_semantic_dimensions_api.py @@ -0,0 +1,80 @@ +# coding: utf-8 + +""" + flyquery + + Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. + + The version of the OpenAPI document: 26.6.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from flyquery_sdk.api.agent_semantic_dimensions_api import AgentSemanticDimensionsApi + + +class TestAgentSemanticDimensionsApi(unittest.IsolatedAsyncioTestCase): + """AgentSemanticDimensionsApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = AgentSemanticDimensionsApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_create(self) -> None: + """Test case for create + + Create a dimension in DRAFT (agent-tier). + """ + pass + + async def test_get_dimension(self) -> None: + """Test case for get_dimension + + Fetch a single dimension (agent-tier). + """ + pass + + async def test_history(self) -> None: + """Test case for history + + Return version history for a dimension (agent-tier). + """ + pass + + async def test_list_dimensions(self) -> None: + """Test case for list_dimensions + + List dimensions for the caller's workspace (agent-tier). + """ + pass + + async def test_publish(self) -> None: + """Test case for publish + + Publish a dimension (agent-tier). + """ + pass + + async def test_retire(self) -> None: + """Test case for retire + + Retire a dimension (agent-tier). + """ + pass + + async def test_update(self) -> None: + """Test case for update + + Sparse-update a dimension (agent-tier). + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/sdks/python/test/test_agent_semantic_metrics_api.py b/sdks/python/test/test_agent_semantic_metrics_api.py new file mode 100644 index 0000000..b901049 --- /dev/null +++ b/sdks/python/test/test_agent_semantic_metrics_api.py @@ -0,0 +1,80 @@ +# coding: utf-8 + +""" + flyquery + + Operational Structured-Data Intelligence (upload-driven) -- multi-tenant ingestion + Text-to-SQL over user-uploaded structured files (CSV / TSV / XLSX / XLS / ODS / JSON / JSONL / Parquet / Avro / ORC / Arrow / Feather + .gz/.zip/.bz2 variants). Materialises uploads to Parquet on object storage; indexes a long-lived schema knowledge base; answers natural-language questions via a multi-agent pipeline. Part of Firefly OperationOS. + + The version of the OpenAPI document: 26.6.0 + Generated by OpenAPI Generator (https://openapi-generator.tech) + + Do not edit the class manually. +""" # noqa: E501 + + +import unittest + +from flyquery_sdk.api.agent_semantic_metrics_api import AgentSemanticMetricsApi + + +class TestAgentSemanticMetricsApi(unittest.IsolatedAsyncioTestCase): + """AgentSemanticMetricsApi unit test stubs""" + + async def asyncSetUp(self) -> None: + self.api = AgentSemanticMetricsApi() + + async def asyncTearDown(self) -> None: + await self.api.api_client.close() + + async def test_create(self) -> None: + """Test case for create + + Create a metric in DRAFT (agent-tier). + """ + pass + + async def test_get_metric(self) -> None: + """Test case for get_metric + + Fetch a single metric (agent-tier). + """ + pass + + async def test_history(self) -> None: + """Test case for history + + Return version history for a metric (agent-tier). + """ + pass + + async def test_list_metrics(self) -> None: + """Test case for list_metrics + + List metrics for the caller's workspace (agent-tier). + """ + pass + + async def test_publish(self) -> None: + """Test case for publish + + Publish a metric (agent-tier). + """ + pass + + async def test_retire(self) -> None: + """Test case for retire + + Retire a metric (agent-tier). + """ + pass + + async def test_update(self) -> None: + """Test case for update + + Sparse-update a metric (agent-tier). + """ + pass + + +if __name__ == '__main__': + unittest.main() diff --git a/src/flyquery/__init__.py b/src/flyquery/__init__.py index 3c65d80..b0ff200 100644 --- a/src/flyquery/__init__.py +++ b/src/flyquery/__init__.py @@ -16,4 +16,4 @@ from __future__ import annotations -__version__ = "26.5.14" +__version__ = "26.6.0" diff --git a/src/flyquery/app.py b/src/flyquery/app.py index 96e547e..7e8331e 100644 --- a/src/flyquery/app.py +++ b/src/flyquery/app.py @@ -35,7 +35,7 @@ @enable_core_stack @pyfly_application( name="flyquery", - version="26.5.14", + version="26.6.0", description=( "flyquery -- Operational Structured-Data Intelligence " "(upload-driven). Multi-tenant ingestion + Text-to-SQL " diff --git a/src/flyquery/core/services/query/query_service.py b/src/flyquery/core/services/query/query_service.py index de3f5e7..b11ecf6 100644 --- a/src/flyquery/core/services/query/query_service.py +++ b/src/flyquery/core/services/query/query_service.py @@ -35,6 +35,7 @@ from __future__ import annotations +import logging import time import uuid from dataclasses import dataclass, field @@ -43,6 +44,9 @@ from flyquery.core.services.execution.ast_classifier import AstClassifier from flyquery.core.services.execution.duckdb_executor import ExecutionError, ExecutionResult from flyquery.core.services.execution.scope_guard import ScopeGuard, ScopeGuardError +from flyquery.core.services.semantic.compiler import SemanticCompiler + +logger = logging.getLogger(__name__) # ---------------------------------------------------------------------- # Prompt rendering helpers @@ -147,7 +151,13 @@ def _render_grounding_prompt( out.append(f"# Glossary terms ({len(glossary)})") for h in glossary[:10]: md = getattr(h, "metadata", None) or {} - out.append(f"- **{md.get('term')}**: {md.get('definition', '')}") + line = f"- **{md.get('term')}**: {md.get('definition', '')}" + related = md.get("related_metrics") or [] + if related: + # A glossary term that maps to a published metric is a strong + # signal to take the SEMANTIC_LAYER path using that metric. + line += f" (related metrics: {', '.join(related)})" + out.append(line) out.append("") relations = bundle.get("relations", []) or [] @@ -526,12 +536,24 @@ async def answer( candidates_json: list = [] if grounded.path == "SEMANTIC_LAYER" and grounded.metrics: - # Try to get compiled SQL from the semantic repo - compiled = await self._compiled_metric_sql(grounded.metrics[0].metric_name, dataset_id) + # Fetch + bind the published metric's compiled SQL. When found, the + # bound SQL goes straight to the AST firewall + executor — the + # GenerationAgent is NOT invoked — and the metric version is pinned + # into the persisted query record for reproducibility. + metric_name = grounded.metrics[0].metric_name + compiled, metric_version = await self._compiled_metric_sql( + metric_name, dataset_id, tenant_id=tenant_id, workspace_id=workspace_id + ) if compiled: chosen_sql = compiled candidates_json = [ - {"sql": compiled, "reasoning": "semantic-layer compiled", "confidence": 1.0} + { + "sql": compiled, + "reasoning": "semantic-layer compiled", + "confidence": 1.0, + "metric_name": metric_name, + "metric_version": metric_version, + } ] else: # Fall through to synthesis if no compiled SQL found @@ -861,17 +883,28 @@ async def _compiled_metric_sql( self, metric_name: str, dataset_id: uuid.UUID, - ) -> str | None: - """Fetch the compiled SQL for a published metric, or None if unavailable.""" + *, + tenant_id: str, + workspace_id: uuid.UUID, + ) -> tuple[str | None, int | None]: + """Fetch + bind the compiled SQL for a PUBLISHED metric. + + Returns ``(bound_sql, current_version)`` so the version can be pinned + in the query record, or ``(None, None)`` when no usable metric is found. + """ if self._semantic_repo is None: - return None + return None, None try: - row = await self._semantic_repo.get_by_name(metric_name, dataset_id) - if row and row.get("status") == "PUBLISHED": - return row.get("compiled_sql_template") - except Exception: # noqa: BLE001 - pass - return None + row = await self._semantic_repo.get_by_name( + metric_name, dataset_id, tenant_id=tenant_id, workspace_id=workspace_id + ) + except (AttributeError, KeyError, TypeError) as exc: # pragma: no cover - defensive + logger.warning("semantic metric lookup failed for %r: %s", metric_name, exc) + return None, None + if not row or not row.get("compiled_sql_template"): + return None, None + bound = SemanticCompiler.bind(row["compiled_sql_template"]) + return bound, row.get("current_version") def _clarification(self, grounded) -> Any: """Build a ClarificationFrame if grounding confidence is low.""" diff --git a/src/flyquery/core/services/retrieval/search_index.py b/src/flyquery/core/services/retrieval/search_index.py index 4a72af6..8d10f5c 100644 --- a/src/flyquery/core/services/retrieval/search_index.py +++ b/src/flyquery/core/services/retrieval/search_index.py @@ -355,7 +355,7 @@ async def glossary_hits(self, query: str, workspace_id: uuid.UUID, limit: int = rows = await self._session.execute( sa.text( """ - SELECT id, term, definition, synonyms_json + SELECT id, term, definition, synonyms_json, related_metrics_json FROM flyquery_glossary_terms WHERE workspace_id = :ws ORDER BY term @@ -370,7 +370,11 @@ async def glossary_hits(self, query: str, workspace_id: uuid.UUID, limit: int = id=r.id, text=f"term:{r.term}\n{r.definition}", score=1.0, - metadata={"term": r.term, "definition": r.definition}, + metadata={ + "term": r.term, + "definition": r.definition, + "related_metrics": list(r.related_metrics_json or []), + }, ) for r in rows.mappings() ] diff --git a/src/flyquery/core/services/semantic/compiler.py b/src/flyquery/core/services/semantic/compiler.py new file mode 100644 index 0000000..7bfa921 --- /dev/null +++ b/src/flyquery/core/services/semantic/compiler.py @@ -0,0 +1,125 @@ +# Copyright 2024-2026 Firefly Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""SemanticCompiler: ``MetricDefinition`` -> DuckDB SQL template (+ runtime bind). + +Compilation is deterministic: the same definition always produces the same +template. The template carries two runtime substitution slots that +:meth:`SemanticCompiler.bind` fills at query time: + +* ``{extra_filter_clause}`` -- an extra ``AND `` appended to WHERE +* ``{group_by_append}`` -- extra ``, `` entries appended to GROUP BY + +Table resolution: a measure ``expr`` may be a qualified ``table.column`` (the +table is taken from the prefix) or a bare column, in which case an injected +``resolve_table(column, dataset_id)`` callback resolves the owning table from +the schema knowledge base. ``group_by`` entries that name a published +dimension are resolved via ``resolve_dimension(name, dataset_id)``. +""" + +from __future__ import annotations + +from collections.abc import Callable + +from flyquery.core.services.semantic.yaml_schema import MeasureSpec, MetricDefinition + +EXTRA_FILTER_SLOT = "{extra_filter_clause}" +GROUP_BY_SLOT = "{group_by_append}" + +ResolveTable = Callable[..., str] +ResolveDimension = Callable[..., str] + + +def _table_of(expr: str, resolve_table: ResolveTable | None, dataset_id: object) -> str: + """Resolve the base table for a measure expression.""" + if "." in expr: + return expr.split(".")[0] + if resolve_table is not None: + return resolve_table(expr, dataset_id) + return expr + + +def _agg_sql(measure: MeasureSpec) -> str: + """Render an aggregate expression (``COUNT(DISTINCT ...)`` for count_distinct).""" + column = measure.expr or measure.name + if measure.agg == "count_distinct": + return f"COUNT(DISTINCT {column})" + return f"{measure.agg.upper()}({column})" + + +class SemanticCompiler: + """Compiles a validated :class:`MetricDefinition` to a DuckDB SQL template.""" + + @staticmethod + def compile( # noqa: A003 - matches the documented public name + metric: MetricDefinition, + *, + resolve_table: ResolveTable | None = None, + resolve_dimension: ResolveDimension | None = None, + dataset_id: object = None, + ) -> str: + """Compile a metric definition to a DuckDB SELECT template with runtime slots.""" + group_by = [ + (resolve_dimension(col, dataset_id) if (resolve_dimension and "." not in col) else col) + for col in metric.group_by + ] + + if metric.type in ("simple", "cumulative"): + measure = metric.type_params.measure + table = _table_of(measure.expr or measure.name, resolve_table, dataset_id) + if metric.type == "cumulative": + tp = metric.type_params + bucket = f"DATE_TRUNC('{tp.grain}', {tp.time_column})" + select = f"{bucket} AS bucket, {_agg_sql(measure)} AS {metric.name}" + return ( + f"SELECT {select} FROM {table} WHERE 1=1 {EXTRA_FILTER_SLOT} " + f"GROUP BY {bucket} {GROUP_BY_SLOT} ORDER BY bucket" + ) + select_parts = [*group_by, f"{_agg_sql(measure)} AS {metric.name}"] + where = metric.type_params.filter + where_sql = f"{where} {EXTRA_FILTER_SLOT}" if where else f"1=1 {EXTRA_FILTER_SLOT}" + sql = f"SELECT {', '.join(select_parts)} FROM {table} WHERE {where_sql}" + sql += f" GROUP BY {', '.join(group_by)} {GROUP_BY_SLOT}" if group_by else f" {GROUP_BY_SLOT}" + return sql + + if metric.type == "ratio": + num = metric.type_params.numerator + den = metric.type_params.denominator + table = _table_of(num.expr or num.name, resolve_table, dataset_id) + ratio = f"CAST({_agg_sql(num)} AS DOUBLE) / NULLIF({_agg_sql(den)}, 0)" + select_parts = [*group_by, f"{ratio} AS {metric.name}"] + sql = f"SELECT {', '.join(select_parts)} FROM {table} WHERE 1=1 {EXTRA_FILTER_SLOT}" + sql += f" GROUP BY {', '.join(group_by)} {GROUP_BY_SLOT}" if group_by else f" {GROUP_BY_SLOT}" + return sql + + # derived: arithmetic over previously-defined metric expressions. + expr = metric.type_params.expr + return f"SELECT ({expr}) AS {metric.name} {EXTRA_FILTER_SLOT} {GROUP_BY_SLOT}" + + @staticmethod + def bind( + template: str, + *, + extra_filter: str | None = None, + group_by_append: list[str] | None = None, + ) -> str: + """Substitute runtime slots and return the final, whitespace-normalised SQL.""" + extra = f"AND {extra_filter}" if extra_filter else "" + gba = (", " + ", ".join(group_by_append)) if group_by_append else "" + out = template.replace(EXTRA_FILTER_SLOT, extra).replace(GROUP_BY_SLOT, gba) + return " ".join(out.split()) + + +# Back-compat alias for existing imports. +MetricFlowCompiler = SemanticCompiler diff --git a/src/flyquery/core/services/semantic/errors.py b/src/flyquery/core/services/semantic/errors.py new file mode 100644 index 0000000..1811c81 --- /dev/null +++ b/src/flyquery/core/services/semantic/errors.py @@ -0,0 +1,47 @@ +# Copyright 2024-2026 Firefly Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Domain errors for the semantic layer. + +These live in the core layer and carry no web dependency. The web layer +registers a handler that renders :class:`SemanticCompileError` as an +RFC 7807 ``400`` with ``code=semantic_compile_error``. +""" + +from __future__ import annotations + + +class SemanticCompileError(ValueError): + """Raised when a metric/dimension definition is invalid or unsafe. + + Attributes: + field: the failing field path (or None for top-level parse errors) + detail: human-readable description of what went wrong + code: stable machine code surfaced over HTTP + """ + + code = "semantic_compile_error" + + def __init__(self, detail: str, *, field: str | None = None) -> None: + self.field = field + self.detail = detail + super().__init__(f"SemanticCompileError({field!r}): {detail}") + + +class MetricYamlError(SemanticCompileError): + """Back-compat alias for definition-validation failures. + + Existing call sites raise ``MetricYamlError``; it is a + :class:`SemanticCompileError` so the same HTTP mapping applies. + """ diff --git a/src/flyquery/core/services/semantic/firewall.py b/src/flyquery/core/services/semantic/firewall.py new file mode 100644 index 0000000..4244e2d --- /dev/null +++ b/src/flyquery/core/services/semantic/firewall.py @@ -0,0 +1,115 @@ +# Copyright 2024-2026 Firefly Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Publish-time SQL firewall for compiled semantic templates. + +Compiled metric/dimension SQL is built from author-supplied YAML fragments +(filters, expressions, group-by columns). Before a template is persisted as +``compiled_sql_template`` it must pass this firewall, which enforces the +guarantees documented in ``docs/semantic-layer.md`` section 7: + +1. The template parses (DuckDB dialect) to exactly one statement. +2. That statement is a single ``SELECT`` (no DDL / commands / multi-statement). +3. No subqueries. +4. Every *arbitrary* (anonymous) function call is on an allowlist -- this is + what blocks DuckDB file-reading / exfiltration functions such as + ``read_csv_auto`` / ``read_parquet`` / ``pg_read_file``. + +Standard SQL builtins (SUM, CAST, COALESCE, DATE_TRUNC, ...) parse to typed +sqlglot nodes and are inherently safe; only un-typed ``Anonymous`` calls are +treated as a threat surface and checked against the allowlist. +""" + +from __future__ import annotations + +import sqlglot +from sqlglot import exp + +from flyquery.core.services.semantic.compiler import EXTRA_FILTER_SLOT, GROUP_BY_SLOT +from flyquery.core.services.semantic.errors import SemanticCompileError + +#: Allowlisted function names (uppercase). Typed builtins are always allowed; +#: this set additionally permits these names when they appear as anonymous calls. +ALLOWED_FUNCS: frozenset[str] = frozenset( + { + "SUM", + "COUNT", + "AVG", + "MIN", + "MAX", + "COALESCE", + "NULLIF", + "CAST", + "DATE_TRUNC", + "DATETRUNC", + "EXTRACT", + "LOWER", + "UPPER", + "ABS", + "ROUND", + "FLOOR", + "CEIL", + "CEILING", + "GREATEST", + "LEAST", + "LENGTH", + "TRIM", + } +) + +_FORBIDDEN_NODES = ( + exp.Create, + exp.Drop, + exp.Alter, + exp.Insert, + exp.Update, + exp.Delete, + exp.Command, +) + + +def _strip_slots(template: str) -> str: + return template.replace(EXTRA_FILTER_SLOT, "").replace(GROUP_BY_SLOT, "") + + +def assert_safe_template(template: str) -> None: + """Validate a compiled SQL template; raise :class:`SemanticCompileError` if unsafe.""" + sql = _strip_slots(template) + try: + statements = [s for s in sqlglot.parse(sql, read="duckdb") if s is not None] + except Exception as exc: # noqa: BLE001 - any parse failure is a compile error + raise SemanticCompileError(f"compiled SQL is unparseable: {exc}") from exc + + if len(statements) != 1: + raise SemanticCompileError("compiled SQL must be a single statement") + + root = statements[0] + if not isinstance(root, exp.Select): + raise SemanticCompileError("compiled SQL must be a single SELECT statement") + + if len(list(root.find_all(exp.Select))) > 1: + raise SemanticCompileError("subqueries are not allowed in compiled SQL") + + for node in root.walk(): + if isinstance(node, _FORBIDDEN_NODES): + raise SemanticCompileError("DDL and commands are not allowed in compiled SQL") + if isinstance(node, exp.Anonymous): + name = (node.name or "").upper() + if name not in ALLOWED_FUNCS: + raise SemanticCompileError(f"function not allowed: {name}", field="filter") + + +def assert_safe_dimension_expr(expr: str) -> None: + """Validate a dimension's column expression by wrapping it in a SELECT.""" + assert_safe_template(f"SELECT ({expr}) AS _dim {EXTRA_FILTER_SLOT} {GROUP_BY_SLOT}") diff --git a/src/flyquery/core/services/semantic/metricflow_compiler.py b/src/flyquery/core/services/semantic/metricflow_compiler.py index dadf46c..a78a98f 100644 --- a/src/flyquery/core/services/semantic/metricflow_compiler.py +++ b/src/flyquery/core/services/semantic/metricflow_compiler.py @@ -12,81 +12,17 @@ # See the License for the specific language governing permissions and # limitations under the License. -"""MetricFlowCompiler: deterministic YAML dict → DuckDB SQL template. +"""Back-compat shim. The compiler now lives in :mod:`compiler`. -Input is the parsed YAML dict (already validated by ``yaml_schema.py``). -Output is a single DuckDB-compatible SELECT statement. - -No external dependencies — pure Python string manipulation. +Historic import sites referenced ``MetricFlowCompiler`` here; both names +resolve to :class:`SemanticCompiler`. """ from __future__ import annotations +from flyquery.core.services.semantic.compiler import ( # noqa: F401 + MetricFlowCompiler, + SemanticCompiler, +) -def _table_of(qualified: str) -> str: - """Extract the table name from a qualified ``table.column`` reference.""" - return qualified.split(".")[0] - - -class MetricFlowCompiler: - """Compiles a validated MetricFlow YAML dict to a DuckDB SQL string. - - The compiler handles: - - Single-table aggregation (``agg``, ``expr``) - - Explicit joins (``joins``) - - Column projections in SELECT (``group_by``) - - WHERE filters (``filters``) - - GROUP BY clause (``group_by``) - - The compiled SQL is intended to be parameterised by the caller when - table names are resolved at query time. - """ - - @staticmethod - def compile(metric_yaml: dict) -> str: # noqa: A003 - """Compile a metric YAML dict to a DuckDB SELECT statement. - - :param metric_yaml: validated metric definition (must contain at - least ``name``, ``agg``, and ``expr``) - :return: DuckDB-compatible SELECT statement - """ - name = metric_yaml["name"] - agg = metric_yaml["agg"].upper() - expr = metric_yaml["expr"] - group_by_cols: list[str] = list(metric_yaml.get("group_by", [])) - joins: list[dict] = list(metric_yaml.get("joins", [])) - filters: list[str] = list(metric_yaml.get("filters", [])) - - # SELECT clause: group_by columns first, then the aggregation - agg_alias = f"{agg}({expr}) AS {name}" - select_parts = group_by_cols + [agg_alias] if group_by_cols else [agg_alias] - select_clause = ", ".join(select_parts) - - # Base table: derived from the first component of the expr - base_table = _table_of(expr) - - # JOIN clauses - join_clauses = [] - for j in joins: - from_col = j.get("from") or j.get("from_") - to_col = j["to"] - to_table = _table_of(to_col) - join_clauses.append(f"JOIN {to_table} ON {from_col} = {to_col}") - join_sql = " ".join(join_clauses) - - # WHERE clause - where_sql = " AND ".join(filters) - - # GROUP BY clause - group_by_sql = ", ".join(group_by_cols) - - # Assemble - sql = f"SELECT {select_clause} FROM {base_table}" - if join_sql: - sql += f" {join_sql}" - if where_sql: - sql += f" WHERE {where_sql}" - if group_by_sql: - sql += f" GROUP BY {group_by_sql}" - - return sql +__all__ = ["MetricFlowCompiler", "SemanticCompiler"] diff --git a/src/flyquery/core/services/semantic/semantic_dimensions_repository.py b/src/flyquery/core/services/semantic/semantic_dimensions_repository.py index dcf6db7..d3e28fd 100644 --- a/src/flyquery/core/services/semantic/semantic_dimensions_repository.py +++ b/src/flyquery/core/services/semantic/semantic_dimensions_repository.py @@ -12,10 +12,16 @@ # See the License for the specific language governing permissions and # limitations under the License. -"""Async SQLAlchemy repository for flyquery_semantic_dimensions + versions.""" +"""Async SQLAlchemy repository for flyquery_semantic_dimensions + versions. + +Mirrors :class:`SemanticRepository`: tenant + workspace scoped, version rows +capture the compiled expression, and publish records the compiled SQL on the +current version row. +""" from __future__ import annotations +import json import uuid from typing import Any @@ -23,44 +29,45 @@ from pyfly.container import repository from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker +_COLUMNS = """id, tenant_id, workspace_id, dataset_id, name, label, + description, definition_yaml, compiled_sql_template, + dimension_type, status, current_version, metadata_json, + created_at, updated_at""" + + +def _as_json(value: Any) -> str: + return json.dumps(value if value is not None else {}) + @repository class SemanticDimensionsRepository: - """Repository over ``flyquery_semantic_dimensions`` + ``flyquery_semantic_versions``. - - Every write operation also appends a history row to - ``flyquery_semantic_versions`` (kind='dimension') so full audit + rollback - is possible. - """ + """Repository over ``flyquery_semantic_dimensions`` + ``flyquery_semantic_versions``.""" def __init__(self, session: async_sessionmaker[AsyncSession]) -> None: self._factory = session - # ------------------------------------------------------------------ - # Dimensions CRUD - # ------------------------------------------------------------------ - async def create_dimension(self, **fields: Any) -> dict[str, Any]: - """Insert a new dimension in DRAFT status and return the full record.""" + """Insert a new dimension in DRAFT status (version 1) and return it.""" + fields.setdefault("metadata_json", {}) + fields.setdefault("dimension_type", "categorical") async with self._factory() as s, s.begin(): result = await s.execute( sa.text( - """ + f""" INSERT INTO flyquery_semantic_dimensions (tenant_id, workspace_id, dataset_id, name, label, - description, definition_yaml, metric_type, status, current_version) + description, definition_yaml, dimension_type, status, + current_version, metadata_json) VALUES (:tenant_id, :workspace_id, :dataset_id, :name, :label, - :description, :definition_yaml, :metric_type, 'DRAFT', 1) - RETURNING id, tenant_id, workspace_id, dataset_id, name, label, - description, definition_yaml, compiled_sql_template, - metric_type, status, current_version, created_at, updated_at + :description, :definition_yaml, :dimension_type, 'DRAFT', + 1, CAST(:metadata_json AS jsonb)) + RETURNING {_COLUMNS} """ ), - fields, + {**fields, "metadata_json": _as_json(fields["metadata_json"])}, ) row = dict(result.mappings().one()) - # Seed history version 1 await s.execute( sa.text( """ @@ -83,21 +90,27 @@ async def create_dimension(self, **fields: Any) -> dict[str, Any]: return row async def list_dimensions( - self, tenant_id: str, workspace_id: uuid.UUID, *, dataset_id: uuid.UUID | None = None + self, + tenant_id: str, + workspace_id: uuid.UUID, + *, + dataset_id: uuid.UUID | None = None, + status: str | None = None, ) -> list[dict[str, Any]]: - """Return all dimensions for a workspace, optionally filtered by dataset.""" + """Return dimensions for a workspace (optionally filtered by dataset/status).""" params: dict[str, Any] = {"tenant_id": tenant_id, "workspace_id": workspace_id} extra = "" if dataset_id is not None: - extra = "AND dataset_id = :dataset_id" + extra += " AND dataset_id = :dataset_id" params["dataset_id"] = dataset_id + if status is not None: + extra += " AND status = :status" + params["status"] = status async with self._factory() as s: result = await s.execute( sa.text( f""" - SELECT id, tenant_id, workspace_id, dataset_id, name, label, - description, definition_yaml, compiled_sql_template, - metric_type, status, current_version, created_at, updated_at + SELECT {_COLUMNS} FROM flyquery_semantic_dimensions WHERE tenant_id = :tenant_id AND workspace_id = :workspace_id {extra} ORDER BY name @@ -107,52 +120,96 @@ async def list_dimensions( ) return [dict(r) for r in result.mappings().all()] - async def get_dimension(self, dimension_id: uuid.UUID) -> dict[str, Any] | None: - """Fetch a single dimension by primary key.""" + async def get_dimension( + self, dimension_id: uuid.UUID, *, tenant_id: str, workspace_id: uuid.UUID + ) -> dict[str, Any] | None: + """Fetch a single dimension by id, scoped to tenant + workspace.""" async with self._factory() as s: result = await s.execute( sa.text( + f""" + SELECT {_COLUMNS} + FROM flyquery_semantic_dimensions + WHERE id = :id AND tenant_id = :tenant_id AND workspace_id = :workspace_id """ - SELECT id, tenant_id, workspace_id, dataset_id, name, label, - description, definition_yaml, compiled_sql_template, - metric_type, status, current_version, created_at, updated_at - FROM flyquery_semantic_dimensions WHERE id = :id + ), + {"id": dimension_id, "tenant_id": tenant_id, "workspace_id": workspace_id}, + ) + row = result.mappings().one_or_none() + return dict(row) if row else None + + async def get_by_name( + self, + name: str, + dataset_id: uuid.UUID, + *, + tenant_id: str, + workspace_id: uuid.UUID, + ) -> dict[str, Any] | None: + """Fetch a PUBLISHED dimension by (name, dataset) for group-by resolution.""" + async with self._factory() as s: + result = await s.execute( + sa.text( + f""" + SELECT {_COLUMNS} + FROM flyquery_semantic_dimensions + WHERE name = :name AND dataset_id = :dataset_id + AND tenant_id = :tenant_id AND workspace_id = :workspace_id + AND status = 'PUBLISHED' """ ), - {"id": dimension_id}, + { + "name": name, + "dataset_id": dataset_id, + "tenant_id": tenant_id, + "workspace_id": workspace_id, + }, ) row = result.mappings().one_or_none() return dict(row) if row else None - async def update_dimension(self, dimension_id: uuid.UUID, **fields: Any) -> dict[str, Any]: + async def update_dimension( + self, dimension_id: uuid.UUID, *, tenant_id: str, workspace_id: uuid.UUID, **fields: Any + ) -> dict[str, Any]: """Sparse-update a dimension, bump version, record history.""" + if "metadata_json" in fields: + fields["metadata_json"] = _as_json(fields["metadata_json"]) async with self._factory() as s, s.begin(): cur = await s.execute( sa.text( - "SELECT current_version, tenant_id, workspace_id, definition_yaml " - "FROM flyquery_semantic_dimensions WHERE id = :id" + "SELECT current_version, definition_yaml " + "FROM flyquery_semantic_dimensions " + "WHERE id = :id AND tenant_id = :tenant_id AND workspace_id = :workspace_id" ), - {"id": dimension_id}, + {"id": dimension_id, "tenant_id": tenant_id, "workspace_id": workspace_id}, ) cur_row = cur.mappings().one() new_version = cur_row["current_version"] + 1 if not fields: - return dict(cur_row) + got = await self.get_dimension(dimension_id, tenant_id=tenant_id, workspace_id=workspace_id) + assert got is not None + return got - sets = ", ".join(f"{k} = :{k}" for k in fields) + set_cols = ", ".join( + f"{k} = CAST(:{k} AS jsonb)" if k == "metadata_json" else f"{k} = :{k}" for k in fields + ) result = await s.execute( sa.text( f""" UPDATE flyquery_semantic_dimensions - SET {sets}, current_version = :new_version, updated_at = now() - WHERE id = :id - RETURNING id, tenant_id, workspace_id, dataset_id, name, label, - description, definition_yaml, compiled_sql_template, - metric_type, status, current_version, created_at, updated_at + SET {set_cols}, current_version = :new_version, updated_at = now() + WHERE id = :id AND tenant_id = :tenant_id AND workspace_id = :workspace_id + RETURNING {_COLUMNS} """ ), - {"id": dimension_id, "new_version": new_version, **fields}, + { + "id": dimension_id, + "new_version": new_version, + "tenant_id": tenant_id, + "workspace_id": workspace_id, + **fields, + }, ) updated = dict(result.mappings().one()) await s.execute( @@ -163,59 +220,78 @@ async def update_dimension(self, dimension_id: uuid.UUID, **fields: Any) -> dict definition_yaml, compiled_sql_template, created_by) VALUES (:tenant_id, :workspace_id, 'dimension', :parent_id, :version, - :definition_yaml, NULL, :created_by) + :definition_yaml, :compiled_sql_template, :created_by) """ ), { - "tenant_id": updated["tenant_id"], - "workspace_id": updated["workspace_id"], + "tenant_id": tenant_id, + "workspace_id": workspace_id, "parent_id": dimension_id, "version": new_version, "definition_yaml": fields.get("definition_yaml", cur_row["definition_yaml"]), + "compiled_sql_template": fields.get("compiled_sql_template"), "created_by": fields.get("created_by", "user"), }, ) return updated - async def publish_dimension(self, dimension_id: uuid.UUID, compiled_sql: str) -> dict[str, Any]: - """Set status=PUBLISHED and persist the compiled SQL template.""" + async def publish_dimension( + self, dimension_id: uuid.UUID, compiled_sql: str, *, tenant_id: str, workspace_id: uuid.UUID + ) -> dict[str, Any]: + """Publish a dimension: persist compiled expr on the row AND its current version.""" async with self._factory() as s, s.begin(): result = await s.execute( sa.text( - """ + f""" UPDATE flyquery_semantic_dimensions SET status = 'PUBLISHED', compiled_sql_template = :compiled_sql, updated_at = now() - WHERE id = :id - RETURNING id, tenant_id, workspace_id, dataset_id, name, label, - description, definition_yaml, compiled_sql_template, - metric_type, status, current_version, created_at, updated_at + WHERE id = :id AND tenant_id = :tenant_id AND workspace_id = :workspace_id + RETURNING {_COLUMNS} """ ), - {"id": dimension_id, "compiled_sql": compiled_sql}, + { + "id": dimension_id, + "compiled_sql": compiled_sql, + "tenant_id": tenant_id, + "workspace_id": workspace_id, + }, ) - return dict(result.mappings().one()) + row = dict(result.mappings().one()) + await s.execute( + sa.text( + """ + UPDATE flyquery_semantic_versions + SET compiled_sql_template = :compiled_sql + WHERE kind = 'dimension' AND parent_id = :id AND version = :version + """ + ), + {"compiled_sql": compiled_sql, "id": dimension_id, "version": row["current_version"]}, + ) + return row - async def retire_dimension(self, dimension_id: uuid.UUID) -> dict[str, Any]: - """Set status=RETIRED.""" + async def retire_dimension( + self, dimension_id: uuid.UUID, *, tenant_id: str, workspace_id: uuid.UUID + ) -> dict[str, Any]: + """Set status=RETIRED, scoped to tenant + workspace.""" async with self._factory() as s, s.begin(): result = await s.execute( sa.text( - """ + f""" UPDATE flyquery_semantic_dimensions SET status = 'RETIRED', updated_at = now() - WHERE id = :id - RETURNING id, tenant_id, workspace_id, dataset_id, name, label, - description, definition_yaml, compiled_sql_template, - metric_type, status, current_version, created_at, updated_at + WHERE id = :id AND tenant_id = :tenant_id AND workspace_id = :workspace_id + RETURNING {_COLUMNS} """ ), - {"id": dimension_id}, + {"id": dimension_id, "tenant_id": tenant_id, "workspace_id": workspace_id}, ) return dict(result.mappings().one()) - async def list_history(self, dimension_id: uuid.UUID) -> list[dict[str, Any]]: + async def list_history( + self, dimension_id: uuid.UUID, *, tenant_id: str, workspace_id: uuid.UUID + ) -> list[dict[str, Any]]: """Return all version history rows for a dimension, oldest first.""" async with self._factory() as s: result = await s.execute( @@ -225,9 +301,10 @@ async def list_history(self, dimension_id: uuid.UUID) -> list[dict[str, Any]]: definition_yaml, compiled_sql_template, created_by, created_at FROM flyquery_semantic_versions WHERE kind = 'dimension' AND parent_id = :parent_id + AND tenant_id = :tenant_id AND workspace_id = :workspace_id ORDER BY version """ ), - {"parent_id": dimension_id}, + {"parent_id": dimension_id, "tenant_id": tenant_id, "workspace_id": workspace_id}, ) return [dict(r) for r in result.mappings().all()] diff --git a/src/flyquery/core/services/semantic/semantic_dimensions_service.py b/src/flyquery/core/services/semantic/semantic_dimensions_service.py index 77b15a7..032c690 100644 --- a/src/flyquery/core/services/semantic/semantic_dimensions_service.py +++ b/src/flyquery/core/services/semantic/semantic_dimensions_service.py @@ -12,33 +12,37 @@ # See the License for the specific language governing permissions and # limitations under the License. -"""SemanticDimensionsService: CRUD + lifecycle for semantic-layer dimensions.""" +"""SemanticDimensionsService: CRUD + lifecycle for semantic-layer dimensions. + +A dimension compiles to a column expression (categorical → the expression +verbatim; time → ``DATE_TRUNC(grain, expr)``). That expression is stored as +``compiled_sql_template`` and substituted into metric ``group_by`` clauses +when a metric references the dimension by name. +""" from __future__ import annotations import uuid -from typing import Any, Protocol +from typing import Any from pyfly.container import service as service_bean -from flyquery.core.services.semantic.metricflow_compiler import MetricFlowCompiler +from flyquery.core.services.semantic.firewall import assert_safe_dimension_expr from flyquery.core.services.semantic.semantic_dimensions_repository import ( SemanticDimensionsRepository, ) -from flyquery.core.services.semantic.yaml_schema import validate_metric_yaml +from flyquery.core.services.semantic.yaml_schema import ( + DimensionDefinition, + validate_dimension_yaml, +) from flyquery.interfaces.semantic import SemanticDimensionCreate, SemanticDimensionUpdate -class _Repo(Protocol): - async def create_dimension(self, **fields: Any) -> dict[str, Any]: ... - async def list_dimensions( - self, tenant_id: str, workspace_id: uuid.UUID, *, dataset_id: uuid.UUID | None - ) -> list[dict[str, Any]]: ... - async def get_dimension(self, dimension_id: uuid.UUID) -> dict[str, Any] | None: ... - async def update_dimension(self, dimension_id: uuid.UUID, **fields: Any) -> dict[str, Any]: ... - async def publish_dimension(self, dimension_id: uuid.UUID, compiled_sql: str) -> dict[str, Any]: ... - async def retire_dimension(self, dimension_id: uuid.UUID) -> dict[str, Any]: ... - async def list_history(self, dimension_id: uuid.UUID) -> list[dict[str, Any]]: ... +def _compile_dimension(definition: DimensionDefinition) -> str: + """Compile a dimension to its column expression (grain-truncated for time).""" + if definition.type == "time": + return f"DATE_TRUNC('{definition.grain}', {definition.expr})" + return definition.expr @service_bean @@ -46,8 +50,7 @@ class SemanticDimensionsService: """Business logic for the semantic layer (dimensions lifecycle).""" def __init__(self, semantic_dimensions_repository: SemanticDimensionsRepository) -> None: - # Parameter renamed from ``repo`` to match snake-cased bean name. - self._repo: _Repo = semantic_dimensions_repository + self._repo = semantic_dimensions_repository async def create( self, @@ -57,25 +60,18 @@ async def create( *, actor: str = "user", ) -> dict[str, Any]: - """Create a new semantic dimension in DRAFT status. - - :param tenant_id: tenant identifier - :param workspace_id: workspace UUID - :param body: validated create payload (includes definition_yaml) - :param actor: who created the dimension - :return: full dimension dict - :raises MetricYamlError: if the YAML fails schema validation - """ - validate_metric_yaml(body.definition_yaml) + """Create a new semantic dimension in DRAFT status (validates the YAML).""" + definition = validate_dimension_yaml(body.definition_yaml) return await self._repo.create_dimension( tenant_id=tenant_id, workspace_id=workspace_id, dataset_id=body.dataset_id, name=body.name, - label=body.label, - description=body.description, + label=body.label or definition.label, + description=body.description or definition.description, definition_yaml=body.definition_yaml, - metric_type=body.metric_type, + dimension_type=definition.type, + metadata_json={}, created_by=actor, ) @@ -85,62 +81,69 @@ async def list( workspace_id: uuid.UUID, *, dataset_id: uuid.UUID | None = None, + status: str | None = None, ) -> list[dict[str, Any]]: - """Return all dimensions for a workspace.""" - return await self._repo.list_dimensions(tenant_id, workspace_id, dataset_id=dataset_id) + """Return dimensions for a workspace (optionally filtered by dataset/status).""" + return await self._repo.list_dimensions(tenant_id, workspace_id, dataset_id=dataset_id, status=status) - async def get(self, dimension_id: uuid.UUID) -> dict[str, Any] | None: + async def get( + self, tenant_id: str, workspace_id: uuid.UUID, dimension_id: uuid.UUID + ) -> dict[str, Any] | None: """Fetch a single dimension by id; returns None when not found.""" - return await self._repo.get_dimension(dimension_id) + return await self._repo.get_dimension(dimension_id, tenant_id=tenant_id, workspace_id=workspace_id) async def update( self, + tenant_id: str, + workspace_id: uuid.UUID, dimension_id: uuid.UUID, body: SemanticDimensionUpdate, *, actor: str = "user", ) -> dict[str, Any]: - """Sparse-update a dimension; re-validates YAML if definition changes. - - :param dimension_id: dimension primary key - :param body: sparse update payload - :param actor: who is making the change - :return: updated dimension dict - :raises MetricYamlError: if updated YAML fails validation - """ + """Sparse-update a dimension; recompiles if PUBLISHED and the YAML changes.""" + existing = await self._repo.get_dimension( + dimension_id, tenant_id=tenant_id, workspace_id=workspace_id + ) + if existing is None: + raise KeyError(f"dimension {dimension_id} not found") fields = body.model_dump(exclude_unset=True, exclude_none=True) if "definition_yaml" in fields: - validate_metric_yaml(fields["definition_yaml"]) + definition = validate_dimension_yaml(fields["definition_yaml"]) + fields["dimension_type"] = definition.type + if existing["status"] == "PUBLISHED": + expr = _compile_dimension(definition) + assert_safe_dimension_expr(expr) + fields["compiled_sql_template"] = expr fields["created_by"] = actor - return await self._repo.update_dimension(dimension_id, **fields) - - async def publish(self, dimension_id: uuid.UUID) -> dict[str, Any]: - """Validate, compile, and publish a dimension. - - Compiles the current ``definition_yaml`` to a DuckDB SQL template - and persists it before flipping status to PUBLISHED. + return await self._repo.update_dimension( + dimension_id, tenant_id=tenant_id, workspace_id=workspace_id, **fields + ) - :param dimension_id: dimension primary key - :return: published dimension dict with ``compiled_sql_template`` set - :raises MetricYamlError: if the YAML is invalid at publish time - """ - dimension = await self._repo.get_dimension(dimension_id) + async def publish( + self, tenant_id: str, workspace_id: uuid.UUID, dimension_id: uuid.UUID + ) -> dict[str, Any]: + """Validate, compile, firewall, and publish a dimension.""" + dimension = await self._repo.get_dimension( + dimension_id, tenant_id=tenant_id, workspace_id=workspace_id + ) if dimension is None: raise KeyError(f"dimension {dimension_id} not found") - validate_metric_yaml(dimension["definition_yaml"]) - import yaml as _yaml - - compiled_sql = MetricFlowCompiler.compile(_yaml.safe_load(dimension["definition_yaml"])) - return await self._repo.publish_dimension(dimension_id, compiled_sql) - - async def retire(self, dimension_id: uuid.UUID) -> dict[str, Any]: - """Retire a dimension (status → RETIRED). + definition = validate_dimension_yaml(dimension["definition_yaml"]) + expr = _compile_dimension(definition) + assert_safe_dimension_expr(expr) + return await self._repo.publish_dimension( + dimension_id, expr, tenant_id=tenant_id, workspace_id=workspace_id + ) - :param dimension_id: dimension primary key - :return: retired dimension dict - """ - return await self._repo.retire_dimension(dimension_id) + async def retire( + self, tenant_id: str, workspace_id: uuid.UUID, dimension_id: uuid.UUID + ) -> dict[str, Any]: + """Retire a dimension (status → RETIRED).""" + return await self._repo.retire_dimension(dimension_id, tenant_id=tenant_id, workspace_id=workspace_id) - async def list_history(self, dimension_id: uuid.UUID) -> list[dict[str, Any]]: + async def list_history( + self, tenant_id: str, workspace_id: uuid.UUID, dimension_id: uuid.UUID + ) -> list[dict[str, Any]]: """Return version history for a dimension, oldest first.""" - return await self._repo.list_history(dimension_id) + return await self._repo.list_history(dimension_id, tenant_id=tenant_id, workspace_id=workspace_id) diff --git a/src/flyquery/core/services/semantic/semantic_repository.py b/src/flyquery/core/services/semantic/semantic_repository.py index 4bd9c21..a80c98b 100644 --- a/src/flyquery/core/services/semantic/semantic_repository.py +++ b/src/flyquery/core/services/semantic/semantic_repository.py @@ -12,7 +12,12 @@ # See the License for the specific language governing permissions and # limitations under the License. -"""Async SQLAlchemy repository for flyquery_semantic_metrics + versions.""" +"""Async SQLAlchemy repository for flyquery_semantic_metrics + versions. + +All reads/writes carry explicit ``tenant_id`` + ``workspace_id`` predicates +(defense-in-depth on top of Postgres RLS). Version rows capture the +``compiled_sql_template`` so history is reproducible. +""" from __future__ import annotations @@ -23,13 +28,19 @@ from pyfly.container import repository from sqlalchemy.ext.asyncio import AsyncSession, async_sessionmaker +_COLUMNS = """id, tenant_id, workspace_id, dataset_id, name, label, + description, definition_yaml, compiled_sql_template, + metric_type, status, current_version, metadata_json, + created_at, updated_at""" + @repository class SemanticRepository: """Repository over ``flyquery_semantic_metrics`` + ``flyquery_semantic_versions``. - Every write operation also appends a history row to - ``flyquery_semantic_versions`` so full audit + rollback is possible. + Every definition change appends a history row to + ``flyquery_semantic_versions``; publish records the compiled SQL on the + current version row so full audit + rollback is possible. """ def __init__(self, session: async_sessionmaker[AsyncSession]) -> None: @@ -40,26 +51,26 @@ def __init__(self, session: async_sessionmaker[AsyncSession]) -> None: # ------------------------------------------------------------------ async def create_metric(self, **fields: Any) -> dict[str, Any]: - """Insert a new metric in DRAFT status and return the full record.""" + """Insert a new metric in DRAFT status (version 1) and return it.""" + fields.setdefault("metadata_json", {}) async with self._factory() as s, s.begin(): result = await s.execute( sa.text( - """ + f""" INSERT INTO flyquery_semantic_metrics (tenant_id, workspace_id, dataset_id, name, label, - description, definition_yaml, metric_type, status, current_version) + description, definition_yaml, metric_type, status, + current_version, metadata_json) VALUES (:tenant_id, :workspace_id, :dataset_id, :name, :label, - :description, :definition_yaml, :metric_type, 'DRAFT', 1) - RETURNING id, tenant_id, workspace_id, dataset_id, name, label, - description, definition_yaml, compiled_sql_template, - metric_type, status, current_version, created_at, updated_at + :description, :definition_yaml, :metric_type, 'DRAFT', + 1, CAST(:metadata_json AS jsonb)) + RETURNING {_COLUMNS} """ ), - fields, + {**fields, "metadata_json": _as_json(fields["metadata_json"])}, ) row = dict(result.mappings().one()) - # Seed history version 1 await s.execute( sa.text( """ @@ -82,21 +93,27 @@ async def create_metric(self, **fields: Any) -> dict[str, Any]: return row async def list_metrics( - self, tenant_id: str, workspace_id: uuid.UUID, *, dataset_id: uuid.UUID | None = None + self, + tenant_id: str, + workspace_id: uuid.UUID, + *, + dataset_id: uuid.UUID | None = None, + status: str | None = None, ) -> list[dict[str, Any]]: - """Return all metrics for a workspace, optionally filtered by dataset.""" + """Return metrics for a workspace, optionally filtered by dataset/status.""" params: dict[str, Any] = {"tenant_id": tenant_id, "workspace_id": workspace_id} extra = "" if dataset_id is not None: - extra = "AND dataset_id = :dataset_id" + extra += " AND dataset_id = :dataset_id" params["dataset_id"] = dataset_id + if status is not None: + extra += " AND status = :status" + params["status"] = status async with self._factory() as s: result = await s.execute( sa.text( f""" - SELECT id, tenant_id, workspace_id, dataset_id, name, label, - description, definition_yaml, compiled_sql_template, - metric_type, status, current_version, created_at, updated_at + SELECT {_COLUMNS} FROM flyquery_semantic_metrics WHERE tenant_id = :tenant_id AND workspace_id = :workspace_id {extra} ORDER BY name @@ -106,56 +123,102 @@ async def list_metrics( ) return [dict(r) for r in result.mappings().all()] - async def get_metric(self, metric_id: uuid.UUID) -> dict[str, Any] | None: - """Fetch a single metric by primary key.""" + async def get_metric( + self, metric_id: uuid.UUID, *, tenant_id: str, workspace_id: uuid.UUID + ) -> dict[str, Any] | None: + """Fetch a single metric by id, scoped to tenant + workspace.""" async with self._factory() as s: result = await s.execute( sa.text( + f""" + SELECT {_COLUMNS} + FROM flyquery_semantic_metrics + WHERE id = :id AND tenant_id = :tenant_id AND workspace_id = :workspace_id """ - SELECT id, tenant_id, workspace_id, dataset_id, name, label, - description, definition_yaml, compiled_sql_template, - metric_type, status, current_version, created_at, updated_at - FROM flyquery_semantic_metrics WHERE id = :id + ), + {"id": metric_id, "tenant_id": tenant_id, "workspace_id": workspace_id}, + ) + row = result.mappings().one_or_none() + return dict(row) if row else None + + async def get_by_name( + self, + name: str, + dataset_id: uuid.UUID, + *, + tenant_id: str, + workspace_id: uuid.UUID, + ) -> dict[str, Any] | None: + """Fetch a PUBLISHED metric by (name, dataset) for the query fast-path.""" + async with self._factory() as s: + result = await s.execute( + sa.text( + f""" + SELECT {_COLUMNS} + FROM flyquery_semantic_metrics + WHERE name = :name AND dataset_id = :dataset_id + AND tenant_id = :tenant_id AND workspace_id = :workspace_id + AND status = 'PUBLISHED' """ ), - {"id": metric_id}, + { + "name": name, + "dataset_id": dataset_id, + "tenant_id": tenant_id, + "workspace_id": workspace_id, + }, ) row = result.mappings().one_or_none() return dict(row) if row else None - async def update_metric(self, metric_id: uuid.UUID, **fields: Any) -> dict[str, Any]: - """Sparse-update a metric, bump version, record history.""" + async def update_metric( + self, metric_id: uuid.UUID, *, tenant_id: str, workspace_id: uuid.UUID, **fields: Any + ) -> dict[str, Any]: + """Sparse-update a metric, bump version, record history. + + If ``fields`` carries ``compiled_sql_template`` (recompile-on-update), + the new version row captures it too. + """ + if "metadata_json" in fields: + fields["metadata_json"] = _as_json(fields["metadata_json"]) async with self._factory() as s, s.begin(): - # Fetch current version cur = await s.execute( sa.text( - "SELECT current_version, tenant_id, workspace_id, definition_yaml " - "FROM flyquery_semantic_metrics WHERE id = :id" + "SELECT current_version, definition_yaml " + "FROM flyquery_semantic_metrics " + "WHERE id = :id AND tenant_id = :tenant_id AND workspace_id = :workspace_id" ), - {"id": metric_id}, + {"id": metric_id, "tenant_id": tenant_id, "workspace_id": workspace_id}, ) cur_row = cur.mappings().one() new_version = cur_row["current_version"] + 1 if not fields: - return dict(cur_row) + got = await self.get_metric(metric_id, tenant_id=tenant_id, workspace_id=workspace_id) + assert got is not None + return got - sets = ", ".join(f"{k} = :{k}" for k in fields) + set_cols = ", ".join( + f"{k} = CAST(:{k} AS jsonb)" if k == "metadata_json" else f"{k} = :{k}" for k in fields + ) result = await s.execute( sa.text( f""" UPDATE flyquery_semantic_metrics - SET {sets}, current_version = :new_version, updated_at = now() - WHERE id = :id - RETURNING id, tenant_id, workspace_id, dataset_id, name, label, - description, definition_yaml, compiled_sql_template, - metric_type, status, current_version, created_at, updated_at + SET {set_cols}, current_version = :new_version, updated_at = now() + WHERE id = :id AND tenant_id = :tenant_id AND workspace_id = :workspace_id + RETURNING {_COLUMNS} """ ), - {"id": metric_id, "new_version": new_version, **fields}, + { + "id": metric_id, + "new_version": new_version, + "tenant_id": tenant_id, + "workspace_id": workspace_id, + **fields, + }, ) updated = dict(result.mappings().one()) - # Append history await s.execute( sa.text( """ @@ -164,55 +227,73 @@ async def update_metric(self, metric_id: uuid.UUID, **fields: Any) -> dict[str, definition_yaml, compiled_sql_template, created_by) VALUES (:tenant_id, :workspace_id, 'metric', :parent_id, :version, - :definition_yaml, NULL, :created_by) + :definition_yaml, :compiled_sql_template, :created_by) """ ), { - "tenant_id": updated["tenant_id"], - "workspace_id": updated["workspace_id"], + "tenant_id": tenant_id, + "workspace_id": workspace_id, "parent_id": metric_id, "version": new_version, "definition_yaml": fields.get("definition_yaml", cur_row["definition_yaml"]), + "compiled_sql_template": fields.get("compiled_sql_template"), "created_by": fields.get("created_by", "user"), }, ) return updated - async def publish_metric(self, metric_id: uuid.UUID, compiled_sql: str) -> dict[str, Any]: - """Set status=PUBLISHED and persist the compiled SQL template.""" + async def publish_metric( + self, metric_id: uuid.UUID, compiled_sql: str, *, tenant_id: str, workspace_id: uuid.UUID + ) -> dict[str, Any]: + """Publish a metric: persist compiled SQL on the row AND its current version.""" async with self._factory() as s, s.begin(): result = await s.execute( sa.text( - """ + f""" UPDATE flyquery_semantic_metrics SET status = 'PUBLISHED', compiled_sql_template = :compiled_sql, updated_at = now() - WHERE id = :id - RETURNING id, tenant_id, workspace_id, dataset_id, name, label, - description, definition_yaml, compiled_sql_template, - metric_type, status, current_version, created_at, updated_at + WHERE id = :id AND tenant_id = :tenant_id AND workspace_id = :workspace_id + RETURNING {_COLUMNS} """ ), - {"id": metric_id, "compiled_sql": compiled_sql}, + { + "id": metric_id, + "compiled_sql": compiled_sql, + "tenant_id": tenant_id, + "workspace_id": workspace_id, + }, ) - return dict(result.mappings().one()) + row = dict(result.mappings().one()) + # Record the compiled SQL on the current (definition-unchanged) version row. + await s.execute( + sa.text( + """ + UPDATE flyquery_semantic_versions + SET compiled_sql_template = :compiled_sql + WHERE kind = 'metric' AND parent_id = :id AND version = :version + """ + ), + {"compiled_sql": compiled_sql, "id": metric_id, "version": row["current_version"]}, + ) + return row - async def retire_metric(self, metric_id: uuid.UUID) -> dict[str, Any]: - """Set status=RETIRED.""" + async def retire_metric( + self, metric_id: uuid.UUID, *, tenant_id: str, workspace_id: uuid.UUID + ) -> dict[str, Any]: + """Set status=RETIRED, scoped to tenant + workspace.""" async with self._factory() as s, s.begin(): result = await s.execute( sa.text( - """ + f""" UPDATE flyquery_semantic_metrics SET status = 'RETIRED', updated_at = now() - WHERE id = :id - RETURNING id, tenant_id, workspace_id, dataset_id, name, label, - description, definition_yaml, compiled_sql_template, - metric_type, status, current_version, created_at, updated_at + WHERE id = :id AND tenant_id = :tenant_id AND workspace_id = :workspace_id + RETURNING {_COLUMNS} """ ), - {"id": metric_id}, + {"id": metric_id, "tenant_id": tenant_id, "workspace_id": workspace_id}, ) return dict(result.mappings().one()) @@ -220,7 +301,9 @@ async def retire_metric(self, metric_id: uuid.UUID) -> dict[str, Any]: # Version history # ------------------------------------------------------------------ - async def list_history(self, metric_id: uuid.UUID) -> list[dict[str, Any]]: + async def list_history( + self, metric_id: uuid.UUID, *, tenant_id: str, workspace_id: uuid.UUID + ) -> list[dict[str, Any]]: """Return all version history rows for a metric, oldest first.""" async with self._factory() as s: result = await s.execute( @@ -230,9 +313,17 @@ async def list_history(self, metric_id: uuid.UUID) -> list[dict[str, Any]]: definition_yaml, compiled_sql_template, created_by, created_at FROM flyquery_semantic_versions WHERE kind = 'metric' AND parent_id = :parent_id + AND tenant_id = :tenant_id AND workspace_id = :workspace_id ORDER BY version """ ), - {"parent_id": metric_id}, + {"parent_id": metric_id, "tenant_id": tenant_id, "workspace_id": workspace_id}, ) return [dict(r) for r in result.mappings().all()] + + +def _as_json(value: Any) -> str: + """Serialise a Python value to a JSON string for a CAST(:p AS jsonb) bind.""" + import json + + return json.dumps(value if value is not None else {}) diff --git a/src/flyquery/core/services/semantic/semantic_service.py b/src/flyquery/core/services/semantic/semantic_service.py index d85250e..67e5897 100644 --- a/src/flyquery/core/services/semantic/semantic_service.py +++ b/src/flyquery/core/services/semantic/semantic_service.py @@ -12,40 +12,77 @@ # See the License for the specific language governing permissions and # limitations under the License. -"""SemanticService: CRUD + lifecycle for semantic-layer metrics.""" +"""SemanticService: CRUD + lifecycle for semantic-layer metrics. + +Publish/update compile the definition to a DuckDB SQL template via +:class:`SemanticCompiler`, then run it through the publish-time firewall +before persisting. ``group_by`` entries that name a published dimension are +resolved to that dimension's compiled expression; measure expressions are +qualified ``table.column`` references. +""" from __future__ import annotations import uuid -from typing import Any, Protocol +from typing import Any from pyfly.container import service as service_bean -from flyquery.core.services.semantic.metricflow_compiler import MetricFlowCompiler +from flyquery.core.services.semantic.compiler import SemanticCompiler +from flyquery.core.services.semantic.firewall import assert_safe_template +from flyquery.core.services.semantic.semantic_dimensions_repository import ( + SemanticDimensionsRepository, +) from flyquery.core.services.semantic.semantic_repository import SemanticRepository -from flyquery.core.services.semantic.yaml_schema import validate_metric_yaml +from flyquery.core.services.semantic.yaml_schema import MetricDefinition, validate_metric_yaml from flyquery.interfaces.semantic import SemanticMetricCreate, SemanticMetricUpdate -class _Repo(Protocol): - async def create_metric(self, **fields: Any) -> dict[str, Any]: ... - async def list_metrics( - self, tenant_id: str, workspace_id: uuid.UUID, *, dataset_id: uuid.UUID | None - ) -> list[dict[str, Any]]: ... - async def get_metric(self, metric_id: uuid.UUID) -> dict[str, Any] | None: ... - async def update_metric(self, metric_id: uuid.UUID, **fields: Any) -> dict[str, Any]: ... - async def publish_metric(self, metric_id: uuid.UUID, compiled_sql: str) -> dict[str, Any]: ... - async def retire_metric(self, metric_id: uuid.UUID) -> dict[str, Any]: ... - async def list_history(self, metric_id: uuid.UUID) -> list[dict[str, Any]]: ... - - @service_bean class SemanticService: """Business logic for the semantic layer (metrics lifecycle).""" - def __init__(self, semantic_repository: SemanticRepository) -> None: - # Parameter renamed from ``repo`` to match snake-cased bean name. - self._repo: _Repo = semantic_repository + def __init__( + self, + semantic_repository: SemanticRepository, + semantic_dimensions_repository: SemanticDimensionsRepository, + ) -> None: + self._repo = semantic_repository + self._dim_repo = semantic_dimensions_repository + + # ------------------------------------------------------------------ + # Compilation helpers + # ------------------------------------------------------------------ + + async def _compile( + self, + definition: MetricDefinition, + *, + tenant_id: str, + workspace_id: uuid.UUID, + dataset_id: uuid.UUID, + ) -> str: + """Compile + firewall a validated definition, resolving dimension group-bys.""" + dim_map: dict[str, str] = {} + for col in definition.group_by: + if "." in col: + continue + row = await self._dim_repo.get_by_name( + col, dataset_id, tenant_id=tenant_id, workspace_id=workspace_id + ) + if row and row.get("compiled_sql_template"): + dim_map[col] = row["compiled_sql_template"] + compiled = SemanticCompiler.compile( + definition, + resolve_dimension=lambda name, ds=None: dim_map.get(name, name), + dataset_id=dataset_id, + ) + assert_safe_template(compiled) + return compiled + + # ------------------------------------------------------------------ + # CRUD + lifecycle + # ------------------------------------------------------------------ async def create( self, @@ -55,25 +92,18 @@ async def create( *, actor: str = "user", ) -> dict[str, Any]: - """Create a new semantic metric in DRAFT status. - - :param tenant_id: tenant identifier - :param workspace_id: workspace UUID - :param body: validated create payload (includes definition_yaml) - :param actor: who created the metric - :return: full metric dict - :raises MetricYamlError: if the YAML fails schema validation - """ - validate_metric_yaml(body.definition_yaml) + """Create a new semantic metric in DRAFT status (validates the YAML).""" + definition = validate_metric_yaml(body.definition_yaml) return await self._repo.create_metric( tenant_id=tenant_id, workspace_id=workspace_id, dataset_id=body.dataset_id, name=body.name, - label=body.label, - description=body.description, + label=body.label or definition.label, + description=body.description or definition.description, definition_yaml=body.definition_yaml, - metric_type=body.metric_type, + metric_type=definition.type.upper(), + metadata_json=definition.meta, created_by=actor, ) @@ -83,62 +113,70 @@ async def list( workspace_id: uuid.UUID, *, dataset_id: uuid.UUID | None = None, + status: str | None = None, ) -> list[dict[str, Any]]: - """Return all metrics for a workspace.""" - return await self._repo.list_metrics(tenant_id, workspace_id, dataset_id=dataset_id) + """Return metrics for a workspace (optionally filtered by dataset/status).""" + return await self._repo.list_metrics(tenant_id, workspace_id, dataset_id=dataset_id, status=status) - async def get(self, metric_id: uuid.UUID) -> dict[str, Any] | None: + async def get( + self, tenant_id: str, workspace_id: uuid.UUID, metric_id: uuid.UUID + ) -> dict[str, Any] | None: """Fetch a single metric by id; returns None when not found.""" - return await self._repo.get_metric(metric_id) + return await self._repo.get_metric(metric_id, tenant_id=tenant_id, workspace_id=workspace_id) async def update( self, + tenant_id: str, + workspace_id: uuid.UUID, metric_id: uuid.UUID, body: SemanticMetricUpdate, *, actor: str = "user", ) -> dict[str, Any]: - """Sparse-update a metric; re-validates YAML if definition changes. - - :param metric_id: metric primary key - :param body: sparse update payload - :param actor: who is making the change - :return: updated metric dict - :raises MetricYamlError: if updated YAML fails validation - """ + """Sparse-update a metric; recompiles + re-publishes if it was PUBLISHED.""" + existing = await self._repo.get_metric(metric_id, tenant_id=tenant_id, workspace_id=workspace_id) + if existing is None: + raise KeyError(f"metric {metric_id} not found") + fields = body.model_dump(exclude_unset=True, exclude_none=True) if "definition_yaml" in fields: - validate_metric_yaml(fields["definition_yaml"]) + definition = validate_metric_yaml(fields["definition_yaml"]) + fields["metric_type"] = definition.type.upper() + fields["metadata_json"] = definition.meta + if existing["status"] == "PUBLISHED": + fields["compiled_sql_template"] = await self._compile( + definition, + tenant_id=tenant_id, + workspace_id=workspace_id, + dataset_id=existing["dataset_id"], + ) fields["created_by"] = actor - return await self._repo.update_metric(metric_id, **fields) - - async def publish(self, metric_id: uuid.UUID) -> dict[str, Any]: - """Validate, compile, and publish a metric. - - Compiles the current ``definition_yaml`` to a DuckDB SQL template - and persists it on the metric row before flipping status to PUBLISHED. + return await self._repo.update_metric( + metric_id, tenant_id=tenant_id, workspace_id=workspace_id, **fields + ) - :param metric_id: metric primary key - :return: published metric dict with ``compiled_sql_template`` set - :raises MetricYamlError: if the YAML is invalid at publish time - """ - metric = await self._repo.get_metric(metric_id) + async def publish(self, tenant_id: str, workspace_id: uuid.UUID, metric_id: uuid.UUID) -> dict[str, Any]: + """Validate, compile, firewall, and publish a metric.""" + metric = await self._repo.get_metric(metric_id, tenant_id=tenant_id, workspace_id=workspace_id) if metric is None: raise KeyError(f"metric {metric_id} not found") - validate_metric_yaml(metric["definition_yaml"]) - import yaml as _yaml - - compiled_sql = MetricFlowCompiler.compile(_yaml.safe_load(metric["definition_yaml"])) - return await self._repo.publish_metric(metric_id, compiled_sql) - - async def retire(self, metric_id: uuid.UUID) -> dict[str, Any]: - """Retire a metric (status → RETIRED). + definition = validate_metric_yaml(metric["definition_yaml"]) + compiled_sql = await self._compile( + definition, + tenant_id=tenant_id, + workspace_id=workspace_id, + dataset_id=metric["dataset_id"], + ) + return await self._repo.publish_metric( + metric_id, compiled_sql, tenant_id=tenant_id, workspace_id=workspace_id + ) - :param metric_id: metric primary key - :return: retired metric dict - """ - return await self._repo.retire_metric(metric_id) + async def retire(self, tenant_id: str, workspace_id: uuid.UUID, metric_id: uuid.UUID) -> dict[str, Any]: + """Retire a metric (status → RETIRED).""" + return await self._repo.retire_metric(metric_id, tenant_id=tenant_id, workspace_id=workspace_id) - async def list_history(self, metric_id: uuid.UUID) -> list[dict[str, Any]]: + async def list_history( + self, tenant_id: str, workspace_id: uuid.UUID, metric_id: uuid.UUID + ) -> list[dict[str, Any]]: """Return version history for a metric, oldest first.""" - return await self._repo.list_history(metric_id) + return await self._repo.list_history(metric_id, tenant_id=tenant_id, workspace_id=workspace_id) diff --git a/src/flyquery/core/services/semantic/yaml_schema.py b/src/flyquery/core/services/semantic/yaml_schema.py index edbf808..0aeaa75 100644 --- a/src/flyquery/core/services/semantic/yaml_schema.py +++ b/src/flyquery/core/services/semantic/yaml_schema.py @@ -12,77 +12,162 @@ # See the License for the specific language governing permissions and # limitations under the License. -"""MetricFlow YAML schema validator. +"""Nested MetricFlow YAML schema validators. -Validates a subset of the MetricFlow YAML format used by flyquery's -semantic layer. Raises ``MetricYamlError`` with field and line context -on validation failure. +Validates the MetricFlow-compatible metric and dimension definition +formats documented in ``docs/semantic-layer.md``. Metrics are nested +under a ``metric:`` root; dimensions under a ``dimension:`` root. + +Raises :class:`MetricYamlError` (a :class:`SemanticCompileError`) with +field context on validation failure. """ from __future__ import annotations +import re from typing import Literal import yaml -from pydantic import BaseModel, Field, ValidationError +from pydantic import BaseModel, Field, ValidationError, model_validator + +from flyquery.core.services.semantic.errors import MetricYamlError + +# Re-exported for callers that catch the alias by name. +__all__ = [ + "Agg", + "DimensionDefinition", + "MeasureSpec", + "MetricDefinition", + "MetricRef", + "MetricType", + "MetricTypeParams", + "MetricYamlError", + "validate_dimension_yaml", + "validate_metric_yaml", +] + +_NAME_RE = re.compile(r"^[A-Za-z_][A-Za-z0-9_]*$") + +Agg = Literal["sum", "count", "count_distinct", "avg", "min", "max"] +MetricType = Literal["simple", "ratio", "derived", "cumulative"] +DimensionType = Literal["categorical", "time"] + + +class MeasureSpec(BaseModel): + """A single aggregated measure (column + aggregation).""" + name: str + agg: Agg + expr: str | None = None -class JoinSpec(BaseModel): - """A single join specification: from_col → to_col.""" - from_: str = Field(alias="from") - to: str +class MetricRef(BaseModel): + """A reference to another metric (used by derived metrics).""" - model_config = {"populate_by_name": True} + name: str -class MetricYaml(BaseModel): - """Validated shape of a flyquery semantic-layer metric YAML.""" +class MetricTypeParams(BaseModel): + """Type-specific parameters; which fields apply depends on metric type.""" + + measure: MeasureSpec | None = None + filter: str | None = None + numerator: MeasureSpec | None = None + denominator: MeasureSpec | None = None + expr: str | None = None + metrics: list[MetricRef] = Field(default_factory=list) + window: int | None = None + grain: str | None = None + time_column: str | None = None + + +class MetricDefinition(BaseModel): + """Validated shape of a flyquery semantic-layer metric (``metric:`` root).""" name: str = Field(min_length=1, max_length=256) label: str | None = None description: str | None = None - metric_type: Literal["SIMPLE", "RATIO", "DERIVED", "CUMULATIVE"] = "SIMPLE" - agg: Literal["sum", "count", "avg", "min", "max"] - expr: str = Field(min_length=1) - joins: list[JoinSpec] = Field(default_factory=list) + type: MetricType = "simple" + type_params: MetricTypeParams group_by: list[str] = Field(default_factory=list) - filters: list[str] = Field(default_factory=list) + meta: dict = Field(default_factory=dict) + + @model_validator(mode="after") + def _check(self) -> MetricDefinition: + if not _NAME_RE.match(self.name): + raise ValueError("name must be alphanumeric + underscore only") + tp = self.type_params + if self.type == "simple" and tp.measure is None: + raise ValueError("simple metric requires type_params.measure") + if self.type == "ratio" and (tp.numerator is None or tp.denominator is None): + raise ValueError("ratio metric requires type_params.numerator and denominator") + if self.type == "derived" and (not tp.expr or not tp.metrics): + raise ValueError("derived metric requires type_params.expr and metrics") + if self.type == "cumulative" and ( + tp.measure is None or tp.window is None or not tp.grain or not tp.time_column + ): + raise ValueError("cumulative metric requires type_params.measure, window, grain, time_column") + return self + + +class DimensionDefinition(BaseModel): + """Validated shape of a flyquery semantic-layer dimension (``dimension:`` root).""" + name: str = Field(min_length=1, max_length=256) + label: str | None = None + description: str | None = None + type: DimensionType + expr: str = Field(min_length=1) + grain: str | None = None -class MetricYamlError(ValueError): - """Raised when metric YAML validation fails. + @model_validator(mode="after") + def _check(self) -> DimensionDefinition: + if not _NAME_RE.match(self.name): + raise ValueError("name must be alphanumeric + underscore only") + if self.type == "time" and not self.grain: + raise ValueError("time dimension requires a grain") + return self - Attributes: - field: name of the failing field (or None for top-level parse errors) - detail: human-readable description of what went wrong - """ - def __init__(self, detail: str, *, field: str | None = None) -> None: - self.field = field - self.detail = detail - super().__init__(f"MetricYamlError({field!r}): {detail}") +def _first_error(exc: ValidationError) -> MetricYamlError: + err = exc.errors()[0] + loc = ".".join(str(p) for p in err["loc"]) if err["loc"] else None + return MetricYamlError(err["msg"], field=loc) -def validate_metric_yaml(yaml_str: str) -> MetricYaml: - """Parse and validate a metric YAML string. +def validate_metric_yaml(yaml_str: str) -> MetricDefinition: + """Parse and validate a metric YAML string (``metric:`` root). - :param yaml_str: raw YAML content as a string - :return: a validated ``MetricYaml`` instance + :param yaml_str: raw YAML content + :return: a validated :class:`MetricDefinition` :raises MetricYamlError: on parse error or schema violation """ try: data = yaml.safe_load(yaml_str) except yaml.YAMLError as exc: raise MetricYamlError(str(exc)) from exc + if not isinstance(data, dict) or "metric" not in data: + raise MetricYamlError("YAML root must contain a 'metric' mapping") + try: + return MetricDefinition.model_validate(data["metric"]) + except ValidationError as exc: + raise _first_error(exc) from exc + - if not isinstance(data, dict): - raise MetricYamlError("YAML root must be a mapping") +def validate_dimension_yaml(yaml_str: str) -> DimensionDefinition: + """Parse and validate a dimension YAML string (``dimension:`` root). + :param yaml_str: raw YAML content + :return: a validated :class:`DimensionDefinition` + :raises MetricYamlError: on parse error or schema violation + """ + try: + data = yaml.safe_load(yaml_str) + except yaml.YAMLError as exc: + raise MetricYamlError(str(exc)) from exc + if not isinstance(data, dict) or "dimension" not in data: + raise MetricYamlError("YAML root must contain a 'dimension' mapping") try: - return MetricYaml.model_validate(data) + return DimensionDefinition.model_validate(data["dimension"]) except ValidationError as exc: - errors = exc.errors() - first = errors[0] - field = ".".join(str(p) for p in first["loc"]) if first["loc"] else None - raise MetricYamlError(first["msg"], field=field) from exc + raise _first_error(exc) from exc diff --git a/src/flyquery/interfaces/glossary.py b/src/flyquery/interfaces/glossary.py index f9933ff..ae19aee 100644 --- a/src/flyquery/interfaces/glossary.py +++ b/src/flyquery/interfaces/glossary.py @@ -29,20 +29,22 @@ class GlossaryTermCreate(BaseModel): term: str = Field(min_length=1, max_length=512) definition: str = Field(min_length=1) - synonyms_json: list[str] = Field(default_factory=list) - tags_json: list[str] = Field(default_factory=list) - related_columns_json: list[str] = Field(default_factory=list) - related_metrics_json: list[str] = Field(default_factory=list) + synonyms_json: list[str] = Field(default_factory=list, alias="synonyms") + tags_json: list[str] = Field(default_factory=list, alias="tags") + related_columns_json: list[str] = Field(default_factory=list, alias="related_columns") + related_metrics_json: list[str] = Field(default_factory=list, alias="related_metrics") class GlossaryTermUpdate(BaseModel): """Sparse-update payload for an existing glossary term.""" + model_config = ConfigDict(populate_by_name=True) + definition: str | None = None - synonyms_json: list[str] | None = None - tags_json: list[str] | None = None - related_columns_json: list[str] | None = None - related_metrics_json: list[str] | None = None + synonyms_json: list[str] | None = Field(default=None, alias="synonyms") + tags_json: list[str] | None = Field(default=None, alias="tags") + related_columns_json: list[str] | None = Field(default=None, alias="related_columns") + related_metrics_json: list[str] | None = Field(default=None, alias="related_metrics") class GlossaryTermRead(BaseModel): diff --git a/src/flyquery/interfaces/semantic.py b/src/flyquery/interfaces/semantic.py index 696a907..7c25eed 100644 --- a/src/flyquery/interfaces/semantic.py +++ b/src/flyquery/interfaces/semantic.py @@ -60,19 +60,27 @@ class SemanticMetricRead(BaseModel): metric_type: Literal["SIMPLE", "RATIO", "DERIVED", "CUMULATIVE"] status: Literal["DRAFT", "PUBLISHED", "RETIRED"] current_version: int + metadata_json: dict = Field(default_factory=dict) created_at: datetime updated_at: datetime class SemanticVersionRead(BaseModel): - """Read representation of a flyquery_semantic_versions row.""" + """Read representation of a flyquery_semantic_versions row. + + Field names follow the documented payload (``version_number``, + ``metric_id``); the underlying columns are ``version`` / ``parent_id`` + and are mapped via validation aliases. + """ + + model_config = ConfigDict(populate_by_name=True) id: uuid.UUID tenant_id: str workspace_id: uuid.UUID kind: str - parent_id: uuid.UUID - version: int + metric_id: uuid.UUID = Field(validation_alias="parent_id") + version_number: int = Field(validation_alias="version") definition_yaml: str compiled_sql_template: str | None created_by: str @@ -85,7 +93,11 @@ class SemanticVersionRead(BaseModel): class SemanticDimensionCreate(BaseModel): - """Payload for creating a new semantic dimension.""" + """Payload for creating a new semantic dimension. + + The dimension's ``type`` (categorical|time) is taken from the + ``definition_yaml`` body, not a separate request field. + """ model_config = ConfigDict(populate_by_name=True) @@ -94,7 +106,6 @@ class SemanticDimensionCreate(BaseModel): label: str | None = None description: str | None = None definition_yaml: str = Field(min_length=1) - metric_type: Literal["SIMPLE", "RATIO", "DERIVED", "CUMULATIVE"] = "SIMPLE" class SemanticDimensionUpdate(BaseModel): @@ -103,7 +114,6 @@ class SemanticDimensionUpdate(BaseModel): label: str | None = None description: str | None = None definition_yaml: str | None = None - metric_type: Literal["SIMPLE", "RATIO", "DERIVED", "CUMULATIVE"] | None = None class SemanticDimensionRead(BaseModel): @@ -118,8 +128,9 @@ class SemanticDimensionRead(BaseModel): description: str | None definition_yaml: str compiled_sql_template: str | None - metric_type: Literal["SIMPLE", "RATIO", "DERIVED", "CUMULATIVE"] + dimension_type: Literal["categorical", "time"] status: Literal["DRAFT", "PUBLISHED", "RETIRED"] current_version: int + metadata_json: dict = Field(default_factory=dict) created_at: datetime updated_at: datetime diff --git a/src/flyquery/main.py b/src/flyquery/main.py index 5761d71..a11ad3e 100644 --- a/src/flyquery/main.py +++ b/src/flyquery/main.py @@ -207,6 +207,17 @@ def _on_pyfly_validation(_request: _StarletteRequest, exc: Exception) -> _JSONRe app.add_exception_handler(_PyflyValidationException, _on_pyfly_validation) + +# flyquery-local: map the semantic layer's SemanticCompileError (raised by +# SemanticService on invalid/unsafe metric or dimension definitions) to the +# RFC 7807 400 ``semantic_compile_error`` envelope. Kept out of the +# lock-stepped conventions package because the semantic layer is +# flyquery-specific. +from flyquery.web.semantic_error_handler import ( # noqa: E402 + register_semantic_error_handler as _register_semantic_error_handler, +) + +_register_semantic_error_handler(app) # Bind the request-scoped TenantContext from headers BEFORE any route # (or DB session) runs. Pyfly's @rest_controller resolver bypasses # FastAPI Depends, so require_tenant_context never fires for pyfly diff --git a/src/flyquery/models/entities/semantic.py b/src/flyquery/models/entities/semantic.py index 18d9a5f..b859060 100644 --- a/src/flyquery/models/entities/semantic.py +++ b/src/flyquery/models/entities/semantic.py @@ -57,6 +57,7 @@ class SemanticMetric(Base): metric_type: Mapped[str] = mapped_column(String, nullable=False, server_default=text("'SIMPLE'")) status: Mapped[str] = mapped_column(String, nullable=False, server_default=text("'DRAFT'")) current_version: Mapped[int] = mapped_column(Integer, nullable=False, server_default=text("1")) + metadata_json: Mapped[dict] = mapped_column(JSONB, nullable=False, server_default=text("'{}'::jsonb")) created_at: Mapped[datetime] = mapped_column( TIMESTAMP(timezone=True), nullable=False, server_default=text("now()") ) @@ -73,6 +74,10 @@ class SemanticDimension(Base): "metric_type IN ('SIMPLE','RATIO','DERIVED','CUMULATIVE')", name="ck_flyquery_semantic_dimensions_type", ), + CheckConstraint( + "dimension_type IN ('categorical','time')", + name="ck_flyquery_semantic_dimensions_dimtype", + ), CheckConstraint( "status IN ('DRAFT','PUBLISHED','RETIRED')", name="ck_flyquery_semantic_dimensions_status" ), @@ -90,8 +95,10 @@ class SemanticDimension(Base): definition_yaml: Mapped[str] = mapped_column(String, nullable=False) compiled_sql_template: Mapped[str | None] = mapped_column(String, nullable=True) metric_type: Mapped[str] = mapped_column(String, nullable=False, server_default=text("'SIMPLE'")) + dimension_type: Mapped[str] = mapped_column(String, nullable=False, server_default=text("'categorical'")) status: Mapped[str] = mapped_column(String, nullable=False, server_default=text("'DRAFT'")) current_version: Mapped[int] = mapped_column(Integer, nullable=False, server_default=text("1")) + metadata_json: Mapped[dict] = mapped_column(JSONB, nullable=False, server_default=text("'{}'::jsonb")) created_at: Mapped[datetime] = mapped_column( TIMESTAMP(timezone=True), nullable=False, server_default=text("now()") ) diff --git a/src/flyquery/resources/prompts/grounding.yaml b/src/flyquery/resources/prompts/grounding.yaml index a8333e9..e2000b0 100644 --- a/src/flyquery/resources/prompts/grounding.yaml +++ b/src/flyquery/resources/prompts/grounding.yaml @@ -146,6 +146,8 @@ user: | # Task Produce the GroundedContext for this question. Pick the MINIMAL set of tables, columns, and joins. If a published metric covers - the question, set path=SEMANTIC_LAYER. Otherwise path=SYNTHESIS. - Set confidence ∈ [0,1] and only populate `missing_info` when - confidence is below 0.55. + the question, set path=SEMANTIC_LAYER and put that metric in + `metrics`. When a matching glossary term lists related metrics, + prefer routing to that metric via SEMANTIC_LAYER. Otherwise + path=SYNTHESIS. Set confidence ∈ [0,1] and only populate + `missing_info` when confidence is below 0.55. diff --git a/src/flyquery/web/controllers/agent/glossary_controller.py b/src/flyquery/web/controllers/agent/glossary_controller.py new file mode 100644 index 0000000..e3cbe15 --- /dev/null +++ b/src/flyquery/web/controllers/agent/glossary_controller.py @@ -0,0 +1,140 @@ +# Copyright 2024-2026 Firefly Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Agent-tier glossary controller. + +``/api/v1/agent/glossary`` — mirror of the user-tier glossary surface, gated +by ``flyquery.semantic:author`` (writes) / ``flyquery.semantic:read`` (reads). +""" + +from __future__ import annotations + +import uuid + +from pyfly.container import rest_controller +from pyfly.web import ( + Body, + PathVar, + QueryParam, + Valid, + delete_mapping, + get_mapping, + post_mapping, + put_mapping, + request_mapping, +) +from starlette.requests import Request +from starlette.responses import Response + +from flyquery.core.services.auth.agent_token_service import AgentTokenService +from flyquery.core.services.glossary.glossary_service import GlossaryService +from flyquery.interfaces.glossary import ( + GlossaryTermCreate, + GlossaryTermRead, + GlossaryTermUpdate, +) +from flyquery.interfaces.pagination import Paginated +from flyquery.web.conventions import ( + HEADER_AGENT_TOKEN, + FireflyHTTPException, + ResourceNotFound, + tenant_context_from_request, +) + +_SCOPE_AUTHOR = "flyquery.semantic:author" +_SCOPE_READ = "flyquery.semantic:read" + + +class MissingAgentToken(FireflyHTTPException): + status = 401 + code = "missing_agent_token" + title = "Missing X-Agent-Token header" + + +@rest_controller +@request_mapping("/api/v1/agent/glossary") +class AgentGlossaryController: + """Agent-tier mirror of ``/api/v1/glossary``.""" + + def __init__( + self, + service: GlossaryService, + agent_token_service: AgentTokenService, + ) -> None: + self._service = service + self._token_service = agent_token_service + + async def _verify(self, http_request: Request, scope: str) -> None: + token = http_request.headers.get(HEADER_AGENT_TOKEN) + if not token: + raise MissingAgentToken("X-Agent-Token header is required for /api/v1/agent/* routes.") + ctx = tenant_context_from_request(http_request) + await self._token_service.verify( + token, tenant_id=ctx.tenant_id, workspace_id=ctx.workspace_id, scope=scope + ) + + @post_mapping("", status_code=201) + async def create(self, http_request: Request, body: Valid[Body[GlossaryTermCreate]]) -> GlossaryTermRead: + """Create a glossary term (agent-tier).""" + await self._verify(http_request, _SCOPE_AUTHOR) + ctx = tenant_context_from_request(http_request) + ws = uuid.UUID(str(ctx.workspace_id)) + row = await self._service.create(ctx.tenant_id, ws, body) + return GlossaryTermRead.model_validate(row) + + @get_mapping("") + async def list_terms( + self, + http_request: Request, + limit: QueryParam[int] = 100, + offset: QueryParam[int] = 0, + ) -> Paginated[GlossaryTermRead]: + """List glossary terms for the caller's workspace (agent-tier).""" + await self._verify(http_request, _SCOPE_READ) + ctx = tenant_context_from_request(http_request) + ws = uuid.UUID(str(ctx.workspace_id)) + rows = await self._service.list(ctx.tenant_id, ws, limit=limit, offset=offset) + items = [GlossaryTermRead.model_validate(r) for r in rows] + return Paginated.of(items, limit=limit, offset=offset) + + @get_mapping("/{term_id}") + async def get_term(self, http_request: Request, term_id: PathVar[uuid.UUID]) -> GlossaryTermRead: + """Fetch a single glossary term (agent-tier).""" + await self._verify(http_request, _SCOPE_READ) + row = await self._service.get(term_id) + if row is None: + raise ResourceNotFound(f"glossary term {term_id!r} not found") + return GlossaryTermRead.model_validate(row) + + @put_mapping("/{term_id}") + async def update( + self, + http_request: Request, + term_id: PathVar[uuid.UUID], + body: Valid[Body[GlossaryTermUpdate]], + ) -> GlossaryTermRead: + """Sparse-update a glossary term (agent-tier).""" + await self._verify(http_request, _SCOPE_AUTHOR) + row = await self._service.update(term_id, body) + return GlossaryTermRead.model_validate(row) + + @delete_mapping("/{term_id}", status_code=204) + async def delete(self, http_request: Request, term_id: PathVar[uuid.UUID]) -> Response: + """Hard-delete a glossary term (agent-tier).""" + await self._verify(http_request, _SCOPE_AUTHOR) + term = await self._service.get(term_id) + if term is None: + raise ResourceNotFound(f"glossary term {term_id!r} not found") + await self._service.delete(term_id) + return Response(status_code=204) diff --git a/src/flyquery/web/controllers/agent/query_controller.py b/src/flyquery/web/controllers/agent/query_controller.py index 994bdb3..0e4f266 100644 --- a/src/flyquery/web/controllers/agent/query_controller.py +++ b/src/flyquery/web/controllers/agent/query_controller.py @@ -57,6 +57,7 @@ from flyquery.core.services.retrieval.hybrid_retriever import HybridRetriever from flyquery.core.services.retrieval.reranker import build_reranker from flyquery.core.services.retrieval.search_index import SearchIndex +from flyquery.core.services.semantic.semantic_repository import SemanticRepository from flyquery.core.services.storage.object_store import ObjectStore from flyquery.interfaces.query import ( AnswerResponse, @@ -121,11 +122,13 @@ def __init__( embedder: Embedder, agent_token_service: AgentTokenService, idempotency_store: IdempotencyStore, + semantic_repository: SemanticRepository, ) -> None: self._settings = settings self._session_factory = session self._object_store = object_store self._query_repo = query_repository + self._semantic_repo = semantic_repository self._conversation_service = conversation_service self._examples_service = examples_service self._embedder = embedder @@ -182,6 +185,7 @@ def _build_service(self, db_session: AsyncSession) -> QueryService: result_uploader=uploader, auto_learner=auto_learner, conversation_service=self._conversation_service, + semantic_repo=self._semantic_repo, ) # ------------------------------------------------------------------ diff --git a/src/flyquery/web/controllers/agent/semantic_dimensions_controller.py b/src/flyquery/web/controllers/agent/semantic_dimensions_controller.py new file mode 100644 index 0000000..aa5de9d --- /dev/null +++ b/src/flyquery/web/controllers/agent/semantic_dimensions_controller.py @@ -0,0 +1,170 @@ +# Copyright 2024-2026 Firefly Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Agent-tier semantic dimensions controller. + +``/api/v1/agent/semantic/dimensions`` — mirror of the user-tier dimensions +surface, gated by ``flyquery.semantic:author`` (writes) / +``flyquery.semantic:read`` (reads). +""" + +from __future__ import annotations + +import uuid + +from pyfly.container import rest_controller +from pyfly.web import ( + Body, + PathVar, + QueryParam, + Valid, + get_mapping, + post_mapping, + put_mapping, + request_mapping, +) +from starlette.requests import Request + +from flyquery.core.services.auth.agent_token_service import AgentTokenService +from flyquery.core.services.semantic.semantic_dimensions_service import ( + SemanticDimensionsService, +) +from flyquery.interfaces.pagination import Paginated +from flyquery.interfaces.semantic import ( + SemanticDimensionCreate, + SemanticDimensionRead, + SemanticDimensionUpdate, + SemanticVersionRead, +) +from flyquery.web.conventions import ( + HEADER_AGENT_TOKEN, + FireflyHTTPException, + ResourceNotFound, + tenant_context_from_request, +) + +_SCOPE_AUTHOR = "flyquery.semantic:author" +_SCOPE_READ = "flyquery.semantic:read" + + +class MissingAgentToken(FireflyHTTPException): + status = 401 + code = "missing_agent_token" + title = "Missing X-Agent-Token header" + + +@rest_controller +@request_mapping("/api/v1/agent/semantic/dimensions") +class AgentSemanticDimensionsController: + """Agent-tier mirror of ``/api/v1/semantic/dimensions``.""" + + def __init__( + self, + service: SemanticDimensionsService, + agent_token_service: AgentTokenService, + ) -> None: + self._service = service + self._token_service = agent_token_service + + async def _verify(self, http_request: Request, scope: str) -> None: + token = http_request.headers.get(HEADER_AGENT_TOKEN) + if not token: + raise MissingAgentToken("X-Agent-Token header is required for /api/v1/agent/* routes.") + ctx = tenant_context_from_request(http_request) + await self._token_service.verify( + token, tenant_id=ctx.tenant_id, workspace_id=ctx.workspace_id, scope=scope + ) + + @post_mapping("", status_code=201) + async def create( + self, http_request: Request, body: Valid[Body[SemanticDimensionCreate]] + ) -> SemanticDimensionRead: + """Create a dimension in DRAFT (agent-tier).""" + await self._verify(http_request, _SCOPE_AUTHOR) + ctx = tenant_context_from_request(http_request) + ws = uuid.UUID(str(ctx.workspace_id)) + row = await self._service.create(ctx.tenant_id, ws, body, actor=ctx.actor or "agent") + return SemanticDimensionRead.model_validate(row) + + @get_mapping("") + async def list_dimensions( + self, + http_request: Request, + dataset_id: QueryParam[uuid.UUID] = None, + status: QueryParam[str] = None, + limit: QueryParam[int] = 100, + offset: QueryParam[int] = 0, + ) -> Paginated[SemanticDimensionRead]: + """List dimensions for the caller's workspace (agent-tier).""" + await self._verify(http_request, _SCOPE_READ) + ctx = tenant_context_from_request(http_request) + ws = uuid.UUID(str(ctx.workspace_id)) + rows = await self._service.list(ctx.tenant_id, ws, dataset_id=dataset_id, status=status) + items = [SemanticDimensionRead.model_validate(r) for r in rows] + sliced = items[offset : offset + limit] + return Paginated.of(sliced, total=len(items), limit=limit, offset=offset) + + @get_mapping("/{dimension_id}") + async def get_dimension( + self, http_request: Request, dimension_id: PathVar[uuid.UUID] + ) -> SemanticDimensionRead: + """Fetch a single dimension (agent-tier).""" + await self._verify(http_request, _SCOPE_READ) + ctx = tenant_context_from_request(http_request) + row = await self._service.get(ctx.tenant_id, uuid.UUID(str(ctx.workspace_id)), dimension_id) + if row is None: + raise ResourceNotFound(f"dimension {dimension_id!r} not found") + return SemanticDimensionRead.model_validate(row) + + @put_mapping("/{dimension_id}") + async def update( + self, + http_request: Request, + dimension_id: PathVar[uuid.UUID], + body: Valid[Body[SemanticDimensionUpdate]], + ) -> SemanticDimensionRead: + """Sparse-update a dimension (agent-tier).""" + await self._verify(http_request, _SCOPE_AUTHOR) + ctx = tenant_context_from_request(http_request) + row = await self._service.update( + ctx.tenant_id, uuid.UUID(str(ctx.workspace_id)), dimension_id, body, actor=ctx.actor or "agent" + ) + return SemanticDimensionRead.model_validate(row) + + @post_mapping("/{dimension_id}:publish") + async def publish(self, http_request: Request, dimension_id: PathVar[uuid.UUID]) -> SemanticDimensionRead: + """Publish a dimension (agent-tier).""" + await self._verify(http_request, _SCOPE_AUTHOR) + ctx = tenant_context_from_request(http_request) + row = await self._service.publish(ctx.tenant_id, uuid.UUID(str(ctx.workspace_id)), dimension_id) + return SemanticDimensionRead.model_validate(row) + + @post_mapping("/{dimension_id}:retire") + async def retire(self, http_request: Request, dimension_id: PathVar[uuid.UUID]) -> SemanticDimensionRead: + """Retire a dimension (agent-tier).""" + await self._verify(http_request, _SCOPE_AUTHOR) + ctx = tenant_context_from_request(http_request) + row = await self._service.retire(ctx.tenant_id, uuid.UUID(str(ctx.workspace_id)), dimension_id) + return SemanticDimensionRead.model_validate(row) + + @get_mapping("/{dimension_id}/history") + async def history( + self, http_request: Request, dimension_id: PathVar[uuid.UUID] + ) -> Paginated[SemanticVersionRead]: + """Return version history for a dimension (agent-tier).""" + await self._verify(http_request, _SCOPE_READ) + ctx = tenant_context_from_request(http_request) + rows = await self._service.list_history(ctx.tenant_id, uuid.UUID(str(ctx.workspace_id)), dimension_id) + items = [SemanticVersionRead.model_validate(r) for r in rows] + return Paginated.of(items, total=len(items)) diff --git a/src/flyquery/web/controllers/agent/semantic_metrics_controller.py b/src/flyquery/web/controllers/agent/semantic_metrics_controller.py new file mode 100644 index 0000000..967ec7b --- /dev/null +++ b/src/flyquery/web/controllers/agent/semantic_metrics_controller.py @@ -0,0 +1,168 @@ +# Copyright 2024-2026 Firefly Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Agent-tier semantic metrics controller. + +``/api/v1/agent/semantic/metrics`` — mirror of the user-tier metrics surface, +gated by agent token scopes: + +* writes (create/update/publish/retire) — ``flyquery.semantic:author`` +* reads (list/get/history) — ``flyquery.semantic:read`` +""" + +from __future__ import annotations + +import uuid + +from pyfly.container import rest_controller +from pyfly.web import ( + Body, + PathVar, + QueryParam, + Valid, + get_mapping, + post_mapping, + put_mapping, + request_mapping, +) +from starlette.requests import Request + +from flyquery.core.services.auth.agent_token_service import AgentTokenService +from flyquery.core.services.semantic.semantic_service import SemanticService +from flyquery.interfaces.pagination import Paginated +from flyquery.interfaces.semantic import ( + SemanticMetricCreate, + SemanticMetricRead, + SemanticMetricUpdate, + SemanticVersionRead, +) +from flyquery.web.conventions import ( + HEADER_AGENT_TOKEN, + FireflyHTTPException, + ResourceNotFound, + tenant_context_from_request, +) + +_SCOPE_AUTHOR = "flyquery.semantic:author" +_SCOPE_READ = "flyquery.semantic:read" + + +class MissingAgentToken(FireflyHTTPException): + status = 401 + code = "missing_agent_token" + title = "Missing X-Agent-Token header" + + +@rest_controller +@request_mapping("/api/v1/agent/semantic/metrics") +class AgentSemanticMetricsController: + """Agent-tier mirror of ``/api/v1/semantic/metrics``.""" + + def __init__( + self, + service: SemanticService, + agent_token_service: AgentTokenService, + ) -> None: + self._service = service + self._token_service = agent_token_service + + async def _verify(self, http_request: Request, scope: str) -> None: + token = http_request.headers.get(HEADER_AGENT_TOKEN) + if not token: + raise MissingAgentToken("X-Agent-Token header is required for /api/v1/agent/* routes.") + ctx = tenant_context_from_request(http_request) + await self._token_service.verify( + token, tenant_id=ctx.tenant_id, workspace_id=ctx.workspace_id, scope=scope + ) + + @post_mapping("", status_code=201) + async def create( + self, http_request: Request, body: Valid[Body[SemanticMetricCreate]] + ) -> SemanticMetricRead: + """Create a metric in DRAFT (agent-tier).""" + await self._verify(http_request, _SCOPE_AUTHOR) + ctx = tenant_context_from_request(http_request) + ws = uuid.UUID(str(ctx.workspace_id)) + row = await self._service.create(ctx.tenant_id, ws, body, actor=ctx.actor or "agent") + return SemanticMetricRead.model_validate(row) + + @get_mapping("") + async def list_metrics( + self, + http_request: Request, + dataset_id: QueryParam[uuid.UUID] = None, + status: QueryParam[str] = None, + limit: QueryParam[int] = 100, + offset: QueryParam[int] = 0, + ) -> Paginated[SemanticMetricRead]: + """List metrics for the caller's workspace (agent-tier).""" + await self._verify(http_request, _SCOPE_READ) + ctx = tenant_context_from_request(http_request) + ws = uuid.UUID(str(ctx.workspace_id)) + rows = await self._service.list(ctx.tenant_id, ws, dataset_id=dataset_id, status=status) + items = [SemanticMetricRead.model_validate(r) for r in rows] + sliced = items[offset : offset + limit] + return Paginated.of(sliced, total=len(items), limit=limit, offset=offset) + + @get_mapping("/{metric_id}") + async def get_metric(self, http_request: Request, metric_id: PathVar[uuid.UUID]) -> SemanticMetricRead: + """Fetch a single metric (agent-tier).""" + await self._verify(http_request, _SCOPE_READ) + ctx = tenant_context_from_request(http_request) + row = await self._service.get(ctx.tenant_id, uuid.UUID(str(ctx.workspace_id)), metric_id) + if row is None: + raise ResourceNotFound(f"metric {metric_id!r} not found") + return SemanticMetricRead.model_validate(row) + + @put_mapping("/{metric_id}") + async def update( + self, + http_request: Request, + metric_id: PathVar[uuid.UUID], + body: Valid[Body[SemanticMetricUpdate]], + ) -> SemanticMetricRead: + """Sparse-update a metric (agent-tier).""" + await self._verify(http_request, _SCOPE_AUTHOR) + ctx = tenant_context_from_request(http_request) + row = await self._service.update( + ctx.tenant_id, uuid.UUID(str(ctx.workspace_id)), metric_id, body, actor=ctx.actor or "agent" + ) + return SemanticMetricRead.model_validate(row) + + @post_mapping("/{metric_id}:publish") + async def publish(self, http_request: Request, metric_id: PathVar[uuid.UUID]) -> SemanticMetricRead: + """Publish a metric (agent-tier).""" + await self._verify(http_request, _SCOPE_AUTHOR) + ctx = tenant_context_from_request(http_request) + row = await self._service.publish(ctx.tenant_id, uuid.UUID(str(ctx.workspace_id)), metric_id) + return SemanticMetricRead.model_validate(row) + + @post_mapping("/{metric_id}:retire") + async def retire(self, http_request: Request, metric_id: PathVar[uuid.UUID]) -> SemanticMetricRead: + """Retire a metric (agent-tier).""" + await self._verify(http_request, _SCOPE_AUTHOR) + ctx = tenant_context_from_request(http_request) + row = await self._service.retire(ctx.tenant_id, uuid.UUID(str(ctx.workspace_id)), metric_id) + return SemanticMetricRead.model_validate(row) + + @get_mapping("/{metric_id}/history") + async def history( + self, http_request: Request, metric_id: PathVar[uuid.UUID] + ) -> Paginated[SemanticVersionRead]: + """Return version history for a metric (agent-tier).""" + await self._verify(http_request, _SCOPE_READ) + ctx = tenant_context_from_request(http_request) + rows = await self._service.list_history(ctx.tenant_id, uuid.UUID(str(ctx.workspace_id)), metric_id) + items = [SemanticVersionRead.model_validate(r) for r in rows] + return Paginated.of(items, total=len(items)) diff --git a/src/flyquery/web/controllers/conversations_controller.py b/src/flyquery/web/controllers/conversations_controller.py index 0840231..81c1c2a 100644 --- a/src/flyquery/web/controllers/conversations_controller.py +++ b/src/flyquery/web/controllers/conversations_controller.py @@ -51,6 +51,7 @@ from flyquery.core.services.retrieval.hybrid_retriever import HybridRetriever from flyquery.core.services.retrieval.reranker import build_reranker from flyquery.core.services.retrieval.search_index import SearchIndex +from flyquery.core.services.semantic.semantic_repository import SemanticRepository from flyquery.core.services.storage.object_store import ObjectStore from flyquery.interfaces.conversations import ( ConversationCreate, @@ -100,11 +101,13 @@ def __init__( session: async_sessionmaker[AsyncSession], object_store: ObjectStore, query_repository: QueryRepository, + semantic_repository: SemanticRepository, conversation_service: ConversationService, examples_service: ExamplesService, embedder: Embedder, ) -> None: self._settings = settings + self._semantic_repo = semantic_repository self._session_factory = session self._object_store = object_store self._query_repo = query_repository @@ -149,6 +152,7 @@ def _build_query_service(self, db_session: AsyncSession) -> QueryService: result_uploader=uploader, auto_learner=auto_learner, conversation_service=self._conversation_service, + semantic_repo=self._semantic_repo, ) # ------------------------------------------------------------------ diff --git a/src/flyquery/web/controllers/query_controller.py b/src/flyquery/web/controllers/query_controller.py index 55b5dec..93169d6 100644 --- a/src/flyquery/web/controllers/query_controller.py +++ b/src/flyquery/web/controllers/query_controller.py @@ -57,6 +57,7 @@ from flyquery.core.services.retrieval.hybrid_retriever import HybridRetriever from flyquery.core.services.retrieval.reranker import build_reranker from flyquery.core.services.retrieval.search_index import SearchIndex +from flyquery.core.services.semantic.semantic_repository import SemanticRepository from flyquery.core.services.storage.object_store import ObjectStore from flyquery.interfaces.query import ( AnswerResponse, @@ -111,6 +112,7 @@ def __init__( session: async_sessionmaker[AsyncSession], object_store: ObjectStore, query_repository: QueryRepository, + semantic_repository: SemanticRepository, examples_service: ExamplesService, embedder: Embedder, idempotency_store: IdempotencyStore, @@ -119,6 +121,7 @@ def __init__( self._session_factory = session self._object_store = object_store self._query_repo = query_repository + self._semantic_repo = semantic_repository self._examples_service = examples_service self._embedder = embedder self._idempotency_store = idempotency_store @@ -165,6 +168,7 @@ def _build_service(self, db_session: AsyncSession) -> QueryService: settings=self._settings, result_uploader=uploader, auto_learner=auto_learner, + semantic_repo=self._semantic_repo, ) # ------------------------------------------------------------------ diff --git a/src/flyquery/web/controllers/semantic_dimensions_controller.py b/src/flyquery/web/controllers/semantic_dimensions_controller.py index 09386b0..6a43533 100644 --- a/src/flyquery/web/controllers/semantic_dimensions_controller.py +++ b/src/flyquery/web/controllers/semantic_dimensions_controller.py @@ -81,21 +81,25 @@ async def list_dimensions( self, http_request: Request, dataset_id: QueryParam[uuid.UUID] = None, + status: QueryParam[str] = None, limit: QueryParam[int] = 100, offset: QueryParam[int] = 0, ) -> Paginated[SemanticDimensionRead]: - """List all semantic dimensions for the caller's workspace.""" + """List semantic dimensions for the caller's workspace (optional status filter).""" ctx = tenant_context_from_request(http_request) ws = uuid.UUID(ctx.workspace_id) - rows = await self._service.list(ctx.tenant_id, ws, dataset_id=dataset_id) + rows = await self._service.list(ctx.tenant_id, ws, dataset_id=dataset_id, status=status) items = [SemanticDimensionRead.model_validate(r) for r in rows] sliced = items[offset : offset + limit] return Paginated.of(sliced, total=len(items), limit=limit, offset=offset) @get_mapping("/{dimension_id}") - async def get_dimension(self, dimension_id: PathVar[uuid.UUID]) -> SemanticDimensionRead: + async def get_dimension( + self, http_request: Request, dimension_id: PathVar[uuid.UUID] + ) -> SemanticDimensionRead: """Fetch a single semantic dimension by id.""" - row = await self._service.get(dimension_id) + ctx = tenant_context_from_request(http_request) + row = await self._service.get(ctx.tenant_id, uuid.UUID(ctx.workspace_id), dimension_id) if row is None: raise ResourceNotFound(f"dimension {dimension_id!r} not found") return SemanticDimensionRead.model_validate(row) @@ -103,28 +107,35 @@ async def get_dimension(self, dimension_id: PathVar[uuid.UUID]) -> SemanticDimen @put_mapping("/{dimension_id}") async def update( self, + http_request: Request, dimension_id: PathVar[uuid.UUID], body: Valid[Body[SemanticDimensionUpdate]], ) -> SemanticDimensionRead: - """Sparse-update a dimension; re-validates YAML if definition changes.""" - row = await self._service.update(dimension_id, body) + """Sparse-update a dimension; re-validates + recompiles if published.""" + ctx = tenant_context_from_request(http_request) + row = await self._service.update(ctx.tenant_id, uuid.UUID(ctx.workspace_id), dimension_id, body) return SemanticDimensionRead.model_validate(row) @post_mapping("/{dimension_id}:publish") - async def publish(self, dimension_id: PathVar[uuid.UUID]) -> SemanticDimensionRead: + async def publish(self, http_request: Request, dimension_id: PathVar[uuid.UUID]) -> SemanticDimensionRead: """Validate, compile, and publish a dimension (status → PUBLISHED).""" - row = await self._service.publish(dimension_id) + ctx = tenant_context_from_request(http_request) + row = await self._service.publish(ctx.tenant_id, uuid.UUID(ctx.workspace_id), dimension_id) return SemanticDimensionRead.model_validate(row) @post_mapping("/{dimension_id}:retire") - async def retire(self, dimension_id: PathVar[uuid.UUID]) -> SemanticDimensionRead: + async def retire(self, http_request: Request, dimension_id: PathVar[uuid.UUID]) -> SemanticDimensionRead: """Retire a dimension (status → RETIRED).""" - row = await self._service.retire(dimension_id) + ctx = tenant_context_from_request(http_request) + row = await self._service.retire(ctx.tenant_id, uuid.UUID(ctx.workspace_id), dimension_id) return SemanticDimensionRead.model_validate(row) @get_mapping("/{dimension_id}/history") - async def history(self, dimension_id: PathVar[uuid.UUID]) -> Paginated[SemanticVersionRead]: + async def history( + self, http_request: Request, dimension_id: PathVar[uuid.UUID] + ) -> Paginated[SemanticVersionRead]: """Return version history for a dimension, oldest first.""" - rows = await self._service.list_history(dimension_id) + ctx = tenant_context_from_request(http_request) + rows = await self._service.list_history(ctx.tenant_id, uuid.UUID(ctx.workspace_id), dimension_id) items = [SemanticVersionRead.model_validate(r) for r in rows] return Paginated.of(items, total=len(items)) diff --git a/src/flyquery/web/controllers/semantic_metrics_controller.py b/src/flyquery/web/controllers/semantic_metrics_controller.py index 97a9186..536e099 100644 --- a/src/flyquery/web/controllers/semantic_metrics_controller.py +++ b/src/flyquery/web/controllers/semantic_metrics_controller.py @@ -79,21 +79,23 @@ async def list_metrics( self, http_request: Request, dataset_id: QueryParam[uuid.UUID] = None, + status: QueryParam[str] = None, limit: QueryParam[int] = 100, offset: QueryParam[int] = 0, ) -> Paginated[SemanticMetricRead]: - """List all semantic metrics for the caller's workspace.""" + """List semantic metrics for the caller's workspace (optional status filter).""" ctx = tenant_context_from_request(http_request) ws = uuid.UUID(ctx.workspace_id) - rows = await self._service.list(ctx.tenant_id, ws, dataset_id=dataset_id) + rows = await self._service.list(ctx.tenant_id, ws, dataset_id=dataset_id, status=status) items = [SemanticMetricRead.model_validate(r) for r in rows] sliced = items[offset : offset + limit] return Paginated.of(sliced, total=len(items), limit=limit, offset=offset) @get_mapping("/{metric_id}") - async def get_metric(self, metric_id: PathVar[uuid.UUID]) -> SemanticMetricRead: + async def get_metric(self, http_request: Request, metric_id: PathVar[uuid.UUID]) -> SemanticMetricRead: """Fetch a single semantic metric by id.""" - row = await self._service.get(metric_id) + ctx = tenant_context_from_request(http_request) + row = await self._service.get(ctx.tenant_id, uuid.UUID(ctx.workspace_id), metric_id) if row is None: raise ResourceNotFound(f"metric {metric_id!r} not found") return SemanticMetricRead.model_validate(row) @@ -101,33 +103,40 @@ async def get_metric(self, metric_id: PathVar[uuid.UUID]) -> SemanticMetricRead: @put_mapping("/{metric_id}") async def update( self, + http_request: Request, metric_id: PathVar[uuid.UUID], body: Valid[Body[SemanticMetricUpdate]], ) -> SemanticMetricRead: - """Sparse-update a metric; re-validates YAML if definition changes.""" - row = await self._service.update(metric_id, body) + """Sparse-update a metric; re-validates + recompiles if published.""" + ctx = tenant_context_from_request(http_request) + row = await self._service.update(ctx.tenant_id, uuid.UUID(ctx.workspace_id), metric_id, body) return SemanticMetricRead.model_validate(row) @post_mapping("/{metric_id}:publish") - async def publish(self, metric_id: PathVar[uuid.UUID]) -> SemanticMetricRead: + async def publish(self, http_request: Request, metric_id: PathVar[uuid.UUID]) -> SemanticMetricRead: """Validate, compile, and publish a metric (status → PUBLISHED).""" - row = await self._service.publish(metric_id) + ctx = tenant_context_from_request(http_request) + row = await self._service.publish(ctx.tenant_id, uuid.UUID(ctx.workspace_id), metric_id) return SemanticMetricRead.model_validate(row) @post_mapping("/{metric_id}:retire") - async def retire(self, metric_id: PathVar[uuid.UUID]) -> SemanticMetricRead: + async def retire(self, http_request: Request, metric_id: PathVar[uuid.UUID]) -> SemanticMetricRead: """Retire a metric (status → RETIRED).""" - row = await self._service.retire(metric_id) + ctx = tenant_context_from_request(http_request) + row = await self._service.retire(ctx.tenant_id, uuid.UUID(ctx.workspace_id), metric_id) return SemanticMetricRead.model_validate(row) @get_mapping("/{metric_id}/history") - async def history(self, metric_id: PathVar[uuid.UUID]) -> Paginated[SemanticVersionRead]: + async def history( + self, http_request: Request, metric_id: PathVar[uuid.UUID] + ) -> Paginated[SemanticVersionRead]: """Return version history for a metric, oldest first. History is intentionally returned in full -- versions are bounded per metric (typically < 50) and chronology is the consumer's whole point. ``total = len(items)`` and ``has_more = False``. """ - rows = await self._service.list_history(metric_id) + ctx = tenant_context_from_request(http_request) + rows = await self._service.list_history(ctx.tenant_id, uuid.UUID(ctx.workspace_id), metric_id) items = [SemanticVersionRead.model_validate(r) for r in rows] return Paginated.of(items, total=len(items)) diff --git a/src/flyquery/web/semantic_error_handler.py b/src/flyquery/web/semantic_error_handler.py new file mode 100644 index 0000000..3118918 --- /dev/null +++ b/src/flyquery/web/semantic_error_handler.py @@ -0,0 +1,58 @@ +# Copyright 2024-2026 Firefly Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""flyquery-local handler mapping ``SemanticCompileError`` to RFC 7807 400. + +The semantic layer is flyquery-specific, so this handler lives outside the +lock-stepped ``web/conventions`` package (which must stay byte-identical +across canon/radar/flyquery). It is registered from ``flyquery.main`` right +after the shared conventions handler table. +""" + +from __future__ import annotations + +from fastapi import FastAPI +from fastapi.responses import JSONResponse +from starlette.requests import Request + +from flyquery.core.services.semantic.errors import SemanticCompileError +from flyquery.web.conventions.errors import ProblemDetail + +_MEDIA_TYPE = "application/problem+json" +_TYPE_URI = "https://firefly.dev/problems/semantic_compile_error" + + +async def _on_semantic_compile(request: Request, exc: Exception) -> JSONResponse: + """Render a :class:`SemanticCompileError` as the canonical 400 envelope.""" + assert isinstance(exc, SemanticCompileError) + errors = [{"code": exc.code, "path": exc.field, "message": exc.detail}] if exc.field else [] + problem = ProblemDetail( + type=_TYPE_URI, + code="semantic_compile_error", + title="Semantic compile error", + status=400, + detail=exc.detail, + instance=str(request.url.path), + errors=errors, + ) + return JSONResponse( + status_code=400, + content=problem.model_dump(mode="json"), + media_type=_MEDIA_TYPE, + ) + + +def register_semantic_error_handler(app: FastAPI) -> None: + """Register the semantic-compile-error → 400 handler on ``app``.""" + app.add_exception_handler(SemanticCompileError, _on_semantic_compile) diff --git a/tests/integration/test_metricflow_compiler.py b/tests/integration/test_metricflow_compiler.py index 70197f5..47f5353 100644 --- a/tests/integration/test_metricflow_compiler.py +++ b/tests/integration/test_metricflow_compiler.py @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -"""Integration tests for MetricFlowCompiler + SemanticService (publish path).""" +"""Integration tests for SemanticCompiler + SemanticService (publish path).""" from __future__ import annotations @@ -23,17 +23,18 @@ from sqlalchemy.ext.asyncio import async_sessionmaker, create_async_engine SIMPLE_METRIC_YAML = """ -name: revenue_by_region -label: Revenue by Region -description: Total order revenue by region -metric_type: SIMPLE -agg: sum -expr: orders.total -joins: - - from: orders.customer_id - to: customers.customer_id -group_by: - - customers.region +metric: + name: revenue_by_region + label: Revenue by Region + description: Total order revenue by region + type: simple + type_params: + measure: {name: total, agg: sum, expr: orders.total} + filter: "orders.status = 'COMPLETED'" + group_by: + - orders.region + meta: + owner: finance """ @@ -45,6 +46,9 @@ async def test_publish_sets_compiled_sql(started_app: None) -> None: # noqa: AR import sqlglot + from flyquery.core.services.semantic.semantic_dimensions_repository import ( + SemanticDimensionsRepository, + ) from flyquery.core.services.semantic.semantic_repository import SemanticRepository from flyquery.core.services.semantic.semantic_service import SemanticService from flyquery.interfaces.semantic import SemanticMetricCreate @@ -82,7 +86,8 @@ async def test_publish_sets_compiled_sql(started_app: None) -> None: # noqa: AR # bypass RLS in tests (mirrors how the HTTP layer sets tenant GUCs before inserts). admin_factory2 = async_sessionmaker(create_async_engine(admin_url), expire_on_commit=False) repo = SemanticRepository(admin_factory2) - svc = SemanticService(repo) + dim_repo = SemanticDimensionsRepository(admin_factory2) + svc = SemanticService(repo, dim_repo) # Create metric metric = await svc.create( @@ -96,20 +101,26 @@ async def test_publish_sets_compiled_sql(started_app: None) -> None: # noqa: AR ) assert metric["status"] == "DRAFT" assert metric["compiled_sql_template"] is None + assert metric["metric_type"] == "SIMPLE" + assert metric["metadata_json"] == {"owner": "finance"} # Publish - published = await svc.publish(metric["id"]) + published = await svc.publish(tenant, ws_id, metric["id"]) assert published["status"] == "PUBLISHED" - assert published["compiled_sql_template"] is not None sql = published["compiled_sql_template"] - assert len(sql) > 0 + assert sql and "SUM(orders.total) AS revenue_by_region" in sql + + # Must be parseable by sqlglot (slots stripped first) + bound = sql.replace("{extra_filter_clause}", "").replace("{group_by_append}", "") + assert sqlglot.parse_one(bound, read="duckdb") is not None - # Must be parseable by sqlglot - parsed = sqlglot.parse_one(sql, read="duckdb") - assert parsed is not None + # Published metric is resolvable by name for the query fast-path. + by_name = await repo.get_by_name("revenue_by_region", ds_id, tenant_id=tenant, workspace_id=ws_id) + assert by_name is not None and by_name["compiled_sql_template"] == sql - # History should have at least 1 version - history = await svc.list_history(metric["id"]) + # History records the compiled SQL on the published version (no longer NULL). + history = await svc.list_history(tenant, ws_id, metric["id"]) assert len(history) >= 1 + assert history[-1]["compiled_sql_template"] == sql await engine.dispose() diff --git a/tests/integration/test_migrations.py b/tests/integration/test_migrations.py index 02a8ecf..72c8c70 100644 --- a/tests/integration/test_migrations.py +++ b/tests/integration/test_migrations.py @@ -66,6 +66,17 @@ def test_alembic_upgrade_head_creates_all_tables() -> None: assert expected <= names +@pytest.mark.integration +def test_semantic_metadata_and_dimension_type_columns_present() -> None: + eng = create_engine(os.environ["FLYQUERY_DATABASE_URL_ADMIN"]) + insp = inspect(eng) + metric_cols = {c["name"] for c in insp.get_columns("flyquery_semantic_metrics")} + dim_cols = {c["name"] for c in insp.get_columns("flyquery_semantic_dimensions")} + assert "metadata_json" in metric_cols + assert "metadata_json" in dim_cols + assert "dimension_type" in dim_cols + + @pytest.mark.integration def test_pgvector_and_indexes_present() -> None: eng = create_engine(os.environ["FLYQUERY_DATABASE_URL_ADMIN"]) diff --git a/tests/unit/test_metricflow_compiler_unit.py b/tests/unit/test_metricflow_compiler_unit.py index 7c8f759..152bad6 100644 --- a/tests/unit/test_metricflow_compiler_unit.py +++ b/tests/unit/test_metricflow_compiler_unit.py @@ -12,103 +12,113 @@ # See the License for the specific language governing permissions and # limitations under the License. -"""Unit tests for MetricFlowCompiler.""" +"""Unit tests for SemanticCompiler (compile + bind).""" from __future__ import annotations -from flyquery.core.services.semantic.metricflow_compiler import MetricFlowCompiler +from flyquery.core.services.semantic.compiler import MetricFlowCompiler, SemanticCompiler +from flyquery.core.services.semantic.yaml_schema import validate_metric_yaml -def test_simple_count() -> None: - sql = MetricFlowCompiler.compile({"name": "order_count", "agg": "count", "expr": "orders.id"}) - assert sql == "SELECT COUNT(orders.id) AS order_count FROM orders" +def _compile(yaml_str: str, **kwargs: object) -> str: + return SemanticCompiler.compile(validate_metric_yaml(yaml_str), **kwargs) -def test_simple_sum() -> None: - sql = MetricFlowCompiler.compile({"name": "total_revenue", "agg": "sum", "expr": "orders.total"}) - assert sql == "SELECT SUM(orders.total) AS total_revenue FROM orders" +def test_back_compat_alias() -> None: + assert MetricFlowCompiler is SemanticCompiler -def test_with_group_by() -> None: - sql = MetricFlowCompiler.compile( - { - "name": "revenue_by_region", - "agg": "sum", - "expr": "orders.total", - "group_by": ["customers.region"], - } +def test_simple_sum_with_slots() -> None: + sql = _compile( + "metric:\n name: total_revenue\n type: simple\n type_params:\n" + " measure: {name: amt, agg: sum, expr: orders.amount}\n" + " filter: \"orders.status = 'OK'\"\n group_by: [orders.region]\n" ) - assert "customers.region" in sql - assert "GROUP BY customers.region" in sql - assert "SUM(orders.total) AS revenue_by_region" in sql - - -def test_with_join() -> None: - sql = MetricFlowCompiler.compile( - { - "name": "revenue_by_region", - "agg": "sum", - "expr": "orders.total", - "joins": [{"from": "orders.customer_id", "to": "customers.customer_id"}], - "group_by": ["customers.region"], - } - ) - assert "JOIN customers ON orders.customer_id = customers.customer_id" in sql + assert "SUM(orders.amount) AS total_revenue" in sql assert "FROM orders" in sql + assert "WHERE orders.status = 'OK'" in sql + assert "{extra_filter_clause}" in sql + assert "{group_by_append}" in sql + assert "GROUP BY orders.region" in sql -def test_with_filter() -> None: - sql = MetricFlowCompiler.compile( - { - "name": "active_orders", - "agg": "count", - "expr": "orders.id", - "filters": ["orders.status = 'ACTIVE'"], - } +def test_simple_no_group_by_still_has_slot() -> None: + sql = _compile( + "metric:\n name: c\n type: simple\n type_params:\n" + " measure: {name: id, agg: count, expr: orders.id}\n" ) - assert "WHERE orders.status = 'ACTIVE'" in sql - - -def test_combined_join_filter_group() -> None: - sql = MetricFlowCompiler.compile( - { - "name": "revenue_by_region", - "agg": "sum", - "expr": "orders.total", - "joins": [{"from": "orders.customer_id", "to": "customers.customer_id"}], - "filters": ["orders.year = 2026"], - "group_by": ["customers.region"], - } + assert "COUNT(orders.id) AS c" in sql + assert "{group_by_append}" in sql + assert "GROUP BY" not in sql + + +def test_count_distinct() -> None: + sql = _compile( + "metric:\n name: c\n type: simple\n type_params:\n" + " measure: {name: id, agg: count_distinct, expr: orders.id}\n" + ) + assert "COUNT(DISTINCT orders.id) AS c" in sql + + +def test_ratio() -> None: + sql = _compile( + "metric:\n name: win_rate\n type: ratio\n type_params:\n" + " numerator: {name: w, agg: count, expr: deals.id}\n" + " denominator: {name: t, agg: count, expr: deals.id}\n" + ) + assert "NULLIF(" in sql + assert "AS win_rate" in sql + assert "FROM deals" in sql + + +def test_cumulative() -> None: + sql = _compile( + "metric:\n name: mtd\n type: cumulative\n type_params:\n" + " measure: {name: a, agg: sum, expr: orders.amt}\n" + " window: 30\n grain: day\n time_column: orders.dt\n" ) - assert "JOIN customers" in sql - assert "WHERE orders.year = 2026" in sql - assert "GROUP BY customers.region" in sql - - -def test_multiple_group_by_cols() -> None: - sql = MetricFlowCompiler.compile( - { - "name": "revenue", - "agg": "sum", - "expr": "orders.total", - "group_by": ["customers.region", "customers.country"], - } + assert "DATE_TRUNC('day', orders.dt)" in sql + assert "ORDER BY bucket" in sql + + +def test_derived() -> None: + sql = _compile( + "metric:\n name: gm\n type: derived\n type_params:\n" + ' expr: "(rev - cogs) / rev"\n metrics: [{name: rev}, {name: cogs}]\n' ) - assert "GROUP BY customers.region, customers.country" in sql + assert "((rev - cogs) / rev) AS gm" in sql + +def test_resolve_table_for_bare_column() -> None: + sql = _compile( + "metric:\n name: oc\n type: simple\n type_params:\n" + " measure: {name: id, agg: count, expr: order_id}\n", + resolve_table=lambda col, ds=None: "orders", + ) + assert "FROM orders" in sql + assert "FROM order_id" not in sql -def test_sql_is_parseable_by_sqlglot() -> None: - """Compiled SQL must be parseable by sqlglot.""" - import sqlglot - sql = MetricFlowCompiler.compile( - { - "name": "revenue_by_region", - "agg": "sum", - "expr": "orders.total", - "joins": [{"from": "orders.customer_id", "to": "customers.customer_id"}], - "group_by": ["customers.region"], - } +def test_resolve_dimension_in_group_by() -> None: + sql = _compile( + "metric:\n name: r\n type: simple\n type_params:\n" + " measure: {name: amt, agg: sum, expr: orders.amt}\n group_by: [order_day]\n", + resolve_dimension=lambda name, ds=None: "DATE_TRUNC('day', orders.dt)", ) - parsed = sqlglot.parse_one(sql, read="duckdb") - assert parsed is not None + assert "DATE_TRUNC('day', orders.dt)" in sql + + +def test_bind_substitutes_slots() -> None: + tmpl = "SELECT x AS m FROM t WHERE 1=1 {extra_filter_clause} GROUP BY x {group_by_append}" + out = SemanticCompiler.bind(tmpl, extra_filter="dt >= '2026-01-01'", group_by_append=["region"]) + assert "AND dt >= '2026-01-01'" in out + assert ", region" in out + assert "{extra_filter_clause}" not in out + assert "{group_by_append}" not in out + + +def test_bind_empty_slots() -> None: + tmpl = "SELECT x AS m FROM t WHERE 1=1 {extra_filter_clause} GROUP BY x {group_by_append}" + out = SemanticCompiler.bind(tmpl) + assert "{" not in out + assert out == "SELECT x AS m FROM t WHERE 1=1 GROUP BY x" diff --git a/tests/unit/test_metricflow_yaml_schema.py b/tests/unit/test_metricflow_yaml_schema.py index f6dbb37..71ead5a 100644 --- a/tests/unit/test_metricflow_yaml_schema.py +++ b/tests/unit/test_metricflow_yaml_schema.py @@ -12,100 +12,146 @@ # See the License for the specific language governing permissions and # limitations under the License. -"""Unit tests for the MetricFlow YAML schema validator.""" +"""Unit tests for the nested MetricFlow YAML schema validators.""" from __future__ import annotations import pytest -from flyquery.core.services.semantic.yaml_schema import MetricYaml, MetricYamlError, validate_metric_yaml - -VALID_YAML = """ -name: revenue_by_region -label: "Revenue by Region" -description: "Total order revenue grouped by customer region" -metric_type: SIMPLE -agg: sum -expr: orders.total -filters: [] -joins: - - from: orders.customer_id - to: customers.customer_id -group_by: - - customers.region +from flyquery.core.services.semantic.errors import MetricYamlError +from flyquery.core.services.semantic.yaml_schema import ( + MetricDefinition, + validate_dimension_yaml, + validate_metric_yaml, +) + +SIMPLE = """ +metric: + name: total_revenue + label: Total Revenue + type: simple + type_params: + measure: {name: order_amount, agg: sum, expr: orders.order_amount} + filter: "orders.order_status = 'COMPLETED'" + group_by: [orders.region] + meta: {owner: finance} """ -MINIMAL_VALID_YAML = """ -name: order_count -agg: count -expr: orders.id +RATIO = """ +metric: + name: win_rate + type: ratio + type_params: + numerator: {name: won, agg: count, expr: deals.id} + denominator: {name: total, agg: count, expr: deals.id} +""" + +DERIVED = """ +metric: + name: gross_margin + type: derived + type_params: + expr: "(total_revenue - cogs) / total_revenue" + metrics: [{name: total_revenue}, {name: cogs}] +""" + +CUMULATIVE = """ +metric: + name: mtd_revenue + type: cumulative + type_params: + measure: {name: order_amount, agg: sum, expr: orders.order_amount} + window: 30 + grain: day + time_column: orders.order_date """ -def test_valid_full_yaml_parses() -> None: - m = validate_metric_yaml(VALID_YAML) - assert isinstance(m, MetricYaml) - assert m.name == "revenue_by_region" - assert m.agg == "sum" - assert m.metric_type == "SIMPLE" - assert len(m.joins) == 1 - assert m.joins[0].from_ == "orders.customer_id" - assert m.joins[0].to == "customers.customer_id" - assert m.group_by == ["customers.region"] +def test_simple_parses() -> None: + m = validate_metric_yaml(SIMPLE) + assert isinstance(m, MetricDefinition) + assert m.name == "total_revenue" + assert m.type == "simple" + assert m.type_params.measure.agg == "sum" + assert m.group_by == ["orders.region"] + assert m.meta == {"owner": "finance"} -def test_minimal_valid_yaml_parses() -> None: - m = validate_metric_yaml(MINIMAL_VALID_YAML) - assert m.name == "order_count" - assert m.agg == "count" - assert m.joins == [] - assert m.group_by == [] - assert m.filters == [] +def test_count_distinct_accepted() -> None: + y = ( + "metric:\n name: c\n type: simple\n type_params:\n" + " measure: {name: id, agg: count_distinct, expr: orders.id}\n" + ) + assert validate_metric_yaml(y).type_params.measure.agg == "count_distinct" + + +def test_ratio_requires_numerator_and_denominator() -> None: + assert validate_metric_yaml(RATIO).type == "ratio" + bad = ( + "metric:\n name: r\n type: ratio\n type_params:\n" + " numerator: {name: a, agg: count, expr: t.id}\n" + ) + with pytest.raises(MetricYamlError): + validate_metric_yaml(bad) -def test_missing_required_name_raises() -> None: - yaml_str = "agg: sum\nexpr: orders.total\n" - with pytest.raises(MetricYamlError) as exc_info: - validate_metric_yaml(yaml_str) - assert exc_info.value.field == "name" +def test_derived_and_cumulative_parse() -> None: + assert validate_metric_yaml(DERIVED).type == "derived" + assert validate_metric_yaml(CUMULATIVE).type_params.window == 30 -def test_missing_required_agg_raises() -> None: - yaml_str = "name: x\nexpr: orders.total\n" - with pytest.raises(MetricYamlError) as exc_info: - validate_metric_yaml(yaml_str) - assert exc_info.value.field == "agg" +def test_bad_name_rejected() -> None: + bad = ( + "metric:\n name: 'bad; name'\n type: simple\n type_params:\n" + " measure: {name: x, agg: sum, expr: t.c}\n" + ) + with pytest.raises(MetricYamlError): + validate_metric_yaml(bad) -def test_invalid_agg_value_raises() -> None: - yaml_str = "name: x\nagg: median\nexpr: orders.total\n" +def test_missing_metric_root_rejected() -> None: with pytest.raises(MetricYamlError): - validate_metric_yaml(yaml_str) + validate_metric_yaml("name: x\nagg: sum\n") -def test_invalid_metric_type_raises() -> None: - yaml_str = "name: x\nagg: sum\nexpr: orders.total\nmetric_type: INVALID\n" +def test_invalid_agg_rejected() -> None: + bad = ( + "metric:\n name: x\n type: simple\n type_params:\n measure: {name: x, agg: median, expr: t.c}\n" + ) with pytest.raises(MetricYamlError): - validate_metric_yaml(yaml_str) + validate_metric_yaml(bad) -def test_malformed_yaml_raises() -> None: +def test_simple_requires_measure() -> None: + bad = "metric:\n name: x\n type: simple\n type_params: {}\n" with pytest.raises(MetricYamlError): - validate_metric_yaml("name: [\nbroken yaml") + validate_metric_yaml(bad) -def test_non_mapping_root_raises() -> None: +def test_malformed_yaml_rejected() -> None: with pytest.raises(MetricYamlError): - validate_metric_yaml("- item1\n- item2\n") + validate_metric_yaml("metric: [\nbroken yaml") + +# --- dimensions ------------------------------------------------------------ -def test_all_valid_agg_types_accepted() -> None: - for agg in ("sum", "count", "avg", "min", "max"): - m = validate_metric_yaml(f"name: x\nagg: {agg}\nexpr: t.col\n") - assert m.agg == agg +def test_categorical_dimension_parses() -> None: + d = validate_dimension_yaml("dimension:\n name: order_region\n type: categorical\n expr: region\n") + assert d.name == "order_region" + assert d.type == "categorical" + assert d.expr == "region" -def test_all_valid_metric_types_accepted() -> None: - for mt in ("SIMPLE", "RATIO", "DERIVED", "CUMULATIVE"): - m = validate_metric_yaml(f"name: x\nagg: sum\nexpr: t.col\nmetric_type: {mt}\n") - assert m.metric_type == mt + +def test_time_dimension_requires_grain() -> None: + ok = validate_dimension_yaml( + "dimension:\n name: order_day\n type: time\n expr: order_date\n grain: day\n" + ) + assert ok.grain == "day" + with pytest.raises(MetricYamlError): + validate_dimension_yaml("dimension:\n name: order_day\n type: time\n expr: order_date\n") + + +def test_missing_dimension_root_rejected() -> None: + with pytest.raises(MetricYamlError): + validate_dimension_yaml("name: x\ntype: categorical\nexpr: region\n") diff --git a/tests/unit/test_query_service.py b/tests/unit/test_query_service.py index 4638a5b..94667aa 100644 --- a/tests/unit/test_query_service.py +++ b/tests/unit/test_query_service.py @@ -29,7 +29,12 @@ from flyquery.core.agents.critic_agent import RefinedSql from flyquery.core.agents.explainer_agent import ResultExplanation from flyquery.core.agents.generation_agent import GeneratedCandidate, GeneratedCandidates -from flyquery.core.agents.grounding_agent import GroundedColumn, GroundedContext, GroundedTable +from flyquery.core.agents.grounding_agent import ( + GroundedColumn, + GroundedContext, + GroundedMetric, + GroundedTable, +) from flyquery.core.services.execution.ast_classifier import AstClassifier from flyquery.core.services.execution.duckdb_executor import ExecutionError, ExecutionResult from flyquery.core.services.execution.scope_guard import ScopeGuard @@ -168,6 +173,39 @@ def _make_candidates(sql: str = "SELECT 1") -> GeneratedCandidates: return GeneratedCandidates(candidates=[GeneratedCandidate(sql=sql, reasoning="test", confidence=0.9)]) +class _CountingAgent: + """Agent stub that counts how many times ``run`` was awaited.""" + + def __init__(self, output): + self._output = output + self.calls = 0 + + async def run(self, _input): + self.calls += 1 + return self._output + + +class _FakeSemanticRepo: + """Returns a single PUBLISHED metric keyed by name.""" + + def __init__(self, *, name: str, template: str, version: int = 3): + self._name = name + self._template = template + self._version = version + self.lookups: list[tuple] = [] + + async def get_by_name(self, name, dataset_id, *, tenant_id, workspace_id): + self.lookups.append((name, dataset_id, tenant_id, workspace_id)) + if name != self._name: + return None + return { + "name": name, + "status": "PUBLISHED", + "compiled_sql_template": self._template, + "current_version": self._version, + } + + def _make_service( *, grounded: GroundedContext | None = None, @@ -176,6 +214,8 @@ def _make_service( query_repo=None, result_uploader=None, auto_learner=None, + semantic_repo=None, + generation_agent=None, ): if grounded is None: grounded = _make_grounded() @@ -191,6 +231,8 @@ def _make_service( result_uploader = _FakeResultUploader() if auto_learner is None: auto_learner = _FakeAutoLearner() + if generation_agent is None: + generation_agent = _FakeAgent(candidates) explanation = ResultExplanation(summary="The answer is 1.", chart_hint="none") @@ -198,7 +240,7 @@ def _make_service( retriever=_FakeRetriever(), reranker=_FakeReranker(), grounding_agent=_FakeAgent(grounded), - generation_agent=_FakeAgent(candidates), + generation_agent=generation_agent, critic_agent=_FakeAgent(RefinedSql(sql="SELECT 2", reasoning="fixed", confidence=0.8)), explainer_agent=_FakeAgent(explanation), ast_classifier=AstClassifier(), @@ -209,6 +251,7 @@ def _make_service( settings=_FakeSettings(), result_uploader=result_uploader, auto_learner=auto_learner, + semantic_repo=semantic_repo, ) @@ -384,6 +427,68 @@ async def test_answer_no_clarification_when_high_confidence(): assert result.clarification is None +@pytest.mark.asyncio +async def test_semantic_layer_executes_compiled_sql_without_generation(): + """SEMANTIC_LAYER path runs the bound compiled SQL and skips the GenerationAgent.""" + template = "SELECT 42 AS total_revenue {extra_filter_clause} {group_by_append}" + repo = _FakeSemanticRepo(name="total_revenue", template=template, version=3) + grounded = GroundedContext( + path="SEMANTIC_LAYER", + tables=[], + columns=[], + metrics=[GroundedMetric(metric_name="total_revenue", relevance=1.0)], + confidence=0.95, + ) + gen = _CountingAgent(_make_candidates("SELECT 999 AS should_not_run")) + query_repo = _FakeQueryRepo() + svc = _make_service(grounded=grounded, semantic_repo=repo, generation_agent=gen, query_repo=query_repo) + + result = await svc.answer( + tenant_id="ten-a", + workspace_id=uuid.uuid4(), + dataset_id=uuid.uuid4(), + question="what is total revenue?", + scopes={"flyquery.query:read"}, + ) + + # Bound compiled SQL is used verbatim (slots stripped), not regenerated. + assert result.sql == "SELECT 42 AS total_revenue" + # The GenerationAgent was never invoked. + assert gen.calls == 0 + # The query record pins the metric name + version, and the semantic path. + q = query_repo.created_queries[0] + assert q["semantic_path_taken"] == "SEMANTIC_LAYER" + assert q["candidates_json"][0]["metric_name"] == "total_revenue" + assert q["candidates_json"][0]["metric_version"] == 3 + + +@pytest.mark.asyncio +async def test_semantic_layer_falls_back_to_synthesis_when_metric_missing(): + """When the metric has no published compiled SQL, fall through to generation.""" + repo = _FakeSemanticRepo(name="other_metric", template="SELECT 1 {extra_filter_clause} {group_by_append}") + grounded = GroundedContext( + path="SEMANTIC_LAYER", + tables=[], + columns=[], + metrics=[GroundedMetric(metric_name="unknown_metric", relevance=1.0)], + confidence=0.95, + ) + gen = _CountingAgent(_make_candidates("SELECT 7 AS val")) + svc = _make_service(grounded=grounded, semantic_repo=repo, generation_agent=gen) + + result = await svc.answer( + tenant_id="ten-a", + workspace_id=uuid.uuid4(), + dataset_id=uuid.uuid4(), + question="unknown", + scopes={"flyquery.query:read"}, + ) + + # No published metric matched → GenerationAgent ran and produced the SQL. + assert gen.calls == 1 + assert result.sql == "SELECT 7 AS val" + + @pytest.mark.asyncio async def test_answer_does_not_call_auto_learner_when_retries(): """AutoLearner is NOT called when retries > 0 (REFINED_OK path).""" diff --git a/tests/unit/test_semantic_dimensions_service.py b/tests/unit/test_semantic_dimensions_service.py new file mode 100644 index 0000000..0d750b0 --- /dev/null +++ b/tests/unit/test_semantic_dimensions_service.py @@ -0,0 +1,97 @@ +# Copyright 2024-2026 Firefly Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Unit tests for SemanticDimensionsService with an in-memory fake repository.""" + +from __future__ import annotations + +import uuid +from typing import Any + +import pytest + +from flyquery.core.services.semantic.semantic_dimensions_service import ( + SemanticDimensionsService, +) +from flyquery.interfaces.semantic import SemanticDimensionCreate + +TENANT = "ten-1" +WS = uuid.uuid4() +DS = uuid.uuid4() + +CATEGORICAL = "dimension:\n name: order_region\n type: categorical\n expr: orders.region\n" +TIME = "dimension:\n name: order_day\n type: time\n expr: orders.dt\n grain: day\n" + + +class FakeDimRepo: + def __init__(self) -> None: + self.store: dict[uuid.UUID, dict[str, Any]] = {} + + async def create_dimension(self, **f: Any) -> dict[str, Any]: + row = { + "id": uuid.uuid4(), + "status": "DRAFT", + "current_version": 1, + "compiled_sql_template": None, + **f, + } + self.store[row["id"]] = row + return row + + async def get_dimension(self, did, *, tenant_id, workspace_id): # noqa: ANN001 + return self.store.get(did) + + async def publish_dimension(self, did, compiled, *, tenant_id, workspace_id): # noqa: ANN001 + self.store[did]["status"] = "PUBLISHED" + self.store[did]["compiled_sql_template"] = compiled + return self.store[did] + + async def retire_dimension(self, did, *, tenant_id, workspace_id): # noqa: ANN001 + self.store[did]["status"] = "RETIRED" + return self.store[did] + + +def _svc() -> SemanticDimensionsService: + return SemanticDimensionsService(FakeDimRepo()) + + +@pytest.mark.asyncio +async def test_create_categorical_dimension() -> None: + svc = _svc() + row = await svc.create( + TENANT, WS, SemanticDimensionCreate(dataset_id=DS, name="order_region", definition_yaml=CATEGORICAL) + ) + assert row["dimension_type"] == "categorical" + assert row["status"] == "DRAFT" + + +@pytest.mark.asyncio +async def test_publish_categorical_dimension_stores_expr() -> None: + svc = _svc() + created = await svc.create( + TENANT, WS, SemanticDimensionCreate(dataset_id=DS, name="order_region", definition_yaml=CATEGORICAL) + ) + published = await svc.publish(TENANT, WS, created["id"]) + assert published["status"] == "PUBLISHED" + assert published["compiled_sql_template"] == "orders.region" + + +@pytest.mark.asyncio +async def test_publish_time_dimension_applies_grain() -> None: + svc = _svc() + created = await svc.create( + TENANT, WS, SemanticDimensionCreate(dataset_id=DS, name="order_day", definition_yaml=TIME) + ) + published = await svc.publish(TENANT, WS, created["id"]) + assert published["compiled_sql_template"] == "DATE_TRUNC('day', orders.dt)" diff --git a/tests/unit/test_semantic_dtos.py b/tests/unit/test_semantic_dtos.py new file mode 100644 index 0000000..d679a48 --- /dev/null +++ b/tests/unit/test_semantic_dtos.py @@ -0,0 +1,59 @@ +# Copyright 2024-2026 Firefly Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""DTO alias behaviour for glossary + semantic versions.""" + +from __future__ import annotations + +import uuid +from datetime import UTC, datetime, timezone + +from flyquery.interfaces.glossary import GlossaryTermCreate +from flyquery.interfaces.semantic import SemanticVersionRead + + +def test_glossary_create_accepts_documented_keys() -> None: + dto = GlossaryTermCreate.model_validate( + { + "term": "ARR", + "definition": "Annual Recurring Revenue.", + "synonyms": ["annual recurring revenue"], + "related_metrics": ["total_mrr"], + } + ) + assert dto.synonyms_json == ["annual recurring revenue"] + assert dto.related_metrics_json == ["total_mrr"] + + +def test_glossary_create_still_accepts_internal_keys() -> None: + dto = GlossaryTermCreate.model_validate({"term": "x", "definition": "d", "related_metrics_json": ["m"]}) + assert dto.related_metrics_json == ["m"] + + +def test_version_read_maps_columns_to_documented_names() -> None: + row = { + "id": uuid.uuid4(), + "tenant_id": "t", + "workspace_id": uuid.uuid4(), + "kind": "metric", + "parent_id": uuid.uuid4(), + "version": 3, + "definition_yaml": "metric: {}", + "compiled_sql_template": "SELECT 1", + "created_by": "alice@acme.com", + "created_at": datetime.now(UTC), + } + dto = SemanticVersionRead.model_validate(row) + assert dto.version_number == 3 + assert dto.metric_id == row["parent_id"] diff --git a/tests/unit/test_semantic_error_mapping.py b/tests/unit/test_semantic_error_mapping.py new file mode 100644 index 0000000..5147f6f --- /dev/null +++ b/tests/unit/test_semantic_error_mapping.py @@ -0,0 +1,56 @@ +# Copyright 2024-2026 Firefly Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""SemanticCompileError must surface as an RFC 7807 400, not a 500.""" + +from __future__ import annotations + +from fastapi import FastAPI +from starlette.testclient import TestClient + +from flyquery.core.services.semantic.errors import MetricYamlError, SemanticCompileError +from flyquery.web.semantic_error_handler import register_semantic_error_handler + + +def _app() -> FastAPI: + app = FastAPI() + + @app.get("/boom-metric") + def _boom_metric() -> None: + raise MetricYamlError("bad agg", field="type_params.measure.agg") + + @app.get("/boom-base") + def _boom_base() -> None: + raise SemanticCompileError("function not allowed: READ_CSV_AUTO", field="filter") + + register_semantic_error_handler(app) + return app + + +def test_metric_yaml_error_maps_to_400() -> None: + client = TestClient(_app(), raise_server_exceptions=False) + resp = client.get("/boom-metric") + assert resp.status_code == 400 + body = resp.json() + assert body["code"] == "semantic_compile_error" + assert body["status"] == 400 + assert body["errors"][0]["path"] == "type_params.measure.agg" + + +def test_base_compile_error_maps_to_400() -> None: + client = TestClient(_app(), raise_server_exceptions=False) + resp = client.get("/boom-base") + assert resp.status_code == 400 + assert resp.json()["code"] == "semantic_compile_error" + assert resp.headers["content-type"].startswith("application/problem+json") diff --git a/tests/unit/test_semantic_errors.py b/tests/unit/test_semantic_errors.py new file mode 100644 index 0000000..06b7079 --- /dev/null +++ b/tests/unit/test_semantic_errors.py @@ -0,0 +1,33 @@ +# Copyright 2024-2026 Firefly Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Unit tests for semantic-layer domain errors.""" + +from __future__ import annotations + +from flyquery.core.services.semantic.errors import MetricYamlError, SemanticCompileError + + +def test_semantic_compile_error_carries_field_and_code() -> None: + e = SemanticCompileError("bad agg", field="agg") + assert e.field == "agg" + assert e.code == "semantic_compile_error" + assert isinstance(e, ValueError) + + +def test_metric_yaml_error_is_semantic_compile_error() -> None: + assert issubclass(MetricYamlError, SemanticCompileError) + e = MetricYamlError("missing name", field="name") + assert e.code == "semantic_compile_error" + assert e.field == "name" diff --git a/tests/unit/test_semantic_firewall.py b/tests/unit/test_semantic_firewall.py new file mode 100644 index 0000000..40d5e2e --- /dev/null +++ b/tests/unit/test_semantic_firewall.py @@ -0,0 +1,72 @@ +# Copyright 2024-2026 Firefly Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Unit tests for the semantic publish-time SQL firewall.""" + +from __future__ import annotations + +import pytest + +from flyquery.core.services.semantic.compiler import SemanticCompiler +from flyquery.core.services.semantic.errors import SemanticCompileError +from flyquery.core.services.semantic.firewall import ALLOWED_FUNCS, assert_safe_template +from flyquery.core.services.semantic.yaml_schema import validate_metric_yaml + + +def test_clean_simple_passes() -> None: + assert_safe_template("SELECT region, SUM(amount) AS m FROM orders WHERE s = 'x' GROUP BY region") + + +def test_allowed_funcs_constant_has_core_aggregates() -> None: + assert {"SUM", "COUNT", "AVG", "MIN", "MAX", "COALESCE", "NULLIF", "DATE_TRUNC"} <= ALLOWED_FUNCS + + +@pytest.mark.parametrize( + "yaml_str", + [ + "metric:\n name: a\n type: simple\n type_params:\n measure: {name: x, agg: sum, expr: orders.amt}\n filter: \"orders.s = 'OK'\"\n group_by: [orders.region]\n", + "metric:\n name: b\n type: ratio\n type_params:\n numerator: {name: w, agg: count, expr: deals.id}\n denominator: {name: t, agg: count, expr: deals.id}\n", + "metric:\n name: c\n type: cumulative\n type_params:\n measure: {name: a, agg: sum, expr: orders.amt}\n window: 30\n grain: day\n time_column: orders.dt\n", + "metric:\n name: d\n type: simple\n type_params:\n measure: {name: id, agg: count_distinct, expr: orders.id}\n", + ], +) +def test_compiled_templates_pass_firewall(yaml_str: str) -> None: + template = SemanticCompiler.compile(validate_metric_yaml(yaml_str)) + assert_safe_template(template) + + +def test_multi_statement_rejected() -> None: + with pytest.raises(SemanticCompileError): + assert_safe_template("SELECT 1 AS m FROM t; DROP TABLE t") + + +def test_ddl_rejected() -> None: + with pytest.raises(SemanticCompileError): + assert_safe_template("DROP TABLE t") + + +def test_subquery_rejected() -> None: + with pytest.raises(SemanticCompileError): + assert_safe_template("SELECT SUM(x) AS m FROM t WHERE id IN (SELECT id FROM secret_pii)") + + +def test_disallowed_function_rejected() -> None: + with pytest.raises(SemanticCompileError): + assert_safe_template("SELECT read_csv_auto('/etc/passwd') AS m FROM t") + + +def test_injection_filter_rejected_via_template() -> None: + # A filter carrying a statement separator must not survive the firewall. + with pytest.raises(SemanticCompileError): + assert_safe_template("SELECT SUM(amount) AS m FROM orders WHERE 1=1; DROP TABLE orders") diff --git a/tests/unit/test_semantic_service.py b/tests/unit/test_semantic_service.py new file mode 100644 index 0000000..156782c --- /dev/null +++ b/tests/unit/test_semantic_service.py @@ -0,0 +1,161 @@ +# Copyright 2024-2026 Firefly Software Foundation +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +"""Unit tests for SemanticService with in-memory fake repositories.""" + +from __future__ import annotations + +import uuid +from typing import Any + +import pytest + +from flyquery.core.services.semantic.errors import SemanticCompileError +from flyquery.core.services.semantic.semantic_service import SemanticService +from flyquery.interfaces.semantic import SemanticMetricCreate, SemanticMetricUpdate + +TENANT = "ten-1" +WS = uuid.uuid4() +DS = uuid.uuid4() + +SIMPLE = """ +metric: + name: total_revenue + type: simple + type_params: + measure: {name: amt, agg: sum, expr: orders.amount} + filter: "orders.status = 'OK'" + meta: {owner: finance} +""" + +INJECTION = """ +metric: + name: bad + type: simple + type_params: + measure: {name: a, agg: sum, expr: orders.amt} + filter: "id IN (SELECT secret FROM other)" +""" + + +class FakeMetricRepo: + def __init__(self) -> None: + self.store: dict[uuid.UUID, dict[str, Any]] = {} + + async def create_metric(self, **f: Any) -> dict[str, Any]: + row = { + "id": uuid.uuid4(), + "status": "DRAFT", + "current_version": 1, + "compiled_sql_template": None, + **f, + } + self.store[row["id"]] = row + return row + + async def get_metric(self, mid, *, tenant_id, workspace_id): # noqa: ANN001 + return self.store.get(mid) + + async def get_by_name(self, name, dataset_id, *, tenant_id, workspace_id): # noqa: ANN001 + for r in self.store.values(): + if r["name"] == name and r["status"] == "PUBLISHED": + return r + return None + + async def update_metric(self, mid, *, tenant_id, workspace_id, **f: Any): # noqa: ANN001 + self.store[mid].update(f) + self.store[mid]["current_version"] += 1 + return self.store[mid] + + async def publish_metric(self, mid, compiled, *, tenant_id, workspace_id): # noqa: ANN001 + self.store[mid]["status"] = "PUBLISHED" + self.store[mid]["compiled_sql_template"] = compiled + return self.store[mid] + + async def retire_metric(self, mid, *, tenant_id, workspace_id): # noqa: ANN001 + self.store[mid]["status"] = "RETIRED" + return self.store[mid] + + async def list_metrics(self, t, w, *, dataset_id=None, status=None): # noqa: ANN001 + return [r for r in self.store.values() if status is None or r["status"] == status] + + async def list_history(self, mid, *, tenant_id, workspace_id): # noqa: ANN001 + return [] + + +class FakeDimRepo: + async def get_by_name(self, name, dataset_id, *, tenant_id, workspace_id): # noqa: ANN001 + return None + + +def _svc() -> SemanticService: + return SemanticService(FakeMetricRepo(), FakeDimRepo()) + + +def _create_body(yaml_str: str = SIMPLE, name: str = "total_revenue") -> SemanticMetricCreate: + return SemanticMetricCreate(dataset_id=DS, name=name, definition_yaml=yaml_str) + + +@pytest.mark.asyncio +async def test_create_derives_type_and_meta() -> None: + svc = _svc() + row = await svc.create(TENANT, WS, _create_body()) + assert row["status"] == "DRAFT" + assert row["metric_type"] == "SIMPLE" + assert row["metadata_json"] == {"owner": "finance"} + + +@pytest.mark.asyncio +async def test_publish_compiles_and_sets_template() -> None: + svc = _svc() + created = await svc.create(TENANT, WS, _create_body()) + published = await svc.publish(TENANT, WS, created["id"]) + assert published["status"] == "PUBLISHED" + assert "SUM(orders.amount) AS total_revenue" in published["compiled_sql_template"] + assert "{extra_filter_clause}" in published["compiled_sql_template"] + + +@pytest.mark.asyncio +async def test_publish_rejects_injection_filter() -> None: + svc = _svc() + created = await svc.create(TENANT, WS, _create_body(INJECTION, name="bad")) + with pytest.raises(SemanticCompileError): + await svc.publish(TENANT, WS, created["id"]) + + +@pytest.mark.asyncio +async def test_update_published_recompiles() -> None: + svc = _svc() + created = await svc.create(TENANT, WS, _create_body()) + await svc.publish(TENANT, WS, created["id"]) + new_yaml = SIMPLE.replace("agg: sum", "agg: count") + updated = await svc.update(TENANT, WS, created["id"], SemanticMetricUpdate(definition_yaml=new_yaml)) + assert updated["status"] == "PUBLISHED" + assert "COUNT(orders.amount) AS total_revenue" in updated["compiled_sql_template"] + assert updated["current_version"] == 2 + + +@pytest.mark.asyncio +async def test_retire_flips_status() -> None: + svc = _svc() + created = await svc.create(TENANT, WS, _create_body()) + retired = await svc.retire(TENANT, WS, created["id"]) + assert retired["status"] == "RETIRED" + + +@pytest.mark.asyncio +async def test_publish_missing_metric_raises() -> None: + svc = _svc() + with pytest.raises(KeyError): + await svc.publish(TENANT, WS, uuid.uuid4())