diff --git a/core-spec/v1/schemas/action.yaml b/core-spec/v1/schemas/action.yaml index dac2c51..6171f3e 100644 --- a/core-spec/v1/schemas/action.yaml +++ b/core-spec/v1/schemas/action.yaml @@ -178,7 +178,6 @@ properties: items: type: object required: - - id - model properties: id: diff --git a/core-spec/v1/schemas/card.yaml b/core-spec/v1/schemas/card.yaml index 8a37776..b0b87b8 100644 --- a/core-spec/v1/schemas/card.yaml +++ b/core-spec/v1/schemas/card.yaml @@ -187,7 +187,6 @@ properties: items: type: object required: - - id - model properties: id: diff --git a/core-spec/v1/schemas/channel.yaml b/core-spec/v1/schemas/channel.yaml index 2915cfe..668aca7 100644 --- a/core-spec/v1/schemas/channel.yaml +++ b/core-spec/v1/schemas/channel.yaml @@ -42,7 +42,6 @@ properties: items: type: object required: - - id - model properties: id: diff --git a/core-spec/v1/schemas/collection.yaml b/core-spec/v1/schemas/collection.yaml index f33f482..8340593 100644 --- a/core-spec/v1/schemas/collection.yaml +++ b/core-spec/v1/schemas/collection.yaml @@ -97,7 +97,6 @@ properties: items: type: object required: - - id - model properties: id: diff --git a/core-spec/v1/schemas/dashboard.yaml b/core-spec/v1/schemas/dashboard.yaml index 70d36d7..2b8c457 100644 --- a/core-spec/v1/schemas/dashboard.yaml +++ b/core-spec/v1/schemas/dashboard.yaml @@ -147,7 +147,6 @@ properties: items: type: object required: - - id - model properties: id: @@ -172,7 +171,6 @@ $defs: - col - size_x - size_y - - serdes/meta properties: entity_id: $ref: "common/id.yaml#/$defs/entity_id" @@ -240,7 +238,6 @@ $defs: items: type: object required: - - id - model properties: id: diff --git a/core-spec/v1/schemas/data_app.yaml b/core-spec/v1/schemas/data_app.yaml index 3d06e0d..e368b55 100644 --- a/core-spec/v1/schemas/data_app.yaml +++ b/core-spec/v1/schemas/data_app.yaml @@ -65,7 +65,6 @@ properties: items: type: object required: - - id - model properties: id: diff --git a/core-spec/v1/schemas/database.yaml b/core-spec/v1/schemas/database.yaml index 1bcc8a0..0d02320 100644 --- a/core-spec/v1/schemas/database.yaml +++ b/core-spec/v1/schemas/database.yaml @@ -24,7 +24,7 @@ properties: description: Identity path for serialization items: type: object - required: [id, model] + required: [model] properties: id: type: string diff --git a/core-spec/v1/schemas/document.yaml b/core-spec/v1/schemas/document.yaml index 9735e6a..cbd10cc 100644 --- a/core-spec/v1/schemas/document.yaml +++ b/core-spec/v1/schemas/document.yaml @@ -77,7 +77,6 @@ properties: items: type: object required: - - id - model properties: id: diff --git a/core-spec/v1/schemas/field.yaml b/core-spec/v1/schemas/field.yaml index 711790c..4f01c39 100644 --- a/core-spec/v1/schemas/field.yaml +++ b/core-spec/v1/schemas/field.yaml @@ -86,7 +86,7 @@ properties: Table, and one or more Field entries (for nested fields). items: type: object - required: [id, model] + required: [model] properties: id: type: string diff --git a/core-spec/v1/schemas/field_user_settings.yaml b/core-spec/v1/schemas/field_user_settings.yaml index 539fd3d..64f050e 100644 --- a/core-spec/v1/schemas/field_user_settings.yaml +++ b/core-spec/v1/schemas/field_user_settings.yaml @@ -5,11 +5,14 @@ type: object required: - serdes/meta properties: + field_id: + description: The Field these settings belong to + $ref: "common/id.yaml#/$defs/field_id" serdes/meta: type: array items: type: object - required: [id, model] + required: [model] properties: id: { type: string } model: { type: string, enum: [Database, Schema, Table, Field, FieldUserSettings] } diff --git a/core-spec/v1/schemas/field_values.yaml b/core-spec/v1/schemas/field_values.yaml index e1fbf8b..655739d 100644 --- a/core-spec/v1/schemas/field_values.yaml +++ b/core-spec/v1/schemas/field_values.yaml @@ -8,6 +8,9 @@ required: - values - serdes/meta properties: + field_id: + description: The Field these values belong to + $ref: "common/id.yaml#/$defs/field_id" values: type: array description: List of distinct field values @@ -49,7 +52,7 @@ properties: Table, Field, and FieldValues entries. items: type: object - required: [id, model] + required: [model] properties: id: type: string diff --git a/core-spec/v1/schemas/glossary.yaml b/core-spec/v1/schemas/glossary.yaml index ab9b537..a2cad02 100644 --- a/core-spec/v1/schemas/glossary.yaml +++ b/core-spec/v1/schemas/glossary.yaml @@ -12,7 +12,7 @@ properties: type: array items: type: object - required: [id, model] + required: [model] properties: id: { type: string } model: { type: string, const: Glossary } diff --git a/core-spec/v1/schemas/measure.yaml b/core-spec/v1/schemas/measure.yaml index 5b89696..b099f7c 100644 --- a/core-spec/v1/schemas/measure.yaml +++ b/core-spec/v1/schemas/measure.yaml @@ -79,7 +79,6 @@ properties: items: type: object required: - - id - model properties: id: diff --git a/core-spec/v1/schemas/metabot.yaml b/core-spec/v1/schemas/metabot.yaml index 9d5f87d..f211aca 100644 --- a/core-spec/v1/schemas/metabot.yaml +++ b/core-spec/v1/schemas/metabot.yaml @@ -69,7 +69,7 @@ properties: description: Identity path including parent Metabot items: type: object - required: [id, model] + required: [model] properties: id: { type: string } model: @@ -89,7 +89,6 @@ properties: items: type: object required: - - id - model properties: id: diff --git a/core-spec/v1/schemas/python_library.yaml b/core-spec/v1/schemas/python_library.yaml index 05d7dad..0e886f0 100644 --- a/core-spec/v1/schemas/python_library.yaml +++ b/core-spec/v1/schemas/python_library.yaml @@ -28,7 +28,6 @@ properties: items: type: object required: - - id - model properties: id: diff --git a/core-spec/v1/schemas/segment.yaml b/core-spec/v1/schemas/segment.yaml index 76398d6..6783176 100644 --- a/core-spec/v1/schemas/segment.yaml +++ b/core-spec/v1/schemas/segment.yaml @@ -74,7 +74,6 @@ properties: items: type: object required: - - id - model properties: id: diff --git a/core-spec/v1/schemas/snippet.yaml b/core-spec/v1/schemas/snippet.yaml index a80c47f..c5fac78 100644 --- a/core-spec/v1/schemas/snippet.yaml +++ b/core-spec/v1/schemas/snippet.yaml @@ -50,7 +50,6 @@ properties: items: type: object required: - - id - model properties: id: diff --git a/core-spec/v1/schemas/table.yaml b/core-spec/v1/schemas/table.yaml index 5a78c7a..5efba09 100644 --- a/core-spec/v1/schemas/table.yaml +++ b/core-spec/v1/schemas/table.yaml @@ -41,7 +41,7 @@ properties: and Table entries. items: type: object - required: [id, model] + required: [model] properties: id: type: string diff --git a/core-spec/v1/schemas/timeline.yaml b/core-spec/v1/schemas/timeline.yaml index e935b4e..9e16800 100644 --- a/core-spec/v1/schemas/timeline.yaml +++ b/core-spec/v1/schemas/timeline.yaml @@ -51,7 +51,6 @@ properties: items: type: object required: - - id - model properties: id: diff --git a/core-spec/v1/schemas/transform.yaml b/core-spec/v1/schemas/transform.yaml index cf92c44..85bbc71 100644 --- a/core-spec/v1/schemas/transform.yaml +++ b/core-spec/v1/schemas/transform.yaml @@ -105,7 +105,6 @@ properties: items: type: object required: - - id - model properties: id: diff --git a/core-spec/v1/schemas/transform_job.yaml b/core-spec/v1/schemas/transform_job.yaml index baf29ea..32be5c3 100644 --- a/core-spec/v1/schemas/transform_job.yaml +++ b/core-spec/v1/schemas/transform_job.yaml @@ -81,7 +81,6 @@ properties: items: type: object required: - - id - model properties: id: diff --git a/core-spec/v1/schemas/transform_tag.yaml b/core-spec/v1/schemas/transform_tag.yaml index bd4022e..fdb5472 100644 --- a/core-spec/v1/schemas/transform_tag.yaml +++ b/core-spec/v1/schemas/transform_tag.yaml @@ -37,7 +37,6 @@ properties: items: type: object required: - - id - model properties: id: diff --git a/core-spec/v1/spec.md b/core-spec/v1/spec.md index c7dba9d..b8cc70a 100644 --- a/core-spec/v1/spec.md +++ b/core-spec/v1/spec.md @@ -72,7 +72,14 @@ For JSON-unfolded fields, the Field FK extends beyond 4 elements with the nested ### SerDes Meta -Every entity includes a `serdes/meta` array that encodes the entity's identity path. Each entry contains an `id` and `model` field. Entities identified by NanoID also include a `label` (slugified name). +Every entity includes a `serdes/meta` array with a single entry naming its `model`. Metabase derives the entity's identity from its own fields, such as `entity_id`, or `name` and `table_id` for a Field. Entities nested inside another entity's file, such as dashboard cards, don't include `serdes/meta`. + +```yaml +serdes/meta: +- model: Card +``` + +Older exports store the entity's full identity path instead, with an `id` (and an optional `label`) on each entry. Metabase still imports that form. ```yaml serdes/meta: @@ -2222,9 +2229,7 @@ name: Minimal entity_id: cOlMiNiMaL000ExAmPlx2 slug: minimal serdes/meta: -- id: cOlMiNiMaL000ExAmPlx2 - label: minimal - model: Collection +- model: Collection ``` **Subcollection** (with `parent_id`): @@ -2234,9 +2239,7 @@ name: Reports entity_id: cOlRePorTs000ExAmPlx2 parent_id: cOlMiNiMaL000ExAmPlx2 serdes/meta: -- id: cOlRePorTs000ExAmPlx2 - label: reports - model: Collection +- model: Collection ``` --- @@ -2308,9 +2311,7 @@ collection_id: M-Q4pcV0qkiyJ0kiSWECl parameters: [] parameter_mappings: [] serdes/meta: -- id: f1C68pznmrpN1F5xFDj6d - label: products_question - model: Card +- model: Card ``` --- @@ -2405,9 +2406,7 @@ parameters: - order_id parameter_mappings: [] serdes/meta: -- id: NJksetfXk2oh530o3RD_5 - label: apply_discount - model: Action +- model: Action ``` **Implicit action** (deprecated; `collections/main/queries/create_order.yaml`): @@ -2433,9 +2432,7 @@ visualization_settings: id: QUANTITY defaultValue: 1 serdes/meta: -- id: XgqYIEGPfvCklZUxOLp9m - label: create_order - model: Action +- model: Action ``` --- @@ -2594,15 +2591,8 @@ dashcards: - card_id: OMuZ0wHe2O5Z_59-cLmn4 position: 0 visualization_settings: {} - serdes/meta: - - id: Q_jD-f-9clKLFZ2TfUG2h - model: Dashboard - - id: UkpFcfUZMZt9ehChwnrAO - model: DashboardCard serdes/meta: -- id: Q_jD-f-9clKLFZ2TfUG2h - label: orders_overview - model: Dashboard +- model: Dashboard ``` --- @@ -2745,9 +2735,7 @@ document: content_type: "application/json+vnd.prose-mirror" collection_id: null serdes/meta: -- id: dOc1PrOdAnAlYsIsRpTx2 - label: product_analysis_report - model: Document +- model: Document ``` --- @@ -2800,9 +2788,7 @@ definition: - CATEGORY - Widget serdes/meta: -- id: aB3kLmN9pQrStUvWxYz1a - label: widget_products - model: Segment +- model: Segment ``` --- @@ -2854,9 +2840,7 @@ definition: - ORDERS - TOTAL serdes/meta: -- id: xK7mPqR2sT4uVwXyZ9a1b - label: total_revenue - model: Measure +- model: Measure ``` --- @@ -2892,9 +2876,7 @@ archived: false collection_id: Y6d4QwJgGKw-X1tRh3ir2 template_tags: {} serdes/meta: -- id: xK7mPqR2sT4uVwXyZ9a1b - label: active_order_filter - model: NativeQuerySnippet +- model: NativeQuerySnippet ``` --- @@ -2990,9 +2972,6 @@ tags: - entity_id: TUtH6I5SqautNtUZoZ6Ti position: 0 tag_id: hourlyhourlyhourlyxxx # entity_id of the TransformTag - serdes/meta: - - id: TUtH6I5SqautNtUZoZ6Ti - model: TransformTransformTag ``` ### TransformTag @@ -3037,9 +3016,6 @@ job_tags: - entity_id: BPhRX8sTqcG5tZrXKeQuP position: 0 tag_id: mXacguzCHQ5bBhqQPt3kd # entity_id of the "daily" tag - serdes/meta: - - id: BPhRX8sTqcG5tZrXKeQuP - model: TransformJobTransformTag ``` A job can reference multiple tags. Transforms tagged with any of the job's tags will be executed when the job runs. @@ -3081,9 +3057,7 @@ target: name: product_summary collection_id: M-Q4pcV0qkiyJ0kiSWECl serdes/meta: -- id: rT5vWxYz1aBcDeFgHiJkL - label: product_summary - model: Transform +- model: Transform ``` --- @@ -3155,8 +3129,6 @@ allowed_hosts: - https://api.example.com serdes/meta: - model: DataApp - id: dApPmAnIfEsT000ExAmP1 - label: order-desk ``` **`resources/collection.yaml`:** @@ -3165,9 +3137,7 @@ serdes/meta: name: "Data App: Order Desk" entity_id: dApPcOlLeCtIoN0ExAmP1 serdes/meta: -- id: dApPcOlLeCtIoN0ExAmP1 - label: data_app_order_desk - model: Collection +- model: Collection ``` **`resources/cards/open_orders.yaml`** — a saved question the app queries: @@ -3191,9 +3161,7 @@ dataset_query: limit: 100 visualization_settings: {} serdes/meta: -- id: dApPqUeStIoN00ExAmP12 - label: open_orders - model: Card +- model: Card ``` **`resources/actions/update_order.yaml`** — the app's copy of a query action it runs: @@ -3244,9 +3212,7 @@ parameters: - order_id parameter_mappings: [] serdes/meta: -- id: dApPaCtIoNcOpYExAmP12 - label: update_order - model: Action +- model: Action ``` --- diff --git a/examples/v1/channels/email_channel.yaml b/examples/v1/channels/email_channel.yaml index 88101db..c6b80d9 100644 --- a/examples/v1/channels/email_channel.yaml +++ b/examples/v1/channels/email_channel.yaml @@ -6,5 +6,4 @@ details: name: Email Channel type: channel/email serdes/meta: -- id: Email Channel - model: Channel +- model: Channel diff --git a/examples/v1/channels/http_channel.yaml b/examples/v1/channels/http_channel.yaml index 8b9f0db..9fcbc1d 100644 --- a/examples/v1/channels/http_channel.yaml +++ b/examples/v1/channels/http_channel.yaml @@ -5,5 +5,4 @@ details: name: HTTP Channel type: channel/http serdes/meta: -- id: HTTP Channel - model: Channel +- model: Channel diff --git a/examples/v1/collections/main/dashboards.yaml b/examples/v1/collections/main/dashboards.yaml index e3958ca..7095d64 100644 --- a/examples/v1/collections/main/dashboards.yaml +++ b/examples/v1/collections/main/dashboards.yaml @@ -5,6 +5,4 @@ parent_id: null namespace: null authority_level: null serdes/meta: - - id: cOlDaShBoArDs0ExAmPlx - label: dashboards - model: Collection +- model: Collection diff --git a/examples/v1/collections/main/dashboards/all_parameter_types.yaml b/examples/v1/collections/main/dashboards/all_parameter_types.yaml index f02e50a..b53a378 100644 --- a/examples/v1/collections/main/dashboards/all_parameter_types.yaml +++ b/examples/v1/collections/main/dashboards/all_parameter_types.yaml @@ -121,6 +121,4 @@ parameters: dashcards: [] tabs: [] serdes/meta: -- id: thzuTON-F8WG6EcXTXrNK - label: all_parameter_types - model: Dashboard +- model: Dashboard diff --git a/examples/v1/collections/main/dashboards/click_behaviors.yaml b/examples/v1/collections/main/dashboards/click_behaviors.yaml index beecb64..f9d3a20 100644 --- a/examples/v1/collections/main/dashboards/click_behaviors.yaml +++ b/examples/v1/collections/main/dashboards/click_behaviors.yaml @@ -28,11 +28,6 @@ dashcards: - null series: [] visualization_settings: {} - serdes/meta: - - id: c0R_gvn90vURE5hdxK3f0 - model: Dashboard - - id: qaAe9ro4JL3ahgLLne-jG - model: DashboardCard - entity_id: iMNmMMABHvbbiVT3ufez6 card_id: UEWVldEEZ-3sYUjjN54qz row: 0 @@ -42,11 +37,6 @@ dashcards: parameter_mappings: [] series: [] visualization_settings: {} - serdes/meta: - - id: c0R_gvn90vURE5hdxK3f0 - model: Dashboard - - id: iMNmMMABHvbbiVT3ufez6 - model: DashboardCard - entity_id: RasgF0LvnoJlu7ModLrqv card_id: dYD1j3pQtJdctg8duByUL row: 9 @@ -56,11 +46,6 @@ dashcards: parameter_mappings: [] series: [] visualization_settings: {} - serdes/meta: - - id: c0R_gvn90vURE5hdxK3f0 - model: Dashboard - - id: RasgF0LvnoJlu7ModLrqv - model: DashboardCard - entity_id: NSyK1LJldomowKbt0HpuE card_id: ciG63nSLHKRTImt5iWEte row: 9 @@ -70,12 +55,5 @@ dashcards: parameter_mappings: [] series: [] visualization_settings: {} - serdes/meta: - - id: c0R_gvn90vURE5hdxK3f0 - model: Dashboard - - id: NSyK1LJldomowKbt0HpuE - model: DashboardCard serdes/meta: -- id: c0R_gvn90vURE5hdxK3f0 - label: click_behaviors - model: Dashboard +- model: Dashboard diff --git a/examples/v1/collections/main/dashboards/inline_parameters.yaml b/examples/v1/collections/main/dashboards/inline_parameters.yaml index 72aea15..c4083ea 100644 --- a/examples/v1/collections/main/dashboards/inline_parameters.yaml +++ b/examples/v1/collections/main/dashboards/inline_parameters.yaml @@ -30,11 +30,6 @@ dashcards: virtual_card: display: heading "text": "Products in {{category}}" - serdes/meta: - - id: eUXWiB6QAXkOc7P1ozoat - model: Dashboard - - id: yaY0FfjZyI9oEQQR5TZ3q - model: DashboardCard - entity_id: v29EoQMk66PPR6a68pe_S card_id: null row: 1 @@ -52,11 +47,6 @@ dashcards: text: |- Showing products in the **{{category}}** category with price above **{{min_price}}**. - serdes/meta: - - id: eUXWiB6QAXkOc7P1ozoat - model: Dashboard - - id: v29EoQMk66PPR6a68pe_S - model: DashboardCard - entity_id: _5CQR0-k5mgaLOemB5EOl card_id: h5F2EjHsRd73Dqqh8sAtd row: 3 @@ -86,12 +76,5 @@ dashcards: - null series: [] visualization_settings: {} - serdes/meta: - - id: eUXWiB6QAXkOc7P1ozoat - model: Dashboard - - id: _5CQR0-k5mgaLOemB5EOl - model: DashboardCard serdes/meta: -- id: eUXWiB6QAXkOc7P1ozoat - label: inline_parameters - model: Dashboard +- model: Dashboard diff --git a/examples/v1/collections/main/dashboards/series_and_mappings.yaml b/examples/v1/collections/main/dashboards/series_and_mappings.yaml index c0dd3b2..0bf43b5 100644 --- a/examples/v1/collections/main/dashboards/series_and_mappings.yaml +++ b/examples/v1/collections/main/dashboards/series_and_mappings.yaml @@ -53,11 +53,6 @@ dashcards: "graph.show_values": true "graph.x_axis.title_text": Month "graph.y_axis.title_text": Revenue - serdes/meta: - - id: 8xFV0XmZs2olbGKXWenfS - model: Dashboard - - id: WNjyHH5uA36yKp9D7X7bw - model: DashboardCard - entity_id: MyNhSS9N9C8B373tSlfaX card_id: dShCrdNatveOrders0005 row: 0 @@ -73,11 +68,6 @@ dashcards: - min_total series: [] visualization_settings: {} - serdes/meta: - - id: 8xFV0XmZs2olbGKXWenfS - model: Dashboard - - id: MyNhSS9N9C8B373tSlfaX - model: DashboardCard - entity_id: f9pAJKJNxCtrS93uIN7F4 card_id: dShCrdTtlRevScalr0006 row: 6 @@ -88,12 +78,5 @@ dashcards: series: [] visualization_settings: "scalar.field": Total Revenue - serdes/meta: - - id: 8xFV0XmZs2olbGKXWenfS - model: Dashboard - - id: f9pAJKJNxCtrS93uIN7F4 - model: DashboardCard serdes/meta: -- id: 8xFV0XmZs2olbGKXWenfS - label: series_and_mappings - model: Dashboard +- model: Dashboard diff --git a/examples/v1/collections/main/dashboards/series_and_mappings/monthly_avg_order.yaml b/examples/v1/collections/main/dashboards/series_and_mappings/monthly_avg_order.yaml index 68d7eab..7d4d9c0 100644 --- a/examples/v1/collections/main/dashboards/series_and_mappings/monthly_avg_order.yaml +++ b/examples/v1/collections/main/dashboards/series_and_mappings/monthly_avg_order.yaml @@ -32,6 +32,4 @@ dataset_query: - CREATED_AT visualization_settings: {} serdes/meta: -- id: dShCrdMnthlyAvgOr0003 - label: monthly_avg_order - model: Card +- model: Card diff --git a/examples/v1/collections/main/dashboards/series_and_mappings/monthly_cumulative.yaml b/examples/v1/collections/main/dashboards/series_and_mappings/monthly_cumulative.yaml index 8b4eb5a..9b15291 100644 --- a/examples/v1/collections/main/dashboards/series_and_mappings/monthly_cumulative.yaml +++ b/examples/v1/collections/main/dashboards/series_and_mappings/monthly_cumulative.yaml @@ -26,6 +26,4 @@ dataset_query: - CREATED_AT visualization_settings: {} serdes/meta: -- id: dShCrdMnthlyCumul0004 - label: monthly_cumulative - model: Card +- model: Card diff --git a/examples/v1/collections/main/dashboards/series_and_mappings/monthly_orders.yaml b/examples/v1/collections/main/dashboards/series_and_mappings/monthly_orders.yaml index c3c253b..9551095 100644 --- a/examples/v1/collections/main/dashboards/series_and_mappings/monthly_orders.yaml +++ b/examples/v1/collections/main/dashboards/series_and_mappings/monthly_orders.yaml @@ -26,6 +26,4 @@ dataset_query: - CREATED_AT visualization_settings: {} serdes/meta: -- id: dShCrdMnthlyOrdrs0001 - label: monthly_orders - model: Card +- model: Card diff --git a/examples/v1/collections/main/dashboards/series_and_mappings/monthly_revenue.yaml b/examples/v1/collections/main/dashboards/series_and_mappings/monthly_revenue.yaml index e62e6c4..d958d5f 100644 --- a/examples/v1/collections/main/dashboards/series_and_mappings/monthly_revenue.yaml +++ b/examples/v1/collections/main/dashboards/series_and_mappings/monthly_revenue.yaml @@ -32,6 +32,4 @@ dataset_query: - CREATED_AT visualization_settings: {} serdes/meta: -- id: dShCrdMnthlyRevnu0002 - label: monthly_revenue - model: Card +- model: Card diff --git a/examples/v1/collections/main/dashboards/series_and_mappings/native_orders.yaml b/examples/v1/collections/main/dashboards/series_and_mappings/native_orders.yaml index 21cbb85..64fc2b2 100644 --- a/examples/v1/collections/main/dashboards/series_and_mappings/native_orders.yaml +++ b/examples/v1/collections/main/dashboards/series_and_mappings/native_orders.yaml @@ -22,6 +22,4 @@ dataset_query: default: 50 visualization_settings: {} serdes/meta: -- id: dShCrdNatveOrders0005 - label: native_orders - model: Card +- model: Card diff --git a/examples/v1/collections/main/dashboards/series_and_mappings/total_revenue_scalar.yaml b/examples/v1/collections/main/dashboards/series_and_mappings/total_revenue_scalar.yaml index 9875fc6..d58d1e7 100644 --- a/examples/v1/collections/main/dashboards/series_and_mappings/total_revenue_scalar.yaml +++ b/examples/v1/collections/main/dashboards/series_and_mappings/total_revenue_scalar.yaml @@ -26,6 +26,4 @@ dataset_query: - TOTAL visualization_settings: {} serdes/meta: -- id: dShCrdTtlRevScalr0006 - label: total_revenue_scalar - model: Card +- model: Card diff --git a/examples/v1/collections/main/dashboards/tabbed_dashboard.yaml b/examples/v1/collections/main/dashboards/tabbed_dashboard.yaml index d3f8b93..82abf75 100644 --- a/examples/v1/collections/main/dashboards/tabbed_dashboard.yaml +++ b/examples/v1/collections/main/dashboards/tabbed_dashboard.yaml @@ -42,11 +42,6 @@ dashcards: - null series: [] visualization_settings: {} - serdes/meta: - - id: 7RZUq1g5o1C5ws_e3ppKf - model: Dashboard - - id: _Bv8Qc16SHr8CtmMHBEub - model: DashboardCard - entity_id: uyqXk5DNhkAMTp4W1TD9- card_id: dShCrdProdsTables0007 dashboard_tab_id: @@ -59,12 +54,5 @@ dashcards: parameter_mappings: [] series: [] visualization_settings: {} - serdes/meta: - - id: 7RZUq1g5o1C5ws_e3ppKf - model: Dashboard - - id: uyqXk5DNhkAMTp4W1TD9- - model: DashboardCard serdes/meta: -- id: 7RZUq1g5o1C5ws_e3ppKf - label: tabbed_dashboard - model: Dashboard +- model: Dashboard diff --git a/examples/v1/collections/main/dashboards/tabbed_dashboard/products_table.yaml b/examples/v1/collections/main/dashboards/tabbed_dashboard/products_table.yaml index 197bbe0..54ba829 100644 --- a/examples/v1/collections/main/dashboards/tabbed_dashboard/products_table.yaml +++ b/examples/v1/collections/main/dashboards/tabbed_dashboard/products_table.yaml @@ -16,6 +16,4 @@ dataset_query: - PRODUCTS visualization_settings: {} serdes/meta: -- id: dShCrdProdsTables0007 - label: products_table - model: Card +- model: Card diff --git a/examples/v1/collections/main/dashboards/virtual_cards.yaml b/examples/v1/collections/main/dashboards/virtual_cards.yaml index 5b504e7..b27a9fb 100644 --- a/examples/v1/collections/main/dashboards/virtual_cards.yaml +++ b/examples/v1/collections/main/dashboards/virtual_cards.yaml @@ -22,11 +22,6 @@ dashcards: virtual_card: display: heading text: Sales Overview - serdes/meta: - - id: Ylbpm_iPeEYav_o0kpUVD - model: Dashboard - - id: WcNpxqVEO_rIeWZwjYv7Z - model: DashboardCard - entity_id: TF6Oiw2C13CgEKtPyHIow card_id: null row: 1 @@ -46,11 +41,6 @@ dashcards: This dashboard provides an overview of sales metrics for {{product_category}}. **Key metrics** include revenue, order count, and average order value. Use the filters above to narrow down the data. - serdes/meta: - - id: Ylbpm_iPeEYav_o0kpUVD - model: Dashboard - - id: TF6Oiw2C13CgEKtPyHIow - model: DashboardCard - entity_id: oGC6qBNiHOKo0tWAHWC1m card_id: null row: 1 @@ -64,11 +54,6 @@ dashcards: display: link link: url: "https://metabase.com/docs" - serdes/meta: - - id: Ylbpm_iPeEYav_o0kpUVD - model: Dashboard - - id: oGC6qBNiHOKo0tWAHWC1m - model: DashboardCard - entity_id: 7jlJ-VFISvhlHqxeW7rWp card_id: null row: 2 @@ -84,11 +69,6 @@ dashcards: entity: id: Q_jD-f-9clKLFZ2TfUG2h model: dashboard - serdes/meta: - - id: Ylbpm_iPeEYav_o0kpUVD - model: Dashboard - - id: 7jlJ-VFISvhlHqxeW7rWp - model: DashboardCard - entity_id: wn16Kfjjjik8153kj14yI card_id: null row: 4 @@ -101,11 +81,6 @@ dashcards: virtual_card: display: iframe iframe: '' - serdes/meta: - - id: Ylbpm_iPeEYav_o0kpUVD - model: Dashboard - - id: wn16Kfjjjik8153kj14yI - model: DashboardCard - entity_id: HZ_JpYrkE8fMEYJg93RKd card_id: null row: 5 @@ -117,12 +92,5 @@ dashcards: visualization_settings: virtual_card: display: placeholder - serdes/meta: - - id: Ylbpm_iPeEYav_o0kpUVD - model: Dashboard - - id: HZ_JpYrkE8fMEYJg93RKd - model: DashboardCard serdes/meta: -- id: Ylbpm_iPeEYav_o0kpUVD - label: virtual_cards - model: Dashboard +- model: Dashboard diff --git a/examples/v1/collections/main/documents.yaml b/examples/v1/collections/main/documents.yaml index 8953ad7..b22d966 100644 --- a/examples/v1/collections/main/documents.yaml +++ b/examples/v1/collections/main/documents.yaml @@ -5,6 +5,4 @@ parent_id: null namespace: null authority_level: null serdes/meta: - - id: cOlDoCuMeNtS0ExAmPlx2 - label: documents - model: Collection +- model: Collection diff --git a/examples/v1/collections/main/documents/product_analysis_report.yaml b/examples/v1/collections/main/documents/product_analysis_report.yaml index d103300..a511452 100644 --- a/examples/v1/collections/main/documents/product_analysis_report.yaml +++ b/examples/v1/collections/main/documents/product_analysis_report.yaml @@ -86,6 +86,4 @@ archived: false view_count: 42 created_at: "2025-01-15T10:00:00Z" serdes/meta: - - id: dOc1PrOdAnAlYsIsRpTx2 - label: product_analysis_report - model: Document +- model: Document diff --git a/examples/v1/collections/main/documents/product_analysis_report/category_breakdown.yaml b/examples/v1/collections/main/documents/product_analysis_report/category_breakdown.yaml index 6612531..edbcd9b 100644 --- a/examples/v1/collections/main/documents/product_analysis_report/category_breakdown.yaml +++ b/examples/v1/collections/main/documents/product_analysis_report/category_breakdown.yaml @@ -30,6 +30,4 @@ parameters: [] parameter_mappings: [] created_at: "2025-01-15T10:00:00Z" serdes/meta: - - id: cRdCaTbReAkDoWn0ExMp1 - label: category_breakdown - model: Card +- model: Card diff --git a/examples/v1/collections/main/minimal.yaml b/examples/v1/collections/main/minimal.yaml index 28b2ba4..82daa57 100644 --- a/examples/v1/collections/main/minimal.yaml +++ b/examples/v1/collections/main/minimal.yaml @@ -5,6 +5,4 @@ parent_id: null namespace: null authority_level: null serdes/meta: - - id: cOlMiNiMaL000ExAmPlx2 - label: minimal - model: Collection +- model: Collection diff --git a/examples/v1/collections/main/minimal/marketing_analytics.yaml b/examples/v1/collections/main/minimal/marketing_analytics.yaml index 1e72e1b..deb3bb3 100644 --- a/examples/v1/collections/main/minimal/marketing_analytics.yaml +++ b/examples/v1/collections/main/minimal/marketing_analytics.yaml @@ -2,6 +2,4 @@ name: Marketing Analytics entity_id: M-Q4pcV0qkiyJ0kiSWECl parent_id: cOlMiNiMaL000ExAmPlx2 serdes/meta: -- id: M-Q4pcV0qkiyJ0kiSWECl - label: marketing_analytics - model: Collection +- model: Collection diff --git a/examples/v1/collections/main/minimal/marketing_analytics/product_dashboard.yaml b/examples/v1/collections/main/minimal/marketing_analytics/product_dashboard.yaml index 21bd773..13eca44 100644 --- a/examples/v1/collections/main/minimal/marketing_analytics/product_dashboard.yaml +++ b/examples/v1/collections/main/minimal/marketing_analytics/product_dashboard.yaml @@ -28,12 +28,5 @@ dashcards: - PRODUCTS - CATEGORY - null - serdes/meta: - - id: Q_jD-f-9clKLFZ2TfUG2h - model: Dashboard - - id: UkpFcfUZMZt9ehChwnrAO - model: DashboardCard serdes/meta: -- id: Q_jD-f-9clKLFZ2TfUG2h - label: product_dashboard - model: Dashboard +- model: Dashboard diff --git a/examples/v1/collections/main/minimal/marketing_analytics/product_overview.yaml b/examples/v1/collections/main/minimal/marketing_analytics/product_overview.yaml index b2eab4d..b314cd5 100644 --- a/examples/v1/collections/main/minimal/marketing_analytics/product_overview.yaml +++ b/examples/v1/collections/main/minimal/marketing_analytics/product_overview.yaml @@ -49,6 +49,4 @@ dataset_query: - 11111111-1111-1111-1111-111111111111 visualization_settings: {} serdes/meta: -- id: f1C68pznmrpN1F5xFDj6d - label: product_overview - model: Card +- model: Card diff --git a/examples/v1/collections/main/minimal/marketing_analytics/top_products_by_revenue.yaml b/examples/v1/collections/main/minimal/marketing_analytics/top_products_by_revenue.yaml index b423c16..0c6cfb0 100644 --- a/examples/v1/collections/main/minimal/marketing_analytics/top_products_by_revenue.yaml +++ b/examples/v1/collections/main/minimal/marketing_analytics/top_products_by_revenue.yaml @@ -28,6 +28,4 @@ dataset_query: default: Widget visualization_settings: {} serdes/meta: -- id: FTxpeL9vY5pyb6Lc6lCDK - label: top_products_by_revenue - model: Card +- model: Card diff --git a/examples/v1/collections/main/queries.yaml b/examples/v1/collections/main/queries.yaml index a015961..5b5277c 100644 --- a/examples/v1/collections/main/queries.yaml +++ b/examples/v1/collections/main/queries.yaml @@ -5,6 +5,4 @@ parent_id: null namespace: null authority_level: null serdes/meta: - - id: cOlQuErIeS0ExAmPlE2x1 - label: queries - model: Collection +- model: Collection diff --git a/examples/v1/collections/main/queries/apply_discount.yaml b/examples/v1/collections/main/queries/apply_discount.yaml index e6b0f22..c3da635 100644 --- a/examples/v1/collections/main/queries/apply_discount.yaml +++ b/examples/v1/collections/main/queries/apply_discount.yaml @@ -43,6 +43,4 @@ parameters: - order_id parameter_mappings: [] serdes/meta: -- id: NJksetfXk2oh530o3RD_5 - label: apply_discount - model: Action +- model: Action diff --git a/examples/v1/collections/main/queries/arithmetic_expressions.yaml b/examples/v1/collections/main/queries/arithmetic_expressions.yaml index 815c281..e75012f 100644 --- a/examples/v1/collections/main/queries/arithmetic_expressions.yaml +++ b/examples/v1/collections/main/queries/arithmetic_expressions.yaml @@ -114,6 +114,4 @@ dataset_query: - CREATED_AT visualization_settings: {} serdes/meta: -- id: 1O_2jSo2fD6m3Qr6My7aa - label: arithmetic_expressions - model: Card +- model: Card diff --git a/examples/v1/collections/main/queries/basic_aggregations.yaml b/examples/v1/collections/main/queries/basic_aggregations.yaml index d1549db..f71b2ae 100644 --- a/examples/v1/collections/main/queries/basic_aggregations.yaml +++ b/examples/v1/collections/main/queries/basic_aggregations.yaml @@ -94,6 +94,4 @@ dataset_query: limit: 12 visualization_settings: {} serdes/meta: -- id: h5F2EjHsRd73Dqqh8sAtd - label: basic_aggregations - model: Card +- model: Card diff --git a/examples/v1/collections/main/queries/comparison_filters.yaml b/examples/v1/collections/main/queries/comparison_filters.yaml index dbfcbc0..fad156b 100644 --- a/examples/v1/collections/main/queries/comparison_filters.yaml +++ b/examples/v1/collections/main/queries/comparison_filters.yaml @@ -96,6 +96,4 @@ dataset_query: limit: 20 visualization_settings: {} serdes/meta: -- id: 8kTL-8IzNdWMtXfaMPZaE - label: comparison_filters - model: Card +- model: Card diff --git a/examples/v1/collections/main/queries/conditional_aggregations.yaml b/examples/v1/collections/main/queries/conditional_aggregations.yaml index a5a5973..13e53a5 100644 --- a/examples/v1/collections/main/queries/conditional_aggregations.yaml +++ b/examples/v1/collections/main/queries/conditional_aggregations.yaml @@ -78,6 +78,4 @@ dataset_query: - CREATED_AT visualization_settings: {} serdes/meta: -- id: irROiaJoSsiXPKGxwWvWY - label: conditional_aggregations - model: Card +- model: Card diff --git a/examples/v1/collections/main/queries/conditional_and_type.yaml b/examples/v1/collections/main/queries/conditional_and_type.yaml index 16d0863..178c138 100644 --- a/examples/v1/collections/main/queries/conditional_and_type.yaml +++ b/examples/v1/collections/main/queries/conditional_and_type.yaml @@ -98,6 +98,4 @@ dataset_query: limit: 10 visualization_settings: {} serdes/meta: -- id: 1hsUzNOepulZo3Jamzd1R - label: conditional_and_type - model: Card +- model: Card diff --git a/examples/v1/collections/main/queries/create_order.yaml b/examples/v1/collections/main/queries/create_order.yaml index ed33e52..1c62109 100644 --- a/examples/v1/collections/main/queries/create_order.yaml +++ b/examples/v1/collections/main/queries/create_order.yaml @@ -18,6 +18,4 @@ visualization_settings: id: QUANTITY defaultValue: 1 serdes/meta: -- id: XgqYIEGPfvCklZUxOLp9m - label: create_order - model: Action +- model: Action diff --git a/examples/v1/collections/main/queries/cumulative_and_statistical.yaml b/examples/v1/collections/main/queries/cumulative_and_statistical.yaml index 9bc3a84..660a5c8 100644 --- a/examples/v1/collections/main/queries/cumulative_and_statistical.yaml +++ b/examples/v1/collections/main/queries/cumulative_and_statistical.yaml @@ -65,6 +65,4 @@ dataset_query: - CREATED_AT visualization_settings: {} serdes/meta: -- id: x61UtCMCuBNjw0TEFQeWG - label: cumulative_and_statistical - model: Card +- model: Card diff --git a/examples/v1/collections/main/queries/fields_and_expressions.yaml b/examples/v1/collections/main/queries/fields_and_expressions.yaml index 20e567d..66eb387 100644 --- a/examples/v1/collections/main/queries/fields_and_expressions.yaml +++ b/examples/v1/collections/main/queries/fields_and_expressions.yaml @@ -53,6 +53,4 @@ dataset_query: limit: 100 visualization_settings: {} serdes/meta: -- id: fLdExPr3sS10nS0ExAmPl - label: fields_and_expressions - model: Card +- model: Card diff --git a/examples/v1/collections/main/queries/geographic_filter.yaml b/examples/v1/collections/main/queries/geographic_filter.yaml index fe81bc9..77d8cbd 100644 --- a/examples/v1/collections/main/queries/geographic_filter.yaml +++ b/examples/v1/collections/main/queries/geographic_filter.yaml @@ -34,6 +34,4 @@ dataset_query: - -73.9 visualization_settings: {} serdes/meta: -- id: bK64P6yr9_Nx-A8S3PqOZ - label: geographic_filter - model: Card +- model: Card diff --git a/examples/v1/collections/main/queries/joins.yaml b/examples/v1/collections/main/queries/joins.yaml index 59411f6..441ebec 100644 --- a/examples/v1/collections/main/queries/joins.yaml +++ b/examples/v1/collections/main/queries/joins.yaml @@ -115,6 +115,4 @@ dataset_query: limit: 10 visualization_settings: {} serdes/meta: -- id: wpW9JO5MsHQd0-7WrR7gN - label: joins - model: Card +- model: Card diff --git a/examples/v1/collections/main/queries/math_functions.yaml b/examples/v1/collections/main/queries/math_functions.yaml index 193d26e..0f0b0cd 100644 --- a/examples/v1/collections/main/queries/math_functions.yaml +++ b/examples/v1/collections/main/queries/math_functions.yaml @@ -85,6 +85,4 @@ dataset_query: limit: 10 visualization_settings: {} serdes/meta: -- id: jPrM-oh3r1BR42xSs4Ipj - label: math_functions - model: Card +- model: Card diff --git a/examples/v1/collections/main/queries/metric_measure_segment_refs.yaml b/examples/v1/collections/main/queries/metric_measure_segment_refs.yaml index 8d854bd..6225744 100644 --- a/examples/v1/collections/main/queries/metric_measure_segment_refs.yaml +++ b/examples/v1/collections/main/queries/metric_measure_segment_refs.yaml @@ -26,6 +26,4 @@ dataset_query: - OaFXAvEzPvu9ZXW5PUMRa visualization_settings: {} serdes/meta: -- id: kBjQ5VXJ5z3vYSW72J6qa - label: metric_measure_segment_refs - model: Card +- model: Card diff --git a/examples/v1/collections/main/queries/native_card_and_snippet.yaml b/examples/v1/collections/main/queries/native_card_and_snippet.yaml index 3c12ee8..eab013a 100644 --- a/examples/v1/collections/main/queries/native_card_and_snippet.yaml +++ b/examples/v1/collections/main/queries/native_card_and_snippet.yaml @@ -29,6 +29,4 @@ dataset_query: snippet-id: WyQWnT23PF-SfbYLROllJ visualization_settings: {} serdes/meta: -- id: HiBFSt0BNx5s5MxVDLLKB - label: native_card_and_snippet - model: Card +- model: Card diff --git a/examples/v1/collections/main/queries/native_field_filter.yaml b/examples/v1/collections/main/queries/native_field_filter.yaml index fc46e4e..433cece 100644 --- a/examples/v1/collections/main/queries/native_field_filter.yaml +++ b/examples/v1/collections/main/queries/native_field_filter.yaml @@ -56,6 +56,4 @@ dataset_query: - CREATED_AT visualization_settings: {} serdes/meta: -- id: sk02d7sPWAk2TYH2Y7JhZ - label: native_field_filter - model: Card +- model: Card diff --git a/examples/v1/collections/main/queries/native_variables.yaml b/examples/v1/collections/main/queries/native_variables.yaml index a39dd7f..c6135c5 100644 --- a/examples/v1/collections/main/queries/native_variables.yaml +++ b/examples/v1/collections/main/queries/native_variables.yaml @@ -43,6 +43,4 @@ dataset_query: default: true visualization_settings: {} serdes/meta: -- id: 2u10n8GV6u0LFYrq8yV5p - label: native_variables - model: Card +- model: Card diff --git a/examples/v1/collections/main/queries/nested_query.yaml b/examples/v1/collections/main/queries/nested_query.yaml index 083d30c..8a591b7 100644 --- a/examples/v1/collections/main/queries/nested_query.yaml +++ b/examples/v1/collections/main/queries/nested_query.yaml @@ -48,6 +48,4 @@ dataset_query: limit: 20 visualization_settings: {} serdes/meta: -- id: 1t9TE-8T-AlaM19nx3yQV - label: nested_query - model: Card +- model: Card diff --git a/examples/v1/collections/main/queries/null_and_string_filters.yaml b/examples/v1/collections/main/queries/null_and_string_filters.yaml index da6f00b..2b3a285 100644 --- a/examples/v1/collections/main/queries/null_and_string_filters.yaml +++ b/examples/v1/collections/main/queries/null_and_string_filters.yaml @@ -165,6 +165,4 @@ dataset_query: limit: 20 visualization_settings: {} serdes/meta: -- id: ZvHEBpdFQ-VSvem16KCkL - label: null_and_string_filters - model: Card +- model: Card diff --git a/examples/v1/collections/main/queries/orders_model.yaml b/examples/v1/collections/main/queries/orders_model.yaml index 517f705..000d103 100644 --- a/examples/v1/collections/main/queries/orders_model.yaml +++ b/examples/v1/collections/main/queries/orders_model.yaml @@ -15,6 +15,4 @@ dataset_query: - ORDERS visualization_settings: {} serdes/meta: -- id: 4eroqa4ZYl4WkNjP8XTvu - label: orders_model - model: Card +- model: Card diff --git a/examples/v1/collections/main/queries/source_card_reference.yaml b/examples/v1/collections/main/queries/source_card_reference.yaml index 288eea3..14e9969 100644 --- a/examples/v1/collections/main/queries/source_card_reference.yaml +++ b/examples/v1/collections/main/queries/source_card_reference.yaml @@ -25,6 +25,4 @@ dataset_query: - count visualization_settings: {} serdes/meta: -- id: gt4OaWYAuDWRHn5Irnd4h - label: source_card_reference - model: Card +- model: Card diff --git a/examples/v1/collections/main/queries/string_functions.yaml b/examples/v1/collections/main/queries/string_functions.yaml index 20d87e2..71091b4 100644 --- a/examples/v1/collections/main/queries/string_functions.yaml +++ b/examples/v1/collections/main/queries/string_functions.yaml @@ -110,6 +110,4 @@ dataset_query: limit: 10 visualization_settings: {} serdes/meta: -- id: HeLFZSVb4Jm25p4tWfVP9 - label: string_functions - model: Card +- model: Card diff --git a/examples/v1/collections/main/queries/temporal_and_logical_filters.yaml b/examples/v1/collections/main/queries/temporal_and_logical_filters.yaml index 52f6bbb..15ce306 100644 --- a/examples/v1/collections/main/queries/temporal_and_logical_filters.yaml +++ b/examples/v1/collections/main/queries/temporal_and_logical_filters.yaml @@ -59,6 +59,4 @@ dataset_query: limit: 20 visualization_settings: {} serdes/meta: -- id: BMx-SlSPsSfGSKaEgOzn0 - label: temporal_and_logical_filters - model: Card +- model: Card diff --git a/examples/v1/collections/main/queries/temporal_expressions.yaml b/examples/v1/collections/main/queries/temporal_expressions.yaml index 458a2fb..14bb93d 100644 --- a/examples/v1/collections/main/queries/temporal_expressions.yaml +++ b/examples/v1/collections/main/queries/temporal_expressions.yaml @@ -84,6 +84,4 @@ dataset_query: limit: 10 visualization_settings: {} serdes/meta: -- id: DBBrqcMAmOO0sbM_CzM_Z - label: temporal_expressions - model: Card +- model: Card diff --git a/examples/v1/collections/main/queries/temporal_extraction.yaml b/examples/v1/collections/main/queries/temporal_extraction.yaml index 6e3d2a5..a962222 100644 --- a/examples/v1/collections/main/queries/temporal_extraction.yaml +++ b/examples/v1/collections/main/queries/temporal_extraction.yaml @@ -158,6 +158,4 @@ dataset_query: limit: 10 visualization_settings: {} serdes/meta: -- id: bDK7jyPszEHzHh4aG4_SV - label: temporal_extraction - model: Card +- model: Card diff --git a/examples/v1/collections/main/queries/total_revenue_metric.yaml b/examples/v1/collections/main/queries/total_revenue_metric.yaml index f383098..39e5050 100644 --- a/examples/v1/collections/main/queries/total_revenue_metric.yaml +++ b/examples/v1/collections/main/queries/total_revenue_metric.yaml @@ -25,6 +25,4 @@ dataset_query: - TOTAL visualization_settings: {} serdes/meta: -- id: IW8kbqZVaMxdGtCM2F4U6 - label: total_revenue - model: Card +- model: Card diff --git a/examples/v1/collections/main/queries/window_offset.yaml b/examples/v1/collections/main/queries/window_offset.yaml index 74bba26..7914e31 100644 --- a/examples/v1/collections/main/queries/window_offset.yaml +++ b/examples/v1/collections/main/queries/window_offset.yaml @@ -42,6 +42,4 @@ dataset_query: - CREATED_AT visualization_settings: {} serdes/meta: -- id: ErQY8K5Tep4xBc3VY_-1e - label: window_offset - model: Card +- model: Card diff --git a/examples/v1/collections/main/visualization_settings.yaml b/examples/v1/collections/main/visualization_settings.yaml index c0437cc..27274a7 100644 --- a/examples/v1/collections/main/visualization_settings.yaml +++ b/examples/v1/collections/main/visualization_settings.yaml @@ -5,6 +5,4 @@ parent_id: null namespace: null authority_level: null serdes/meta: - - id: cOlViZsEtTiNgS0ExAmP1 - label: visualization_settings - model: Collection +- model: Collection diff --git a/examples/v1/collections/main/visualization_settings/bar_chart_stacked.yaml b/examples/v1/collections/main/visualization_settings/bar_chart_stacked.yaml index 2f00471..2093946 100644 --- a/examples/v1/collections/main/visualization_settings/bar_chart_stacked.yaml +++ b/examples/v1/collections/main/visualization_settings/bar_chart_stacked.yaml @@ -63,6 +63,4 @@ visualization_settings: "graph.max_categories": 4 "graph.other_category_aggregation_fn": sum serdes/meta: -- id: ciG63nSLHKRTImt5iWEte - label: bar_chart_stacked - model: Card +- model: Card diff --git a/examples/v1/collections/main/visualization_settings/funnel.yaml b/examples/v1/collections/main/visualization_settings/funnel.yaml index 5f5aeec..9df48e5 100644 --- a/examples/v1/collections/main/visualization_settings/funnel.yaml +++ b/examples/v1/collections/main/visualization_settings/funnel.yaml @@ -28,6 +28,4 @@ visualization_settings: "funnel.metric": count "funnel.type": funnel serdes/meta: -- id: mkKa6jf-QsuCRnaPOIsYh - label: funnel - model: Card +- model: Card diff --git a/examples/v1/collections/main/visualization_settings/gauge.yaml b/examples/v1/collections/main/visualization_settings/gauge.yaml index be33c34..018067d 100644 --- a/examples/v1/collections/main/visualization_settings/gauge.yaml +++ b/examples/v1/collections/main/visualization_settings/gauge.yaml @@ -37,6 +37,4 @@ visualization_settings: color: "#84BB4C" label: High serdes/meta: -- id: GWrIQqjbzxysSCm8PLU5j - label: gauge - model: Card +- model: Card diff --git a/examples/v1/collections/main/visualization_settings/line_chart.yaml b/examples/v1/collections/main/visualization_settings/line_chart.yaml index 6c2f736..30182d9 100644 --- a/examples/v1/collections/main/visualization_settings/line_chart.yaml +++ b/examples/v1/collections/main/visualization_settings/line_chart.yaml @@ -54,6 +54,4 @@ visualization_settings: "line.marker_enabled": true show_series_values: true serdes/meta: -- id: UEWVldEEZ-3sYUjjN54qz - label: line_chart - model: Card +- model: Card diff --git a/examples/v1/collections/main/visualization_settings/map_pins.yaml b/examples/v1/collections/main/visualization_settings/map_pins.yaml index 17c2e0c..5315a56 100644 --- a/examples/v1/collections/main/visualization_settings/map_pins.yaml +++ b/examples/v1/collections/main/visualization_settings/map_pins.yaml @@ -22,6 +22,4 @@ visualization_settings: "map.center_latitude": 39.5 "map.center_longitude": -98.35 serdes/meta: -- id: CI61cHgBAKPBEDTxhK8X3 - label: map_pins - model: Card +- model: Card diff --git a/examples/v1/collections/main/visualization_settings/pie_chart.yaml b/examples/v1/collections/main/visualization_settings/pie_chart.yaml index c7ad5d5..482677e 100644 --- a/examples/v1/collections/main/visualization_settings/pie_chart.yaml +++ b/examples/v1/collections/main/visualization_settings/pie_chart.yaml @@ -36,6 +36,4 @@ visualization_settings: Gizmo: "#F9CF48" Doohickey: "#ED6E6E" serdes/meta: -- id: dYD1j3pQtJdctg8duByUL - label: pie_chart - model: Card +- model: Card diff --git a/examples/v1/collections/main/visualization_settings/pivot_table.yaml b/examples/v1/collections/main/visualization_settings/pivot_table.yaml index 2d3b42a..fb5b7e6 100644 --- a/examples/v1/collections/main/visualization_settings/pivot_table.yaml +++ b/examples/v1/collections/main/visualization_settings/pivot_table.yaml @@ -77,6 +77,4 @@ visualization_settings: currency_style: symbol decimals: 0 serdes/meta: -- id: BjwHr6elEuKQuL26BEgno - label: pivot_table - model: Card +- model: Card diff --git a/examples/v1/collections/main/visualization_settings/smart_scalar.yaml b/examples/v1/collections/main/visualization_settings/smart_scalar.yaml index 1a0f1d6..a1db379 100644 --- a/examples/v1/collections/main/visualization_settings/smart_scalar.yaml +++ b/examples/v1/collections/main/visualization_settings/smart_scalar.yaml @@ -47,6 +47,4 @@ visualization_settings: currency: USD currency_style: symbol serdes/meta: -- id: bSj47tilPIkwDIewvMf8z - label: smart_scalar - model: Card +- model: Card diff --git a/examples/v1/collections/main/visualization_settings/table_formatted.yaml b/examples/v1/collections/main/visualization_settings/table_formatted.yaml index 0dcd1c6..2ae1f8e 100644 --- a/examples/v1/collections/main/visualization_settings/table_formatted.yaml +++ b/examples/v1/collections/main/visualization_settings/table_formatted.yaml @@ -71,6 +71,4 @@ visualization_settings: decimals: 1 suffix: " / 5" serdes/meta: -- id: Wo5d6IV8lb63wex29uh6H - label: table_formatted - model: Card +- model: Card diff --git a/examples/v1/collections/main/visualization_settings/waterfall.yaml b/examples/v1/collections/main/visualization_settings/waterfall.yaml index e8f7a58..59410b1 100644 --- a/examples/v1/collections/main/visualization_settings/waterfall.yaml +++ b/examples/v1/collections/main/visualization_settings/waterfall.yaml @@ -35,6 +35,4 @@ visualization_settings: "waterfall.total_color": "#509EE3" "waterfall.show_total": true serdes/meta: -- id: kJWYpTzyc9ow-75HjyIhf - label: waterfall - model: Card +- model: Card diff --git a/examples/v1/collections/snippets/active_product_filter.yaml b/examples/v1/collections/snippets/active_product_filter.yaml index cb4026b..e9cfed4 100644 --- a/examples/v1/collections/snippets/active_product_filter.yaml +++ b/examples/v1/collections/snippets/active_product_filter.yaml @@ -3,6 +3,4 @@ entity_id: WyQWnT23PF-SfbYLROllJ creator_id: admin@example.com content: "\"CREATED_AT\" >= DATETIME('now', '-1 year') AND \"total_revenue\" > 100" serdes/meta: -- id: WyQWnT23PF-SfbYLROllJ - label: active_product_filter - model: NativeQuerySnippet +- model: NativeQuerySnippet diff --git a/examples/v1/collections/snippets/active_recent_filter.yaml b/examples/v1/collections/snippets/active_recent_filter.yaml index 357499d..6b43ffd 100644 --- a/examples/v1/collections/snippets/active_recent_filter.yaml +++ b/examples/v1/collections/snippets/active_recent_filter.yaml @@ -19,6 +19,4 @@ template_tags: snippet-name: Date Range Filter snippet-id: jpIUEStroQyLnJ-MVfeS4 serdes/meta: -- id: c5PMqT66HwWoy0m52WTI5 - label: active_recent_filter - model: NativeQuerySnippet +- model: NativeQuerySnippet diff --git a/examples/v1/collections/snippets/date_range_filter.yaml b/examples/v1/collections/snippets/date_range_filter.yaml index 35c8c3d..9347194 100644 --- a/examples/v1/collections/snippets/date_range_filter.yaml +++ b/examples/v1/collections/snippets/date_range_filter.yaml @@ -4,6 +4,4 @@ creator_id: admin@example.com content: "CREATED_AT BETWEEN '2024-01-01' AND '2024-12-31'" template_tags: {} serdes/meta: -- id: jpIUEStroQyLnJ-MVfeS4 - label: date_range_filter - model: NativeQuerySnippet +- model: NativeQuerySnippet diff --git a/examples/v1/collections/transforms/daily_order_summary.yaml b/examples/v1/collections/transforms/daily_order_summary.yaml index 3f0543d..e4a3bcf 100644 --- a/examples/v1/collections/transforms/daily_order_summary.yaml +++ b/examples/v1/collections/transforms/daily_order_summary.yaml @@ -25,16 +25,8 @@ tags: - entity_id: qJU4-opN0IFLKDEdmXiYh position: 0 tag_id: dUW7nvQHQBdA0Rx0gJckI - serdes/meta: - - id: qJU4-opN0IFLKDEdmXiYh - model: TransformTransformTag - entity_id: hTtmHg0mopz6qzrEDukSm position: 1 tag_id: 1uWng5tP1gyxr44PJ5FPb - serdes/meta: - - id: hTtmHg0mopz6qzrEDukSm - model: TransformTransformTag serdes/meta: -- id: 7XqqzlsonSq4KFyOvtrAm - label: daily_order_summary - model: Transform +- model: Transform diff --git a/examples/v1/collections/transforms/hourly_product_stats.yaml b/examples/v1/collections/transforms/hourly_product_stats.yaml index e73779d..cb7783b 100644 --- a/examples/v1/collections/transforms/hourly_product_stats.yaml +++ b/examples/v1/collections/transforms/hourly_product_stats.yaml @@ -40,10 +40,5 @@ tags: - entity_id: T3caSScVNDqFF8Q-EsM84 position: 0 tag_id: wYLcUPbtF7jVPO0duGGHR - serdes/meta: - - id: T3caSScVNDqFF8Q-EsM84 - model: TransformTransformTag serdes/meta: -- id: aWiR53tfmHEibiFGuIQeP - label: hourly_product_stats - model: Transform +- model: Transform diff --git a/examples/v1/collections/transforms/mbql_transform.yaml b/examples/v1/collections/transforms/mbql_transform.yaml index 180c34d..77c9bb0 100644 --- a/examples/v1/collections/transforms/mbql_transform.yaml +++ b/examples/v1/collections/transforms/mbql_transform.yaml @@ -37,6 +37,4 @@ target: schema: TRANSFORMS name: monthly_order_summary serdes/meta: -- id: 1fNzUt_CgppinjPk7pGKH - label: monthly_order_summary - model: Transform +- model: Transform diff --git a/examples/v1/collections/transforms/monthly_sales_summary.yaml b/examples/v1/collections/transforms/monthly_sales_summary.yaml index 7bd3115..15b5b90 100644 --- a/examples/v1/collections/transforms/monthly_sales_summary.yaml +++ b/examples/v1/collections/transforms/monthly_sales_summary.yaml @@ -24,6 +24,4 @@ target: schema: TRANSFORMS name: monthly_sales_summary serdes/meta: -- id: w7EfUbsxLA7kXBHVXgeaZ - label: monthly_sales_summary - model: Transform +- model: Transform diff --git a/examples/v1/collections/transforms/native_transform.yaml b/examples/v1/collections/transforms/native_transform.yaml index 7c41990..a49c7e7 100644 --- a/examples/v1/collections/transforms/native_transform.yaml +++ b/examples/v1/collections/transforms/native_transform.yaml @@ -24,6 +24,4 @@ target: schema: TRANSFORMS name: product_revenue_report serdes/meta: -- id: 7JwIkkAG-06-nsl4jzsaq - label: product_revenue_report - model: Transform +- model: Transform diff --git a/examples/v1/collections/transforms/product_summary.yaml b/examples/v1/collections/transforms/product_summary.yaml index 4eca70a..243c1bf 100644 --- a/examples/v1/collections/transforms/product_summary.yaml +++ b/examples/v1/collections/transforms/product_summary.yaml @@ -37,6 +37,4 @@ target: schema: TRANSFORMS name: product_summary serdes/meta: -- id: rT5vWxYz1aBcDeFgHiJkL - label: product_summary - model: Transform +- model: Transform diff --git a/examples/v1/collections/transforms/python_hello_world.yaml b/examples/v1/collections/transforms/python_hello_world.yaml index a28d60d..d887672 100644 --- a/examples/v1/collections/transforms/python_hello_world.yaml +++ b/examples/v1/collections/transforms/python_hello_world.yaml @@ -19,6 +19,4 @@ target: schema: TRANSFORMS name: hello_world serdes/meta: -- id: g2cRYwopfoL1BW9Y4n3wb - label: python_hello_world - model: Transform +- model: Transform diff --git a/examples/v1/data_apps/order-desk/data_app.yaml b/examples/v1/data_apps/order-desk/data_app.yaml index 7b9ccb3..f46cd91 100644 --- a/examples/v1/data_apps/order-desk/data_app.yaml +++ b/examples/v1/data_apps/order-desk/data_app.yaml @@ -9,5 +9,3 @@ allowed_hosts: - https://api.example.com serdes/meta: - model: DataApp - id: dApPmAnIfEsT000ExAmP1 - label: order-desk diff --git a/examples/v1/data_apps/order-desk/resources/actions/update_order.yaml b/examples/v1/data_apps/order-desk/resources/actions/update_order.yaml index c26136f..ee198e9 100644 --- a/examples/v1/data_apps/order-desk/resources/actions/update_order.yaml +++ b/examples/v1/data_apps/order-desk/resources/actions/update_order.yaml @@ -43,6 +43,4 @@ parameters: - order_id parameter_mappings: [] serdes/meta: -- id: dApPaCtIoNcOpYExAmP12 - label: update_order - model: Action +- model: Action diff --git a/examples/v1/data_apps/order-desk/resources/cards/open_orders.yaml b/examples/v1/data_apps/order-desk/resources/cards/open_orders.yaml index 644e608..8d1233e 100644 --- a/examples/v1/data_apps/order-desk/resources/cards/open_orders.yaml +++ b/examples/v1/data_apps/order-desk/resources/cards/open_orders.yaml @@ -16,6 +16,4 @@ dataset_query: limit: 100 visualization_settings: {} serdes/meta: -- id: dApPqUeStIoN00ExAmP12 - label: open_orders - model: Card +- model: Card diff --git a/examples/v1/data_apps/order-desk/resources/collection.yaml b/examples/v1/data_apps/order-desk/resources/collection.yaml index a098b05..d7d9b96 100644 --- a/examples/v1/data_apps/order-desk/resources/collection.yaml +++ b/examples/v1/data_apps/order-desk/resources/collection.yaml @@ -1,6 +1,4 @@ name: "Data App: Order Desk" entity_id: dApPcOlLeCtIoN0ExAmP1 serdes/meta: -- id: dApPcOlLeCtIoN0ExAmP1 - label: data_app_order_desk - model: Collection +- model: Collection diff --git a/examples/v1/databases/sample_database/tables/orders/measures/avg_revenue_per_order.yaml b/examples/v1/databases/sample_database/tables/orders/measures/avg_revenue_per_order.yaml index 661ac0b..d144c4a 100644 --- a/examples/v1/databases/sample_database/tables/orders/measures/avg_revenue_per_order.yaml +++ b/examples/v1/databases/sample_database/tables/orders/measures/avg_revenue_per_order.yaml @@ -25,6 +25,4 @@ definition: - ORDERS - TOTAL serdes/meta: -- id: dc8eiyLh9S0IKwV_UuvTz - label: avg_revenue_per_order - model: Measure +- model: Measure diff --git a/examples/v1/databases/sample_database/tables/orders/measures/median_order_total.yaml b/examples/v1/databases/sample_database/tables/orders/measures/median_order_total.yaml index 9dec443..c1199a1 100644 --- a/examples/v1/databases/sample_database/tables/orders/measures/median_order_total.yaml +++ b/examples/v1/databases/sample_database/tables/orders/measures/median_order_total.yaml @@ -24,6 +24,4 @@ definition: - ORDERS - TOTAL serdes/meta: -- id: d4G5fMj5smJ17Nd0dvE2A - label: median_order_total - model: Measure +- model: Measure diff --git a/examples/v1/databases/sample_database/tables/orders/measures/order_count.yaml b/examples/v1/databases/sample_database/tables/orders/measures/order_count.yaml index ee21c0f..cbc88cf 100644 --- a/examples/v1/databases/sample_database/tables/orders/measures/order_count.yaml +++ b/examples/v1/databases/sample_database/tables/orders/measures/order_count.yaml @@ -18,6 +18,4 @@ definition: - - count - {} serdes/meta: -- id: DBap2523KuN4Lt-cYrUjF - label: order_count - model: Measure +- model: Measure diff --git a/examples/v1/databases/sample_database/tables/orders/measures/total_revenue.yaml b/examples/v1/databases/sample_database/tables/orders/measures/total_revenue.yaml index 67e1404..7e60e96 100644 --- a/examples/v1/databases/sample_database/tables/orders/measures/total_revenue.yaml +++ b/examples/v1/databases/sample_database/tables/orders/measures/total_revenue.yaml @@ -24,6 +24,4 @@ definition: - ORDERS - TOTAL serdes/meta: -- id: 8WteUpyQQqObrxLv4KQ-j - label: total_revenue - model: Measure +- model: Measure diff --git a/examples/v1/databases/sample_database/tables/orders/segments/large_orders.yaml b/examples/v1/databases/sample_database/tables/orders/segments/large_orders.yaml index 7b4e382..dd4cbd8 100644 --- a/examples/v1/databases/sample_database/tables/orders/segments/large_orders.yaml +++ b/examples/v1/databases/sample_database/tables/orders/segments/large_orders.yaml @@ -25,6 +25,4 @@ definition: - TOTAL - 50 serdes/meta: -- id: OaFXAvEzPvu9ZXW5PUMRa - label: large_orders - model: Segment +- model: Segment diff --git a/examples/v1/databases/sample_database/tables/people/segments/nyc_area.yaml b/examples/v1/databases/sample_database/tables/people/segments/nyc_area.yaml index 972e7bb..d49b8f7 100644 --- a/examples/v1/databases/sample_database/tables/people/segments/nyc_area.yaml +++ b/examples/v1/databases/sample_database/tables/people/segments/nyc_area.yaml @@ -35,6 +35,4 @@ definition: - 40.49 - -73.70 serdes/meta: -- id: D2R9JpvI8sMfYWqfPsTkx - label: nyc_area - model: Segment +- model: Segment diff --git a/examples/v1/databases/sample_database/tables/products/measures/average_product_price.yaml b/examples/v1/databases/sample_database/tables/products/measures/average_product_price.yaml index d63f3e0..e790505 100644 --- a/examples/v1/databases/sample_database/tables/products/measures/average_product_price.yaml +++ b/examples/v1/databases/sample_database/tables/products/measures/average_product_price.yaml @@ -24,6 +24,4 @@ definition: - PRODUCTS - PRICE serdes/meta: -- id: mSrAvgProdPrice00008x - label: average_product_price - model: Measure +- model: Measure diff --git a/examples/v1/databases/sample_database/tables/products/measures/avg_product_price.yaml b/examples/v1/databases/sample_database/tables/products/measures/avg_product_price.yaml index f9c5b9f..eea0d6d 100644 --- a/examples/v1/databases/sample_database/tables/products/measures/avg_product_price.yaml +++ b/examples/v1/databases/sample_database/tables/products/measures/avg_product_price.yaml @@ -24,6 +24,4 @@ definition: - PRODUCTS - PRICE serdes/meta: -- id: xK7mPqR2sT4uVwXyZ9a1b - label: avg_product_price - model: Measure +- model: Measure diff --git a/examples/v1/databases/sample_database/tables/products/measures/avg_widget_price.yaml b/examples/v1/databases/sample_database/tables/products/measures/avg_widget_price.yaml index 85a8701..070673b 100644 --- a/examples/v1/databases/sample_database/tables/products/measures/avg_widget_price.yaml +++ b/examples/v1/databases/sample_database/tables/products/measures/avg_widget_price.yaml @@ -25,6 +25,4 @@ definition: - PRODUCTS - PRICE serdes/meta: -- id: K7cMzOau9SI2h8hCx936w - label: avg_widget_price - model: Measure +- model: Measure diff --git a/examples/v1/databases/sample_database/tables/products/measures/product_count.yaml b/examples/v1/databases/sample_database/tables/products/measures/product_count.yaml index 3d16643..503d06a 100644 --- a/examples/v1/databases/sample_database/tables/products/measures/product_count.yaml +++ b/examples/v1/databases/sample_database/tables/products/measures/product_count.yaml @@ -24,6 +24,4 @@ definition: - PRODUCTS - ID serdes/meta: -- id: 8kxQ2Wr7PmN5dLf3hYz9v - label: product_count - model: Measure +- model: Measure diff --git a/examples/v1/databases/sample_database/tables/products/segments/premium_widgets.yaml b/examples/v1/databases/sample_database/tables/products/segments/premium_widgets.yaml index 6113f64..80a8770 100644 --- a/examples/v1/databases/sample_database/tables/products/segments/premium_widgets.yaml +++ b/examples/v1/databases/sample_database/tables/products/segments/premium_widgets.yaml @@ -29,6 +29,4 @@ definition: - PRICE - 50 serdes/meta: -- id: 2hxhoN3HrQJIaWc5umpBn - label: premium_widgets - model: Segment +- model: Segment diff --git a/examples/v1/databases/sample_database/tables/products/segments/recent_midrange.yaml b/examples/v1/databases/sample_database/tables/products/segments/recent_midrange.yaml index c9310a1..4744b4f 100644 --- a/examples/v1/databases/sample_database/tables/products/segments/recent_midrange.yaml +++ b/examples/v1/databases/sample_database/tables/products/segments/recent_midrange.yaml @@ -55,6 +55,4 @@ definition: - PRODUCTS - VENDOR serdes/meta: -- id: wdYkSSArR5ymVGa0pvb47 - label: recent_midrange - model: Segment +- model: Segment diff --git a/examples/v1/databases/sample_database/tables/products/segments/searchable_products.yaml b/examples/v1/databases/sample_database/tables/products/segments/searchable_products.yaml index ed75130..ed3d325 100644 --- a/examples/v1/databases/sample_database/tables/products/segments/searchable_products.yaml +++ b/examples/v1/databases/sample_database/tables/products/segments/searchable_products.yaml @@ -61,6 +61,4 @@ definition: - EAN - "0" serdes/meta: -- id: yZptbJRR3S8L9S9r0ZF8M - label: searchable_products - model: Segment +- model: Segment diff --git a/examples/v1/databases/sample_database/tables/products/segments/widget_products.yaml b/examples/v1/databases/sample_database/tables/products/segments/widget_products.yaml index 5c1dceb..ca73760 100644 --- a/examples/v1/databases/sample_database/tables/products/segments/widget_products.yaml +++ b/examples/v1/databases/sample_database/tables/products/segments/widget_products.yaml @@ -25,6 +25,4 @@ definition: - CATEGORY - Widget serdes/meta: -- id: aB3kLmN9pQrStUvWxYz1a - label: widget_products - model: Segment +- model: Segment diff --git a/examples/v1/metabots/embedded_metabot.yaml b/examples/v1/metabots/embedded_metabot.yaml index d46863d..6dd6b2f 100644 --- a/examples/v1/metabots/embedded_metabot.yaml +++ b/examples/v1/metabots/embedded_metabot.yaml @@ -4,6 +4,5 @@ created_at: '2026-04-02T02:59:01.370515Z' entity_id: embeddedmetabotmetabo updated_at: '2026-04-02T02:59:01.370515Z' serdes/meta: -- id: embeddedmetabotmetabo - model: Metabot +- model: Metabot prompts: [] diff --git a/examples/v1/metabots/metabot.yaml b/examples/v1/metabots/metabot.yaml index 8739866..d7aacb7 100644 --- a/examples/v1/metabots/metabot.yaml +++ b/examples/v1/metabots/metabot.yaml @@ -4,6 +4,5 @@ created_at: '2025-05-28T17:49:20.649159Z' entity_id: metabotmetabotmetabot updated_at: '2025-05-28T17:49:20.649159Z' serdes/meta: -- id: metabotmetabotmetabot - model: Metabot +- model: Metabot prompts: [] diff --git a/examples/v1/metabots/slack_metabot.yaml b/examples/v1/metabots/slack_metabot.yaml index 7ea7acf..e9cde1b 100644 --- a/examples/v1/metabots/slack_metabot.yaml +++ b/examples/v1/metabots/slack_metabot.yaml @@ -4,6 +4,5 @@ created_at: '2026-04-02T02:59:01.71366Z' entity_id: slackbotmetabotmetabo updated_at: '2026-04-02T02:59:01.71366Z' serdes/meta: -- id: slackbotmetabotmetabo - model: Metabot +- model: Metabot prompts: [] diff --git a/examples/v1/python_libraries/shared.py.yaml b/examples/v1/python_libraries/shared.py.yaml index 55e63ad..79de814 100644 --- a/examples/v1/python_libraries/shared.py.yaml +++ b/examples/v1/python_libraries/shared.py.yaml @@ -4,5 +4,4 @@ source: |- def helper(): return 42 serdes/meta: -- id: kb0QxR8AyP5W8SVHGYZr8 - model: PythonLibrary +- model: PythonLibrary diff --git a/examples/v1/transforms/transform_jobs/daily_job.yaml b/examples/v1/transforms/transform_jobs/daily_job.yaml index c46d9de..5c6f90c 100644 --- a/examples/v1/transforms/transform_jobs/daily_job.yaml +++ b/examples/v1/transforms/transform_jobs/daily_job.yaml @@ -8,10 +8,5 @@ job_tags: - entity_id: BPhRX8sTqcG5tZrXKeQuP position: 0 tag_id: dUW7nvQHQBdA0Rx0gJckI - serdes/meta: - - id: BPhRX8sTqcG5tZrXKeQuP - model: TransformJobTransformTag serdes/meta: -- id: PJahvcoF61oX5T4uCT_FY - label: daily_job - model: TransformJob +- model: TransformJob diff --git a/examples/v1/transforms/transform_jobs/hourly_job.yaml b/examples/v1/transforms/transform_jobs/hourly_job.yaml index 919aad7..c77530a 100644 --- a/examples/v1/transforms/transform_jobs/hourly_job.yaml +++ b/examples/v1/transforms/transform_jobs/hourly_job.yaml @@ -8,10 +8,5 @@ job_tags: - entity_id: tWgmgAsuA38x_QGe_N1z8 position: 0 tag_id: wYLcUPbtF7jVPO0duGGHR - serdes/meta: - - id: tWgmgAsuA38x_QGe_N1z8 - model: TransformJobTransformTag serdes/meta: -- id: RognTgBT2fXaxoQh4ws7z - label: hourly_job - model: TransformJob +- model: TransformJob diff --git a/examples/v1/transforms/transform_jobs/nightly_etl_job.yaml b/examples/v1/transforms/transform_jobs/nightly_etl_job.yaml index 7981299..5a55211 100644 --- a/examples/v1/transforms/transform_jobs/nightly_etl_job.yaml +++ b/examples/v1/transforms/transform_jobs/nightly_etl_job.yaml @@ -7,16 +7,8 @@ job_tags: - entity_id: uZpZUow557u1cZbqT8BHt position: 0 tag_id: 1uWng5tP1gyxr44PJ5FPb - serdes/meta: - - id: uZpZUow557u1cZbqT8BHt - model: TransformJobTransformTag - entity_id: 8WHAzlDHJZ7umVLvzbcfb position: 1 tag_id: Z2nTZwFTBUz1Yil8AKrp2 - serdes/meta: - - id: 8WHAzlDHJZ7umVLvzbcfb - model: TransformJobTransformTag serdes/meta: -- id: PMlTT2ZjLB2B-C2Hng72Z - label: nightly_etl_job - model: TransformJob +- model: TransformJob diff --git a/examples/v1/transforms/transform_jobs/weekly_job.yaml b/examples/v1/transforms/transform_jobs/weekly_job.yaml index ec01d13..1b96d73 100644 --- a/examples/v1/transforms/transform_jobs/weekly_job.yaml +++ b/examples/v1/transforms/transform_jobs/weekly_job.yaml @@ -8,10 +8,5 @@ job_tags: - entity_id: 8z4pmEOoTHEWITGUt1VmS position: 0 tag_id: qPGCJu7t97kn-X07_fgSj - serdes/meta: - - id: 8z4pmEOoTHEWITGUt1VmS - model: TransformJobTransformTag serdes/meta: -- id: lXIFa2SUrXLgaLZJx33oU - label: weekly_job - model: TransformJob +- model: TransformJob diff --git a/examples/v1/transforms/transform_tags/custom_etl.yaml b/examples/v1/transforms/transform_tags/custom_etl.yaml index f2094ae..2fd7902 100644 --- a/examples/v1/transforms/transform_tags/custom_etl.yaml +++ b/examples/v1/transforms/transform_tags/custom_etl.yaml @@ -1,6 +1,4 @@ name: custom-etl entity_id: Z2nTZwFTBUz1Yil8AKrp2 serdes/meta: -- id: Z2nTZwFTBUz1Yil8AKrp2 - label: custom_etl - model: TransformTag +- model: TransformTag diff --git a/examples/v1/transforms/transform_tags/daily.yaml b/examples/v1/transforms/transform_tags/daily.yaml index 650ab34..0dfc72d 100644 --- a/examples/v1/transforms/transform_tags/daily.yaml +++ b/examples/v1/transforms/transform_tags/daily.yaml @@ -2,6 +2,4 @@ name: daily entity_id: dUW7nvQHQBdA0Rx0gJckI built_in_type: daily serdes/meta: -- id: dUW7nvQHQBdA0Rx0gJckI - label: daily - model: TransformTag +- model: TransformTag diff --git a/examples/v1/transforms/transform_tags/hourly.yaml b/examples/v1/transforms/transform_tags/hourly.yaml index 30f64de..2e96798 100644 --- a/examples/v1/transforms/transform_tags/hourly.yaml +++ b/examples/v1/transforms/transform_tags/hourly.yaml @@ -2,6 +2,4 @@ name: hourly entity_id: wYLcUPbtF7jVPO0duGGHR built_in_type: hourly serdes/meta: -- id: wYLcUPbtF7jVPO0duGGHR - label: hourly - model: TransformTag +- model: TransformTag diff --git a/examples/v1/transforms/transform_tags/monthly.yaml b/examples/v1/transforms/transform_tags/monthly.yaml index baa14d3..8937546 100644 --- a/examples/v1/transforms/transform_tags/monthly.yaml +++ b/examples/v1/transforms/transform_tags/monthly.yaml @@ -2,6 +2,4 @@ name: monthly entity_id: DeeJHc81qKhD9qWINISO8 built_in_type: monthly serdes/meta: -- id: DeeJHc81qKhD9qWINISO8 - label: monthly - model: TransformTag +- model: TransformTag diff --git a/examples/v1/transforms/transform_tags/nightly_refresh.yaml b/examples/v1/transforms/transform_tags/nightly_refresh.yaml index c6e7e3f..e49769c 100644 --- a/examples/v1/transforms/transform_tags/nightly_refresh.yaml +++ b/examples/v1/transforms/transform_tags/nightly_refresh.yaml @@ -1,6 +1,4 @@ name: nightly-refresh entity_id: 1uWng5tP1gyxr44PJ5FPb serdes/meta: -- id: 1uWng5tP1gyxr44PJ5FPb - label: nightly_refresh - model: TransformTag +- model: TransformTag diff --git a/examples/v1/transforms/transform_tags/weekly.yaml b/examples/v1/transforms/transform_tags/weekly.yaml index 88c6bfe..a9d7b38 100644 --- a/examples/v1/transforms/transform_tags/weekly.yaml +++ b/examples/v1/transforms/transform_tags/weekly.yaml @@ -2,6 +2,4 @@ name: weekly entity_id: qPGCJu7t97kn-X07_fgSj built_in_type: weekly serdes/meta: -- id: qPGCJu7t97kn-X07_fgSj - label: weekly - model: TransformTag +- model: TransformTag diff --git a/package.json b/package.json index 9621b43..6125d5a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@metabase/representations", - "version": "1.4.2", + "version": "1.5.0", "description": "Metabase representation format specification and schema validator", "license": "SEE LICENSE IN LICENSE.txt", "repository": { diff --git a/src/validate-schema.test.ts b/src/validate-schema.test.ts index 1ce5809..c823156 100644 --- a/src/validate-schema.test.ts +++ b/src/validate-schema.test.ts @@ -136,6 +136,48 @@ describe("validateSchema", () => { }); }); + describe("serdes/meta", () => { + const collection = { + name: "Reports", + entity_id: "cOlRePorTs000ExAmPlx2", + }; + + it.each([ + ["only the model", [{ model: "Collection" }]], + [ + "the full identity path of older exports", + [ + { + id: "cOlRePorTs000ExAmPlx2", + label: "reports", + model: "Collection", + }, + ], + ], + ])("accepts %s", (_, serdesMeta) => { + mkdirSync(join(workdir, "collections", "main"), { recursive: true }); + writeFileSync( + join(workdir, "collections", "main", "reports.yaml"), + yaml.dump({ ...collection, "serdes/meta": serdesMeta }), + ); + + expect(validateSchema({ folder: workdir }).failed).toBe(0); + }); + + it("rejects an entry without a model", () => { + mkdirSync(join(workdir, "collections", "main"), { recursive: true }); + writeFileSync( + join(workdir, "collections", "main", "reports.yaml"), + yaml.dump({ + ...collection, + "serdes/meta": [{ model: "Collection" }, { id: "x" }], + }), + ); + + expect(validateSchema({ folder: workdir }).failed).toBe(1); + }); + }); + it("fails files with an unknown model", () => { mkdirSync(join(workdir, "collections", "main"), { recursive: true }); writeFileSync(