From c87088fe7073844f83a8a606f2ae8cb54c5d71af Mon Sep 17 00:00:00 2001 From: Maximiliano Osorio Date: Sat, 29 Aug 2026 20:20:16 -0400 Subject: [PATCH 1/2] fix(ui-react): read the thread indicator as a standard variable (#106) The Variables step writes a standard variable URI to thread.response_variable_id. graphql_engine repoints the foreign key at modelcatalog_standard_variable, so the relationship now resolves there and carries a label instead of a name. Every place that showed the raw stored id -- the combobox trigger, the thread summary, the expansion panel and the wizard step summary -- would otherwise show the URI. They now prefer the label and fall back to the id. --- ui-react/src/graphql/generated/modeling.ts | 15 +++++--- .../__tests__/MintProblemStatement.test.tsx | 12 +++++-- .../src/pages/modeling/thread/MintSummary.tsx | 10 ++++-- .../thread/ThreadExpansionConfigure.tsx | 8 +++-- .../modeling/thread/wizard/VariablesStep.tsx | 17 ++++++--- .../wizard/__tests__/VariablesStep.test.tsx | 36 +++++++++++++++++++ .../wizard/__tests__/deriveStepStates.test.ts | 18 ++++++++++ .../thread/wizard/deriveStepStates.ts | 7 +++- 8 files changed, 107 insertions(+), 16 deletions(-) diff --git a/ui-react/src/graphql/generated/modeling.ts b/ui-react/src/graphql/generated/modeling.ts index b1ad4e4f..a37c7e1f 100644 --- a/ui-react/src/graphql/generated/modeling.ts +++ b/ui-react/src/graphql/generated/modeling.ts @@ -96,10 +96,17 @@ export type ThreadProvenance = { notes?: Maybe; }; +/** + * The indicator and adjustable variable a thread or task is framed by. + * + * These point at `modelcatalog_standard_variable`, not the legacy `variable` + * table: the stored id is a URI, so the label is the only readable name for it. + * See https://github.com/mintproject/monorepo/issues/106 + */ export type VariableRef = { - __typename?: 'variable'; + __typename?: 'modelcatalog_standard_variable'; id: string; - name?: Maybe; + label?: Maybe; }; export type ThreadModel = { @@ -308,11 +315,11 @@ const THREAD_INFO = gql` } driving_variable { id - name + label } response_variable { id - name + label } region { id diff --git a/ui-react/src/pages/modeling/__tests__/MintProblemStatement.test.tsx b/ui-react/src/pages/modeling/__tests__/MintProblemStatement.test.tsx index eec8cf9d..dd2eba38 100644 --- a/ui-react/src/pages/modeling/__tests__/MintProblemStatement.test.tsx +++ b/ui-react/src/pages/modeling/__tests__/MintProblemStatement.test.tsx @@ -31,8 +31,16 @@ const threadWithModel = { region_id: 'south_sudan', driving_variable_id: 'v-precip', response_variable_id: 'v-yield', - driving_variable: { __typename: 'variable', id: 'v-precip', name: 'precipitation' }, - response_variable: { __typename: 'variable', id: 'v-yield', name: 'crop yield' }, + driving_variable: { + __typename: 'modelcatalog_standard_variable', + id: 'v-precip', + label: 'precipitation', + }, + response_variable: { + __typename: 'modelcatalog_standard_variable', + id: 'v-yield', + label: 'crop yield', + }, events: [ { __typename: 'thread_provenance', diff --git a/ui-react/src/pages/modeling/thread/MintSummary.tsx b/ui-react/src/pages/modeling/thread/MintSummary.tsx index b1bd1e28..c2a55815 100644 --- a/ui-react/src/pages/modeling/thread/MintSummary.tsx +++ b/ui-react/src/pages/modeling/thread/MintSummary.tsx @@ -88,8 +88,14 @@ export function MintSummary({ thread, taskName, problemStatementName }: MintSumm

Variables

- - + +
{!thread.response_variable_id && (

No variables selected

diff --git a/ui-react/src/pages/modeling/thread/ThreadExpansionConfigure.tsx b/ui-react/src/pages/modeling/thread/ThreadExpansionConfigure.tsx index e3a47266..60c14a24 100644 --- a/ui-react/src/pages/modeling/thread/ThreadExpansionConfigure.tsx +++ b/ui-react/src/pages/modeling/thread/ThreadExpansionConfigure.tsx @@ -131,13 +131,17 @@ export function ThreadExpansionConfigure({ thread, onUpdated }: ThreadExpansionC {thread.response_variable_id && ( Indicator: - {thread.response_variable_id} + + {thread.response_variable?.label ?? thread.response_variable_id} + )} {thread.driving_variable_id && ( Driving Variable: - {thread.driving_variable_id} + + {thread.driving_variable?.label ?? thread.driving_variable_id} + )} diff --git a/ui-react/src/pages/modeling/thread/wizard/VariablesStep.tsx b/ui-react/src/pages/modeling/thread/wizard/VariablesStep.tsx index 09ec508f..8f5489c2 100644 --- a/ui-react/src/pages/modeling/thread/wizard/VariablesStep.tsx +++ b/ui-react/src/pages/modeling/thread/wizard/VariablesStep.tsx @@ -21,10 +21,17 @@ interface VariablesStepProps { onBack?: () => void; } -/** Build a minimal option from a stored id (label backfills once the catalog loads). */ -function optionFromId(id?: string | null): StandardVariableOption | null { +/** + * Build a minimal option from what the thread stores. + * + * The stored id is a standard variable URI (#106), which is unreadable in the + * combobox trigger, so the label carried by the relationship is used when there + * is one. Falling back to the id keeps an unlabelled variable visible rather + * than blank. + */ +function optionFromId(id?: string | null, label?: string | null): StandardVariableOption | null { if (!id) return null; - return { id, label: id, description: null }; + return { id, label: label || id, description: null }; } export function VariablesStep({ thread, onUpdated, onContinue, onBack }: VariablesStepProps) { @@ -33,10 +40,10 @@ export function VariablesStep({ thread, onUpdated, onContinue, onBack }: Variabl const perm = getUserPermission(thread.permissions, thread.events, user?.username ?? null); const [indicator, setIndicator] = useState( - optionFromId(thread.response_variable_id), + optionFromId(thread.response_variable_id, thread.response_variable?.label), ); const [adjustable, setAdjustable] = useState( - optionFromId(thread.driving_variable_id), + optionFromId(thread.driving_variable_id, thread.driving_variable?.label), ); const [saving, setSaving] = useState(false); diff --git a/ui-react/src/pages/modeling/thread/wizard/__tests__/VariablesStep.test.tsx b/ui-react/src/pages/modeling/thread/wizard/__tests__/VariablesStep.test.tsx index 3857192c..5caa42c6 100644 --- a/ui-react/src/pages/modeling/thread/wizard/__tests__/VariablesStep.test.tsx +++ b/ui-react/src/pages/modeling/thread/wizard/__tests__/VariablesStep.test.tsx @@ -48,6 +48,42 @@ describe('VariablesStep', () => { expect(screen.getByText(/no indicator set/i)).toBeInTheDocument(); }); + // #106: the thread stores a standard variable URI. Showing that URI in the + // combobox trigger is unreadable, so the relationship's label is preferred. + it('shows the stored indicator by label, not by its URI', () => { + renderWithProviders( + , + ); + expect(screen.getByText(/models will be filtered/i)).toHaveTextContent('drawdown'); + expect(screen.queryByText(/w3id\.org/)).not.toBeInTheDocument(); + }); + + it('falls back to the id when the standard variable carries no label', () => { + renderWithProviders( + , + ); + expect(screen.getByText(/models will be filtered/i)).toHaveTextContent( + 'https://w3id.org/okn/i/mint/DRAWDOWN', + ); + }); + it('renders both the indicator and adjustable-variable labels', () => { renderWithProviders( { .summary, ).toBe('sv-flood'); }); + + // #106: the stored id is a standard variable URI, which reads as noise in a + // one-line step summary. + it('summarizes Variables by the standard variable label when there is one', () => { + expect( + deriveStepStates( + makeThread({ + name: 'X', + response_variable_id: 'https://w3id.org/okn/i/mint/DRAWDOWN', + response_variable: { + __typename: 'modelcatalog_standard_variable', + id: 'https://w3id.org/okn/i/mint/DRAWDOWN', + label: 'drawdown', + }, + }), + ).variables.summary, + ).toBe('drawdown'); + }); }); diff --git a/ui-react/src/pages/modeling/thread/wizard/deriveStepStates.ts b/ui-react/src/pages/modeling/thread/wizard/deriveStepStates.ts index fb96a662..ea1cd1ba 100644 --- a/ui-react/src/pages/modeling/thread/wizard/deriveStepStates.ts +++ b/ui-react/src/pages/modeling/thread/wizard/deriveStepStates.ts @@ -22,7 +22,12 @@ export function deriveStepStates(thread: Thread, opts: DeriveOpts = {}): StepSta const region = thread.region_id?.trim() || 'any region'; const framingSummary = goalSet ? `${thread.name!.trim()} ยท ${region}` : 'Not set'; - const variablesSummary = thread.response_variable_id?.trim() || 'No indicator'; + // The stored id is a standard variable URI (#106); the label is what a reader + // recognises, so the summary prefers it. + const variablesSummary = + thread.response_variable?.label?.trim() || + thread.response_variable_id?.trim() || + 'No indicator'; // status helper: locked beats done beats upcoming const state = (done: boolean, locked: boolean, summary: string): StepState => ({ From fae218562325f52dd20da2e6594f22419c2cb1cf Mon Sep 17 00:00:00 2001 From: Maximiliano Osorio Date: Sat, 29 Aug 2026 20:21:44 -0400 Subject: [PATCH 2/2] chore(ui-react): regenerate GraphQL types against the repointed schema Run against the dev cluster with the #106 migration applied. The whole diff is the relationship move: thread and task driving/response variables now resolve to modelcatalog_standard_variable, and the four array relationships move with them. No type is added or removed. --- ui-react/src/graphql/generated/graphql.ts | 248 ++++++------- ui-react/src/graphql/generated/schema.graphql | 344 +++++++++--------- 2 files changed, 296 insertions(+), 296 deletions(-) diff --git a/ui-react/src/graphql/generated/graphql.ts b/ui-react/src/graphql/generated/graphql.ts index 7f6f1ac8..7417d0fc 100644 --- a/ui-react/src/graphql/generated/graphql.ts +++ b/ui-react/src/graphql/generated/graphql.ts @@ -10299,12 +10299,108 @@ export type Modelcatalog_Standard_Variable = { label: Scalars['String']['output']; same_as?: Maybe; /** An array relationship */ + tasksByDrivingVariable: Array; + /** An aggregate relationship */ + tasksByDrivingVariable_aggregate: Task_Aggregate; + /** An array relationship */ + tasksByResponseVariable: Array; + /** An aggregate relationship */ + tasksByResponseVariable_aggregate: Task_Aggregate; + /** An array relationship */ + threadsByDrivingVariable: Array; + /** An aggregate relationship */ + threadsByDrivingVariable_aggregate: Thread_Aggregate; + /** An array relationship */ + threadsByResponseVariable: Array; + /** An aggregate relationship */ + threadsByResponseVariable_aggregate: Thread_Aggregate; + /** An array relationship */ variable_presentations: Array; /** An aggregate relationship */ variable_presentations_aggregate: Modelcatalog_Variable_Presentation_Aggregate; }; +/** columns and relationships of "modelcatalog_standard_variable" */ +export type Modelcatalog_Standard_VariableTasksByDrivingVariableArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "modelcatalog_standard_variable" */ +export type Modelcatalog_Standard_VariableTasksByDrivingVariable_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "modelcatalog_standard_variable" */ +export type Modelcatalog_Standard_VariableTasksByResponseVariableArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "modelcatalog_standard_variable" */ +export type Modelcatalog_Standard_VariableTasksByResponseVariable_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "modelcatalog_standard_variable" */ +export type Modelcatalog_Standard_VariableThreadsByDrivingVariableArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "modelcatalog_standard_variable" */ +export type Modelcatalog_Standard_VariableThreadsByDrivingVariable_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "modelcatalog_standard_variable" */ +export type Modelcatalog_Standard_VariableThreadsByResponseVariableArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + +/** columns and relationships of "modelcatalog_standard_variable" */ +export type Modelcatalog_Standard_VariableThreadsByResponseVariable_AggregateArgs = { + distinct_on?: InputMaybe>; + limit?: InputMaybe; + offset?: InputMaybe; + order_by?: InputMaybe>; + where?: InputMaybe; +}; + + /** columns and relationships of "modelcatalog_standard_variable" */ export type Modelcatalog_Standard_VariableVariable_PresentationsArgs = { distinct_on?: InputMaybe>; @@ -10355,6 +10451,10 @@ export type Modelcatalog_Standard_Variable_Bool_Exp = { id?: InputMaybe; label?: InputMaybe; same_as?: InputMaybe<_Text_Comparison_Exp>; + tasksByDrivingVariable?: InputMaybe; + tasksByResponseVariable?: InputMaybe; + threadsByDrivingVariable?: InputMaybe; + threadsByResponseVariable?: InputMaybe; variable_presentations?: InputMaybe; }; @@ -10370,6 +10470,10 @@ export type Modelcatalog_Standard_Variable_Insert_Input = { id?: InputMaybe; label?: InputMaybe; same_as?: InputMaybe; + tasksByDrivingVariable?: InputMaybe; + tasksByResponseVariable?: InputMaybe; + threadsByDrivingVariable?: InputMaybe; + threadsByResponseVariable?: InputMaybe; variable_presentations?: InputMaybe; }; @@ -10418,6 +10522,10 @@ export type Modelcatalog_Standard_Variable_Order_By = { id?: InputMaybe; label?: InputMaybe; same_as?: InputMaybe; + tasksByDrivingVariable_aggregate?: InputMaybe; + tasksByResponseVariable_aggregate?: InputMaybe; + threadsByDrivingVariable_aggregate?: InputMaybe; + threadsByResponseVariable_aggregate?: InputMaybe; variable_presentations_aggregate?: InputMaybe; }; @@ -22636,7 +22744,7 @@ export type Subscription_RootVariable_Category_By_PkArgs = { export type Task = { __typename?: 'task'; /** An object relationship */ - driving_variable?: Maybe; + driving_variable?: Maybe; driving_variable_id?: Maybe; end_date: Scalars['date']['output']; /** An array relationship */ @@ -22656,7 +22764,7 @@ export type Task = { region?: Maybe; region_id?: Maybe; /** An object relationship */ - response_variable?: Maybe; + response_variable?: Maybe; response_variable_id?: Maybe; start_date: Scalars['date']['output']; /** An array relationship */ @@ -22766,7 +22874,7 @@ export type Task_Bool_Exp = { _and?: InputMaybe>; _not?: InputMaybe; _or?: InputMaybe>; - driving_variable?: InputMaybe; + driving_variable?: InputMaybe; driving_variable_id?: InputMaybe; end_date?: InputMaybe; events?: InputMaybe; @@ -22777,7 +22885,7 @@ export type Task_Bool_Exp = { problem_statement_id?: InputMaybe; region?: InputMaybe; region_id?: InputMaybe; - response_variable?: InputMaybe; + response_variable?: InputMaybe; response_variable_id?: InputMaybe; start_date?: InputMaybe; threads?: InputMaybe; @@ -22804,7 +22912,7 @@ export type Task_Events_Comparison_Exp = { /** input type for inserting data into table "task" */ export type Task_Insert_Input = { - driving_variable?: InputMaybe; + driving_variable?: InputMaybe; driving_variable_id?: InputMaybe; end_date?: InputMaybe; events?: InputMaybe; @@ -22815,7 +22923,7 @@ export type Task_Insert_Input = { problem_statement_id?: InputMaybe; region?: InputMaybe; region_id?: InputMaybe; - response_variable?: InputMaybe; + response_variable?: InputMaybe; response_variable_id?: InputMaybe; start_date?: InputMaybe; threads?: InputMaybe; @@ -22896,7 +23004,7 @@ export type Task_On_Conflict = { /** Ordering options when selecting data from "task". */ export type Task_Order_By = { - driving_variable?: InputMaybe; + driving_variable?: InputMaybe; driving_variable_id?: InputMaybe; end_date?: InputMaybe; events_aggregate?: InputMaybe; @@ -22907,7 +23015,7 @@ export type Task_Order_By = { problem_statement_id?: InputMaybe; region?: InputMaybe; region_id?: InputMaybe; - response_variable?: InputMaybe; + response_variable?: InputMaybe; response_variable_id?: InputMaybe; start_date?: InputMaybe; threads_aggregate?: InputMaybe; @@ -23341,7 +23449,7 @@ export type Thread = { __typename?: 'thread'; dataset_id?: Maybe; /** An object relationship */ - driving_variable?: Maybe; + driving_variable?: Maybe; driving_variable_id?: Maybe; end_date: Scalars['date']['output']; /** An array relationship */ @@ -23358,7 +23466,7 @@ export type Thread = { region?: Maybe; region_id?: Maybe; /** An object relationship */ - response_variable?: Maybe; + response_variable?: Maybe; response_variable_id?: Maybe; start_date: Scalars['date']['output']; /** An object relationship */ @@ -23496,7 +23604,7 @@ export type Thread_Bool_Exp = { _not?: InputMaybe; _or?: InputMaybe>; dataset_id?: InputMaybe; - driving_variable?: InputMaybe; + driving_variable?: InputMaybe; driving_variable_id?: InputMaybe; end_date?: InputMaybe; events?: InputMaybe; @@ -23505,7 +23613,7 @@ export type Thread_Bool_Exp = { permissions?: InputMaybe; region?: InputMaybe; region_id?: InputMaybe; - response_variable?: InputMaybe; + response_variable?: InputMaybe; response_variable_id?: InputMaybe; start_date?: InputMaybe; task?: InputMaybe; @@ -23692,7 +23800,7 @@ export type Thread_Events_Comparison_Exp = { /** input type for inserting data into table "thread" */ export type Thread_Insert_Input = { dataset_id?: InputMaybe; - driving_variable?: InputMaybe; + driving_variable?: InputMaybe; driving_variable_id?: InputMaybe; end_date?: InputMaybe; events?: InputMaybe; @@ -23701,7 +23809,7 @@ export type Thread_Insert_Input = { permissions?: InputMaybe; region?: InputMaybe; region_id?: InputMaybe; - response_variable?: InputMaybe; + response_variable?: InputMaybe; response_variable_id?: InputMaybe; start_date?: InputMaybe; task?: InputMaybe; @@ -25161,7 +25269,7 @@ export type Thread_On_Conflict = { /** Ordering options when selecting data from "thread". */ export type Thread_Order_By = { dataset_id?: InputMaybe; - driving_variable?: InputMaybe; + driving_variable?: InputMaybe; driving_variable_id?: InputMaybe; end_date?: InputMaybe; events_aggregate?: InputMaybe; @@ -25170,7 +25278,7 @@ export type Thread_Order_By = { permissions_aggregate?: InputMaybe; region?: InputMaybe; region_id?: InputMaybe; - response_variable?: InputMaybe; + response_variable?: InputMaybe; response_variable_id?: InputMaybe; start_date?: InputMaybe; task?: InputMaybe; @@ -25674,22 +25782,6 @@ export type Variable = { /** An aggregate relationship */ model_ios_aggregate: Model_Io_Variable_Aggregate; name?: Maybe; - /** An array relationship */ - tasksByDrivingVariable: Array; - /** An aggregate relationship */ - tasksByDrivingVariable_aggregate: Task_Aggregate; - /** An array relationship */ - tasksByResponseVariable: Array; - /** An aggregate relationship */ - tasksByResponseVariable_aggregate: Task_Aggregate; - /** An array relationship */ - threadsByDrivingVariable: Array; - /** An aggregate relationship */ - threadsByDrivingVariable_aggregate: Thread_Aggregate; - /** An array relationship */ - threadsByResponseVariable: Array; - /** An aggregate relationship */ - threadsByResponseVariable_aggregate: Thread_Aggregate; url?: Maybe; }; @@ -25733,86 +25825,6 @@ export type VariableModel_Ios_AggregateArgs = { where?: InputMaybe; }; - -/** columns and relationships of "variable" */ -export type VariableTasksByDrivingVariableArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - - -/** columns and relationships of "variable" */ -export type VariableTasksByDrivingVariable_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - - -/** columns and relationships of "variable" */ -export type VariableTasksByResponseVariableArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - - -/** columns and relationships of "variable" */ -export type VariableTasksByResponseVariable_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - - -/** columns and relationships of "variable" */ -export type VariableThreadsByDrivingVariableArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - - -/** columns and relationships of "variable" */ -export type VariableThreadsByDrivingVariable_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - - -/** columns and relationships of "variable" */ -export type VariableThreadsByResponseVariableArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - - -/** columns and relationships of "variable" */ -export type VariableThreadsByResponseVariable_AggregateArgs = { - distinct_on?: InputMaybe>; - limit?: InputMaybe; - offset?: InputMaybe; - order_by?: InputMaybe>; - where?: InputMaybe; -}; - /** aggregated selection of "variable" */ export type Variable_Aggregate = { __typename?: 'variable_aggregate'; @@ -25863,10 +25875,6 @@ export type Variable_Bool_Exp = { is_indicator?: InputMaybe; model_ios?: InputMaybe; name?: InputMaybe; - tasksByDrivingVariable?: InputMaybe; - tasksByResponseVariable?: InputMaybe; - threadsByDrivingVariable?: InputMaybe; - threadsByResponseVariable?: InputMaybe; url?: InputMaybe; }; @@ -26038,10 +26046,6 @@ export type Variable_Insert_Input = { is_indicator?: InputMaybe; model_ios?: InputMaybe; name?: InputMaybe; - tasksByDrivingVariable?: InputMaybe; - tasksByResponseVariable?: InputMaybe; - threadsByDrivingVariable?: InputMaybe; - threadsByResponseVariable?: InputMaybe; url?: InputMaybe; }; @@ -26117,10 +26121,6 @@ export type Variable_Order_By = { is_indicator?: InputMaybe; model_ios_aggregate?: InputMaybe; name?: InputMaybe; - tasksByDrivingVariable_aggregate?: InputMaybe; - tasksByResponseVariable_aggregate?: InputMaybe; - threadsByDrivingVariable_aggregate?: InputMaybe; - threadsByResponseVariable_aggregate?: InputMaybe; url?: InputMaybe; }; diff --git a/ui-react/src/graphql/generated/schema.graphql b/ui-react/src/graphql/generated/schema.graphql index ab320ea8..c4e8e559 100644 --- a/ui-react/src/graphql/generated/schema.graphql +++ b/ui-react/src/graphql/generated/schema.graphql @@ -12437,6 +12437,150 @@ type modelcatalog_standard_variable { label: String! same_as: _text + """An array relationship""" + tasksByDrivingVariable( + """distinct select on columns""" + distinct_on: [task_select_column!] + + """limit the number of rows returned""" + limit: Int + + """skip the first n rows. Use only with order_by""" + offset: Int + + """sort the rows by one or more columns""" + order_by: [task_order_by!] + + """filter the rows returned""" + where: task_bool_exp + ): [task!]! + + """An aggregate relationship""" + tasksByDrivingVariable_aggregate( + """distinct select on columns""" + distinct_on: [task_select_column!] + + """limit the number of rows returned""" + limit: Int + + """skip the first n rows. Use only with order_by""" + offset: Int + + """sort the rows by one or more columns""" + order_by: [task_order_by!] + + """filter the rows returned""" + where: task_bool_exp + ): task_aggregate! + + """An array relationship""" + tasksByResponseVariable( + """distinct select on columns""" + distinct_on: [task_select_column!] + + """limit the number of rows returned""" + limit: Int + + """skip the first n rows. Use only with order_by""" + offset: Int + + """sort the rows by one or more columns""" + order_by: [task_order_by!] + + """filter the rows returned""" + where: task_bool_exp + ): [task!]! + + """An aggregate relationship""" + tasksByResponseVariable_aggregate( + """distinct select on columns""" + distinct_on: [task_select_column!] + + """limit the number of rows returned""" + limit: Int + + """skip the first n rows. Use only with order_by""" + offset: Int + + """sort the rows by one or more columns""" + order_by: [task_order_by!] + + """filter the rows returned""" + where: task_bool_exp + ): task_aggregate! + + """An array relationship""" + threadsByDrivingVariable( + """distinct select on columns""" + distinct_on: [thread_select_column!] + + """limit the number of rows returned""" + limit: Int + + """skip the first n rows. Use only with order_by""" + offset: Int + + """sort the rows by one or more columns""" + order_by: [thread_order_by!] + + """filter the rows returned""" + where: thread_bool_exp + ): [thread!]! + + """An aggregate relationship""" + threadsByDrivingVariable_aggregate( + """distinct select on columns""" + distinct_on: [thread_select_column!] + + """limit the number of rows returned""" + limit: Int + + """skip the first n rows. Use only with order_by""" + offset: Int + + """sort the rows by one or more columns""" + order_by: [thread_order_by!] + + """filter the rows returned""" + where: thread_bool_exp + ): thread_aggregate! + + """An array relationship""" + threadsByResponseVariable( + """distinct select on columns""" + distinct_on: [thread_select_column!] + + """limit the number of rows returned""" + limit: Int + + """skip the first n rows. Use only with order_by""" + offset: Int + + """sort the rows by one or more columns""" + order_by: [thread_order_by!] + + """filter the rows returned""" + where: thread_bool_exp + ): [thread!]! + + """An aggregate relationship""" + threadsByResponseVariable_aggregate( + """distinct select on columns""" + distinct_on: [thread_select_column!] + + """limit the number of rows returned""" + limit: Int + + """skip the first n rows. Use only with order_by""" + offset: Int + + """sort the rows by one or more columns""" + order_by: [thread_order_by!] + + """filter the rows returned""" + where: thread_bool_exp + ): thread_aggregate! + """An array relationship""" variable_presentations( """distinct select on columns""" @@ -12502,6 +12646,10 @@ input modelcatalog_standard_variable_bool_exp { id: String_comparison_exp label: String_comparison_exp same_as: _text_comparison_exp + tasksByDrivingVariable: task_bool_exp + tasksByResponseVariable: task_bool_exp + threadsByDrivingVariable: thread_bool_exp + threadsByResponseVariable: thread_bool_exp variable_presentations: modelcatalog_variable_presentation_bool_exp } @@ -12523,6 +12671,10 @@ input modelcatalog_standard_variable_insert_input { id: String label: String same_as: _text + tasksByDrivingVariable: task_arr_rel_insert_input + tasksByResponseVariable: task_arr_rel_insert_input + threadsByDrivingVariable: thread_arr_rel_insert_input + threadsByResponseVariable: thread_arr_rel_insert_input variable_presentations: modelcatalog_variable_presentation_arr_rel_insert_input } @@ -12578,6 +12730,10 @@ input modelcatalog_standard_variable_order_by { id: order_by label: order_by same_as: order_by + tasksByDrivingVariable_aggregate: task_aggregate_order_by + tasksByResponseVariable_aggregate: task_aggregate_order_by + threadsByDrivingVariable_aggregate: thread_aggregate_order_by + threadsByResponseVariable_aggregate: thread_aggregate_order_by variable_presentations_aggregate: modelcatalog_variable_presentation_aggregate_order_by } @@ -27966,7 +28122,7 @@ columns and relationships of "task" """ type task { """An object relationship""" - driving_variable: variable + driving_variable: modelcatalog_standard_variable driving_variable_id: String end_date: date! @@ -28053,7 +28209,7 @@ type task { region_id: String """An object relationship""" - response_variable: variable + response_variable: modelcatalog_standard_variable response_variable_id: String start_date: date! @@ -28137,7 +28293,7 @@ input task_bool_exp { _and: [task_bool_exp!] _not: task_bool_exp _or: [task_bool_exp!] - driving_variable: variable_bool_exp + driving_variable: modelcatalog_standard_variable_bool_exp driving_variable_id: String_comparison_exp end_date: date_comparison_exp events: task_provenance_bool_exp @@ -28148,7 +28304,7 @@ input task_bool_exp { problem_statement_id: String_comparison_exp region: region_bool_exp region_id: String_comparison_exp - response_variable: variable_bool_exp + response_variable: modelcatalog_standard_variable_bool_exp response_variable_id: String_comparison_exp start_date: date_comparison_exp threads: thread_bool_exp @@ -28185,7 +28341,7 @@ input task_events_comparison_exp { input type for inserting data into table "task" """ input task_insert_input { - driving_variable: variable_obj_rel_insert_input + driving_variable: modelcatalog_standard_variable_obj_rel_insert_input driving_variable_id: String end_date: date events: task_provenance_arr_rel_insert_input @@ -28196,7 +28352,7 @@ input task_insert_input { problem_statement_id: String region: region_obj_rel_insert_input region_id: String - response_variable: variable_obj_rel_insert_input + response_variable: modelcatalog_standard_variable_obj_rel_insert_input response_variable_id: String start_date: date threads: thread_arr_rel_insert_input @@ -28286,7 +28442,7 @@ input task_on_conflict { """Ordering options when selecting data from "task".""" input task_order_by { - driving_variable: variable_order_by + driving_variable: modelcatalog_standard_variable_order_by driving_variable_id: order_by end_date: order_by events_aggregate: task_provenance_aggregate_order_by @@ -28297,7 +28453,7 @@ input task_order_by { problem_statement_id: order_by region: region_order_by region_id: order_by - response_variable: variable_order_by + response_variable: modelcatalog_standard_variable_order_by response_variable_id: order_by start_date: order_by threads_aggregate: thread_aggregate_order_by @@ -28811,7 +28967,7 @@ type thread { dataset_id: String """An object relationship""" - driving_variable: variable + driving_variable: modelcatalog_standard_variable driving_variable_id: String end_date: date! @@ -28894,7 +29050,7 @@ type thread { region_id: String """An object relationship""" - response_variable: variable + response_variable: modelcatalog_standard_variable response_variable_id: String start_date: date! @@ -29019,7 +29175,7 @@ input thread_bool_exp { _not: thread_bool_exp _or: [thread_bool_exp!] dataset_id: String_comparison_exp - driving_variable: variable_bool_exp + driving_variable: modelcatalog_standard_variable_bool_exp driving_variable_id: String_comparison_exp end_date: date_comparison_exp events: thread_provenance_bool_exp @@ -29028,7 +29184,7 @@ input thread_bool_exp { permissions: thread_permission_bool_exp region: region_bool_exp region_id: String_comparison_exp - response_variable: variable_bool_exp + response_variable: modelcatalog_standard_variable_bool_exp response_variable_id: String_comparison_exp start_date: date_comparison_exp task: task_bool_exp @@ -29249,7 +29405,7 @@ input type for inserting data into table "thread" """ input thread_insert_input { dataset_id: String - driving_variable: variable_obj_rel_insert_input + driving_variable: modelcatalog_standard_variable_obj_rel_insert_input driving_variable_id: String end_date: date events: thread_provenance_arr_rel_insert_input @@ -29258,7 +29414,7 @@ input thread_insert_input { permissions: thread_permission_arr_rel_insert_input region: region_obj_rel_insert_input region_id: String - response_variable: variable_obj_rel_insert_input + response_variable: modelcatalog_standard_variable_obj_rel_insert_input response_variable_id: String start_date: date task: task_obj_rel_insert_input @@ -30956,7 +31112,7 @@ input thread_on_conflict { """Ordering options when selecting data from "thread".""" input thread_order_by { dataset_id: order_by - driving_variable: variable_order_by + driving_variable: modelcatalog_standard_variable_order_by driving_variable_id: order_by end_date: order_by events_aggregate: thread_provenance_aggregate_order_by @@ -30965,7 +31121,7 @@ input thread_order_by { permissions_aggregate: thread_permission_aggregate_order_by region: region_order_by region_id: order_by - response_variable: variable_order_by + response_variable: modelcatalog_standard_variable_order_by response_variable_id: order_by start_date: order_by task: task_order_by @@ -31628,150 +31784,6 @@ type variable { where: model_io_variable_bool_exp ): model_io_variable_aggregate! name: String - - """An array relationship""" - tasksByDrivingVariable( - """distinct select on columns""" - distinct_on: [task_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [task_order_by!] - - """filter the rows returned""" - where: task_bool_exp - ): [task!]! - - """An aggregate relationship""" - tasksByDrivingVariable_aggregate( - """distinct select on columns""" - distinct_on: [task_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [task_order_by!] - - """filter the rows returned""" - where: task_bool_exp - ): task_aggregate! - - """An array relationship""" - tasksByResponseVariable( - """distinct select on columns""" - distinct_on: [task_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [task_order_by!] - - """filter the rows returned""" - where: task_bool_exp - ): [task!]! - - """An aggregate relationship""" - tasksByResponseVariable_aggregate( - """distinct select on columns""" - distinct_on: [task_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [task_order_by!] - - """filter the rows returned""" - where: task_bool_exp - ): task_aggregate! - - """An array relationship""" - threadsByDrivingVariable( - """distinct select on columns""" - distinct_on: [thread_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [thread_order_by!] - - """filter the rows returned""" - where: thread_bool_exp - ): [thread!]! - - """An aggregate relationship""" - threadsByDrivingVariable_aggregate( - """distinct select on columns""" - distinct_on: [thread_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [thread_order_by!] - - """filter the rows returned""" - where: thread_bool_exp - ): thread_aggregate! - - """An array relationship""" - threadsByResponseVariable( - """distinct select on columns""" - distinct_on: [thread_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [thread_order_by!] - - """filter the rows returned""" - where: thread_bool_exp - ): [thread!]! - - """An aggregate relationship""" - threadsByResponseVariable_aggregate( - """distinct select on columns""" - distinct_on: [thread_select_column!] - - """limit the number of rows returned""" - limit: Int - - """skip the first n rows. Use only with order_by""" - offset: Int - - """sort the rows by one or more columns""" - order_by: [thread_order_by!] - - """filter the rows returned""" - where: thread_bool_exp - ): thread_aggregate! url: String } @@ -31827,10 +31839,6 @@ input variable_bool_exp { is_indicator: Boolean_comparison_exp model_ios: model_io_variable_bool_exp name: String_comparison_exp - tasksByDrivingVariable: task_bool_exp - tasksByResponseVariable: task_bool_exp - threadsByDrivingVariable: thread_bool_exp - threadsByResponseVariable: thread_bool_exp url: String_comparison_exp } @@ -32032,10 +32040,6 @@ input variable_insert_input { is_indicator: Boolean model_ios: model_io_variable_arr_rel_insert_input name: String - tasksByDrivingVariable: task_arr_rel_insert_input - tasksByResponseVariable: task_arr_rel_insert_input - threadsByDrivingVariable: thread_arr_rel_insert_input - threadsByResponseVariable: thread_arr_rel_insert_input url: String } @@ -32120,10 +32124,6 @@ input variable_order_by { is_indicator: order_by model_ios_aggregate: model_io_variable_aggregate_order_by name: order_by - tasksByDrivingVariable_aggregate: task_aggregate_order_by - tasksByResponseVariable_aggregate: task_aggregate_order_by - threadsByDrivingVariable_aggregate: thread_aggregate_order_by - threadsByResponseVariable_aggregate: thread_aggregate_order_by url: order_by }