[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"skill-microsoft-dataflows-authoring-cli":3,"mdc--uqfh93-key":39,"related-org-microsoft-dataflows-authoring-cli":14898,"related-repo-microsoft-dataflows-authoring-cli":15095},{"slug":4,"name":4,"fn":5,"description":6,"org":7,"tags":11,"stars":28,"repoUrl":29,"updatedAt":30,"license":31,"forks":32,"topics":33,"repo":34,"sourceUrl":37,"mdContent":38},"dataflows-authoring-cli","manage Microsoft Fabric Dataflows via CLI","Create, update, delete, and refresh Fabric Dataflows Gen2 with write-side CLI via Fabric APIs. Build mashup.pq and queryMetadata.json, preview candidate M with executeQuery\u002FcustomMashupDocument, bind connections, and configure output destinations. For saved query execution or refresh-status reads, use `dataflows-consumption-cli`. If a request explicitly insists on the Dataflows consumption or read-only path for a mutation, do not route here; let consumption refuse before any separately confirmed authoring handoff. Triggers: \"create dataflow\", \"update dataflow\", \"delete dataflow\", \"trigger dataflow refresh\", \"preview Power Query M\", \"preview before save\", \"customMashupDocument\", \"create Fabric data source connection\", \"create SQL Server source REST\", \"POST \u002Fv1\u002Fconnections\", \"supportedConnectionTypes\", \"passwordReference\", \"bind connection\", \"dataflow output destination\", \"dataflow write to lakehouse\", \"dataflow write to warehouse\", \"dataflow write to ADX\", \"DataDestinations annotation\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},"microsoft","Microsoft","https:\u002F\u002Fpexgzepcugksgbtrxkhf.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Forg-logos\u002Fmicrosoft.png",[12,16,19,22,25],{"name":13,"slug":14,"type":15},"Data Engineering","data-engineering","tag",{"name":17,"slug":18,"type":15},"Data Pipeline","data-pipeline",{"name":20,"slug":21,"type":15},"CLI","cli",{"name":23,"slug":24,"type":15},"REST API","rest-api",{"name":26,"slug":27,"type":15},"Microsoft Fabric","microsoft-fabric",858,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills-for-fabric","2026-07-31T05:54:59.059517",null,237,[],{"repoUrl":29,"stars":28,"forks":32,"topics":35,"description":36},[],"A collection of skills and MCP systems to enable users of CLI, VSCode, Claude to operate over Microsoft Fabric","https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills-for-fabric\u002Ftree\u002FHEAD\u002Fskills\u002Fdataflows-authoring-cli","---\nname: dataflows-authoring-cli\ndescription: >\n  Create, update, delete, and refresh Fabric Dataflows Gen2 with write-side CLI\n  via Fabric APIs. Build mashup.pq and queryMetadata.json,\n  preview candidate M with executeQuery\u002FcustomMashupDocument, bind connections,\n  and configure output destinations. For saved\n  query execution or refresh-status reads, use `dataflows-consumption-cli`. If\n  a request explicitly insists on the Dataflows consumption or read-only path\n  for a mutation, do not route here; let consumption refuse before any\n  separately confirmed authoring handoff. Triggers: \"create dataflow\", \"update\n  dataflow\", \"delete dataflow\", \"trigger dataflow refresh\", \"preview Power\n  Query M\", \"preview before save\", \"customMashupDocument\", \"create Fabric data\n  source connection\", \"create SQL Server source REST\", \"POST \u002Fv1\u002Fconnections\",\n  \"supportedConnectionTypes\", \"passwordReference\", \"bind\n  connection\", \"dataflow output destination\", \"dataflow write to lakehouse\",\n  \"dataflow write to warehouse\", \"dataflow write to ADX\", \"DataDestinations\n  annotation\".\n---\n\n> **Update Check — ONCE PER SESSION (mandatory)**\n> The first time this skill is used in a session, run the **check-updates** skill before proceeding.\n> - **GitHub Copilot CLI \u002F VS Code**: invoke the `check-updates` skill.\n> - **Claude Code \u002F Cowork \u002F Cursor \u002F Windsurf \u002F Codex**: compare local vs remote package.json version.\n> - Skip if the check was already performed earlier in this session.\n\n> **CRITICAL NOTES**\n> 1. To find the workspace details (including its ID) from workspace name: list all workspaces and, then, use JMESPath filtering\n> 2. To find the item details (including its ID) from workspace ID, item type, and item name: list all items of that type in that workspace and, then, use JMESPath filtering\n\n> **PRE-MUTATION REQUIREMENTS GATE (mandatory)**\n> Before any mutation, confirm enough user intent for the requested operation.\n> For create or update requests, establish the source, query\u002Fschema and\n> transformation, destination behavior, and refresh behavior (including an\n> explicit choice of no destination or no refresh). If the request is generic,\n> such as \"set up the Dataflow I need for reporting,\" ask a structured\n> clarifying question and stop before mutation. Do not infer requirements from\n> unrelated workspace items or create a best-guess source, connection, or\n> Dataflow.\n\n# dataflows-authoring-cli — Dataflows Gen2 Authoring via CLI\n\n## Table of Contents\n\n**This skill (`SKILL.md`)**\n\n| Section | Notes |\n|---|---|\n| [Tool Stack](#tool-stack) | `az` + `jq` + `base64` + `curl` |\n| [Connection](#connection) | Workspace\u002Fdataflow ID discovery |\n| [Agentic Workflows](#agentic-workflows) | **Start here.** A: create end-to-end; B: modify existing; C: preview loop |\n| [MUST DO \u002F AVOID \u002F PREFER](#must-do) | Authoring rules |\n| [Troubleshooting](#troubleshooting) | Symptom → fix table |\n| [Examples](#examples) | Runnable bash + PowerShell recipes |\n| [Output Expectations](#output-expectations) | Response conventions |\n\n**References** (in [`references\u002F`](references\u002F))\n\n| File | When to read |\n|---|---|\n| [authoring-cli-quickref.md](references\u002Fauthoring-cli-quickref.md) | One-liner recipes, status enums, base64 helpers, connection-binding quick patterns |\n| [authoring-script-templates.md](references\u002Fauthoring-script-templates.md) | Full bash + PowerShell templates; end-to-end smoke test; LRO polling pattern |\n| [connection-management.md](references\u002Fconnection-management.md) | List\u002Fcreate\u002Finspect connections; `supportedConnectionTypes`; resolve `ClusterId`; ID format cheat sheet |\n| [connectors.md](references\u002Fconnectors.md) | M-side source connectors: live-verified function inventory, Lakehouse deep navigation, gateway scope for `Web.Page` \u002F `Web.BrowserContents`, and `Html.Table` \u002F `Csv.Document` \u002F `Json.Document` patterns |\n| [m-language.md](references\u002Fm-language.md) | M language semantics for Dataflow Gen2: `try` record shapes, per-cell error wrapping in column transforms, `each` scoping in row vs sub-table contexts, optional field access `[?]` \u002F `Record.FieldOrDefault`, quoted identifiers, sandbox-disabled symbols (`File.Contents`) |\n| [mashup-preview.md](references\u002Fmashup-preview.md) | `executeQuery` contract: bootstrap branch, auto-wrap rule, hard avoid for unbounded preview |\n| [output-destinations.md](references\u002Foutput-destinations.md) | Output destination patterns: Lakehouse Table, Lakehouse Files, Warehouse, ADX, Azure SQL. `DataDestinations` annotation, hidden query, `loadEnabled` rules, connection limitations |\n\n**Common refs** (in [`..\u002F..\u002Fcommon\u002F`](..\u002F..\u002Fcommon\u002F))\n\n| File | When to read |\n|---|---|\n| [COMMON-CLI.md](..\u002F..\u002Fcommon\u002FCOMMON-CLI.md) | `az login`, token acquisition, `az rest`, pagination, LRO polling, CLI gotchas. **§ Finding Workspaces and Items in Fabric is mandatory.** |\n| [COMMON-CORE.md](..\u002F..\u002Fcommon\u002FCOMMON-CORE.md) | Fabric topology, environment URLs, authentication, core REST API surface |\n| [ITEM-DEFINITIONS-CORE.md](..\u002F..\u002Fcommon\u002FITEM-DEFINITIONS-CORE.md) | Definition envelope; per-item-type payload contracts |\n| [DATAFLOWS-AUTHORING-CORE.md](..\u002F..\u002Fcommon\u002FDATAFLOWS-AUTHORING-CORE.md) | Authoring capability matrix; 3-part definition structure; M structure; connection model; ALM \u002F Git integration |\n\n**Sister skills**\n\n| Skill | Use for |\n|---|---|\n| [dataflows-consumption-cli](..\u002Fdataflows-consumption-cli\u002FSKILL.md) | Execute persisted queries; ad-hoc read-only `customMashupDocument` with no intent to persist; Arrow → CSV\u002Fpandas conversion; refresh status\u002Fhistory. |\n\n---\n\n## Tool Stack\n\n| Tool | Role | Install |\n|---|---|---|\n| `az` CLI | **Primary**: Auth (`az login`), REST API calls (`az rest`), token acquisition. | Pre-installed in most dev environments |\n| `jq` | Parse and manipulate JSON responses and definition payloads. | Pre-installed or trivial |\n| `base64` | Encode\u002Fdecode definition parts for the REST API. | Built into bash \u002F `[Convert]::ToBase64String()` in PowerShell |\n| `curl` | Alternative to `az rest` when raw HTTP control is needed. | Pre-installed |\n| `uuidgen` | Generate per-query \u002F per-platform GUIDs for `queryId` and `logicalId` when building a new dataflow definition (Workflow A). | Pre-installed on Linux\u002FmacOS; on Windows use PowerShell `[guid]::NewGuid().Guid` or run via WSL |\n\n> **Agent check** — verify `az`, `jq`, and `curl` are available before first operation. `uuidgen` is only needed for Workflow A (Create).\n> For installation and auth setup see [COMMON-CLI.md](..\u002F..\u002Fcommon\u002FCOMMON-CLI.md).\n\n---\n\n## Connection\n\n### Discover Workspace and Dataflow IDs\n\nPer [COMMON-CLI.md](..\u002F..\u002Fcommon\u002FCOMMON-CLI.md) Finding Workspaces and Items in Fabric:\n\n```bash\n# List workspaces — find workspace ID by name\naz rest --method get \\\n  --resource \"https:\u002F\u002Fapi.fabric.microsoft.com\" \\\n  --url \"https:\u002F\u002Fapi.fabric.microsoft.com\u002Fv1\u002Fworkspaces\" \\\n  --query \"value[?displayName=='MyWorkspace'].id\" --output tsv\n\n# List dataflows in workspace — find dataflow ID by name\nWS_ID=\"\u003CworkspaceId>\"\naz rest --method get \\\n  --resource \"https:\u002F\u002Fapi.fabric.microsoft.com\" \\\n  --url \"https:\u002F\u002Fapi.fabric.microsoft.com\u002Fv1\u002Fworkspaces\u002F$WS_ID\u002Fdataflows\" \\\n  --query \"value[?displayName=='MyDataflow'].id\" --output tsv\n```\n\n### Reusable Connection Variables\n\n```bash\nWS_ID=\"\u003CworkspaceId>\"\nDF_ID=\"\u003CdataflowId>\"\nAPI=\"https:\u002F\u002Fapi.fabric.microsoft.com\u002Fv1\"\nRESOURCE=\"https:\u002F\u002Fapi.fabric.microsoft.com\"\n```\n\n---\n\n## Agentic Workflows\n\nThree workflows cover the typical authoring tasks:\n\n- **[A. Create a New Dataflow End-to-End](#a-create-a-new-dataflow-end-to-end)** — discover\u002Fcreate a connection, create the dataflow, save M + bindings, validate, optionally refresh.\n- **[B. Modify an Existing Dataflow](#b-modify-an-existing-dataflow)** — read-modify-write the definition; the canonical Discover → Formulate → Execute → Verify loop.\n- **[C. Preview-Driven Authoring Loop](#c-preview-driven-authoring-loop)** — iterate on candidate M via `executeQuery` before persisting via `updateDefinition`.\n- **[D. Output Destination](#d-output-destination)** — write query results to Lakehouse (table\u002Ffiles), Warehouse, ADX, or Azure SQL via `DataDestinations` annotation. Full reference: [output-destinations.md](references\u002Foutput-destinations.md).\n\n### A. Create a New Dataflow End-to-End\n\nUse this when **the dataflow does not yet exist**. Covers the full happy path: discover-or-create a connection, create the dataflow shell, save M + bindings in one `updateDefinition`, validate, optionally refresh.\n\n**Steps:**\n\n1. **List existing connections** and filter by `connectionDetails.type` and the target URL\u002Fhost — reuse if a match exists (`GET \u002Fv1\u002Fconnections` + JMESPath).\n2. **If no match, create the connection.** First `GET \u002Fv1\u002Fconnections\u002FsupportedConnectionTypes` to discover required parameters and supported credential types, then `POST \u002Fv1\u002Fconnections` (sync 201). Body shape and credential schemas: [connection-management.md](references\u002Fconnection-management.md).\n3. **Resolve `ClusterId` for the composite binding.** `GET https:\u002F\u002Fapi.powerbi.com\u002Fv2.0\u002Fmyorg\u002Fme\u002FgatewayClusterDatasources` with `--query \"value[?id=='$CONN_ID'] | [0].clusterId\"`, audience `--resource \"https:\u002F\u002Fanalysis.windows.net\u002Fpowerbi\u002Fapi\"` (no trailing slash). The per-id route returns `PowerBIEntityNotFound` for cloud connections. Newly-created connections may take a few seconds to surface — retry on empty. Detail: [connection-management.md § Resolving ClusterId](references\u002Fconnection-management.md#resolving-clusterid-power-bi-v2).\n4. **Create the dataflow shell.** `POST \u002Fv1\u002Fworkspaces\u002F{ws}\u002Fdataflows` with `{\"displayName\":\"\u003CdisplayName>\"}` returns sync 201. The `definition` field is optional at create time and can be set in the next step. If you instead supply the full `definition` (all three parts) in this create POST, that call is the persist surface -- name `POST \u002Fv1\u002Fworkspaces\u002F{ws}\u002Fdataflows` (not `updateDefinition`) as the persist path in your summary.\n5. **Save M + connection bindings in one call.** `POST \u002Fv1\u002Fworkspaces\u002F{ws}\u002Fdataflows\u002F{df}\u002FupdateDefinition?updateMetadata=true` with three parts: `mashup.pq` (real `Web.Contents` \u002F `Sql.Database` \u002F …), `queryMetadata.json` (with `connections[]` populated; each `connectionId` is the stringified composite `{\"ClusterId\":\"…\",\"DatasourceId\":\"…\"}`), and `.platform`. Typically returns sync 200; may return 202 + LRO `Location` on large bodies — handle both.\n6. **Verify the binding persisted.** Re-call `getDefinition`, decode `queryMetadata.json`, and confirm `connections[]` is intact. **Do not** use `GET \u002Fitems\u002F{id}\u002Fconnections` for verification — that endpoint reflects refresh-materialized state, not the persisted definition, and returns 0 even after a successful bind. See [AVOID](#avoid).\n   **Guarded preview-only fallback:** If connection binding cannot proceed because Power BI v2 `gatewayClusterDatasources` returns 401\u002F403\u002FUnauthorized or no `ClusterId` is visible after retries, do not stop before creating the dataflow. Create the shell, persist the saved query definitions without claiming a valid source binding, call `executeQuery` with `QueryName` only for each saved query, surface the exact credential or binding error from the Arrow stream, do not fabricate chart data, and do not refresh.\n7. **(Encouraged) Offer to preview output as ASCII charts.** Ask the user: *\"Would you like me to preview the data as charts before the first refresh?\"*. In this create flow the definition is already saved in step 5, so the chart preview here is a **post-save validation gate before you materialize via refresh** — not a pre-save step. (If instead you want to validate *candidate* M **before** the first `updateDefinition` — e.g. iterating on the M, or bootstrap-binding a credentialed source so `executeQuery` can see it — use the pre-persist [Preview-Driven Authoring Loop](#c-preview-driven-authoring-loop); the chart rendering is identical, only the ordering relative to the save differs.) If accepted, call `executeQuery` for each entity, parse the Arrow IPC stream, render line charts (time-series) or horizontal bar charts (categories) via `references\u002Fcharts\u002Fline_chart.py` \u002F `references\u002Fcharts\u002Fbar_chart.py`, and ask the user to confirm before proceeding. Details: [mashup-preview.md § ASCII chart preview](references\u002Fmashup-preview.md#ascii-chart-preview-optional). If declined, proceed directly to step 8.\n8. **(Optional) Trigger refresh** to materialize. `POST ...\u002Fjobs\u002Finstances?jobType=Refresh` with body `{\"executionData\":{\"executeOption\":\"ApplyChangesIfNeeded\"}}`. **`ApplyChangesIfNeeded` is required on the first refresh after any definition change** — without it, Fabric refreshes the previously-applied definition. Poll the LRO until `status` is `Completed` (refresh enum) or `Failed`\u002F`Cancelled`.\n\n```bash\n# Concise skeleton — full runnable bash is Example 1 below.\n# PowerShell + LRO-polled variants: references\u002Fauthoring-script-templates.md\n\nWS_ID=\"\u003CworkspaceId>\"; URL=\"\u003Csource-url>\"\nRES=\"https:\u002F\u002Fapi.fabric.microsoft.com\"; API=\"$RES\u002Fv1\"\nPBI=\"https:\u002F\u002Fanalysis.windows.net\u002Fpowerbi\u002Fapi\"\n\n# 1. List existing & try reuse\nCONN_ID=$(az rest --method get --resource \"$RES\" --url \"$API\u002Fconnections\" \\\n  --query \"value[?connectionDetails.type=='Web' && connectionDetails.path=='$URL'] | [0].id\" -o tsv)\n\n# 2. Create connection if missing — see connection-management.md for full body\n# 3. List+filter for ClusterId\nCLUSTER_ID=$(az rest --method get --resource \"$PBI\" \\\n  --url \"https:\u002F\u002Fapi.powerbi.com\u002Fv2.0\u002Fmyorg\u002Fme\u002FgatewayClusterDatasources\" \\\n  --query \"value[?id=='$CONN_ID'] | [0].clusterId\" -o tsv)\n\n# 4. Empty dataflow shell — sync 201\nSHELL_BODY=$(mktemp --suffix=.json 2>\u002Fdev\u002Fnull || mktemp)\nprintf '{\"displayName\":\"my-df\"}' > \"$SHELL_BODY\"\nDF_ID=$(az rest --method post --resource \"$RES\" \\\n  --url \"$API\u002Fworkspaces\u002F$WS_ID\u002Fdataflows\" \\\n  --headers \"Content-Type=application\u002Fjson\" \\\n  --body \"@$SHELL_BODY\" --query id -o tsv)\nrm -f \"$SHELL_BODY\"\n\n# 5. One-shot updateDefinition with real M + connections[] (sync 200 typical)\n#    Body assembly (mashup.pq + queryMetadata.json + .platform, base64-encoded;\n#    queryMetadata.json.connections[].connectionId = composite ClusterId\u002FDatasourceId):\n#    see Example 1 below.\n\n# 6. Verify via getDefinition (NOT GET \u002Fitems\u002F{id}\u002Fconnections — see AVOID)\n# 7. (optional) executeQuery — Workflow C\n# 8. (optional) Refresh with executeOption=ApplyChangesIfNeeded — Example 2\n```\n\n> **One-shot vs two-step bind+save.** Steps 4-5 can be one call (default; saves an HTTP round trip) or split into a bootstrap-bind `updateDefinition` followed by a full-M `updateDefinition`. Both work — see [PREFER](#prefer).\n\n### B. Modify an Existing Dataflow\n\nUse this when the dataflow already exists. Canonical Discover → Formulate → Execute → Verify loop. If the dataflow does not yet exist, see [Workflow A](#a-create-a-new-dataflow-end-to-end) instead.\n\n1. **Discover** — list workspaces, list dataflows, `getDefinition` (decode `mashup.pq` and `queryMetadata.json`). Validate all `connections[]` entries via `GET \u002Fv1\u002Fconnections\u002F{id}`.\n2. **Formulate** — modify M, re-encode parts, ensure every referenced `connectionId` exists in the caller's connection store.\n3. **Execute** — `POST ...\u002FupdateDefinition?updateMetadata=true` with **all 3 parts** (full replacement). Optionally trigger refresh.\n4. **Verify** — re-call `getDefinition` to confirm changes; poll refresh LRO; for refresh failures, make at most **one** `executeQuery` isolation attempt to localize a fixable M\u002Fsource issue. On a terminal\u002Fnon-retriable failure (`isRetriable: false`, workspace-wide `UnknownException`), surface the raw error and **stop** rather than re-triggering.\n\n```bash\n# Concise skeleton — full templates: references\u002Fauthoring-script-templates.md\n# Acquire $TOKEN per common\u002FCOMMON-CLI.md § Token-in-Variable Pattern (resource = $RESOURCE).\nRESOURCE=\"https:\u002F\u002Fapi.fabric.microsoft.com\"; API=\"$RESOURCE\u002Fv1\"\n\n# 1. Discover — getDefinition (handles 200 sync and 202 + LRO via curl)\nHDR=$(mktemp); BODY=$(mktemp)\nCODE=$(curl -sS -X POST -H \"Authorization: Bearer $TOKEN\" -H \"Content-Length: 0\" \\\n  \"$API\u002Fworkspaces\u002F$WS_ID\u002Fdataflows\u002F$DF_ID\u002FgetDefinition\" \\\n  -D \"$HDR\" -o \"$BODY\" -w \"%{http_code}\")\nif [ \"$CODE\" = \"202\" ]; then\n  LOC=$(tr -d '\\r' \u003C \"$HDR\" | grep -i \"^location:\" | awk '{print $2}')\n  RETRY=$(tr -d '\\r' \u003C \"$HDR\" | grep -i \"^retry-after:\" | awk '{print $2}'); RETRY=${RETRY:-5}\n  while :; do\n    sleep \"$RETRY\"\n    OP=$(az rest --method get --resource \"$RESOURCE\" --url \"$LOC\")\n    case \"$(echo \"$OP\" | jq -r '.status \u002F\u002F empty')\" in\n      Succeeded) RESULT=$(az rest --method get --resource \"$RESOURCE\" --url \"${LOC%\u002F}\u002Fresult\"); break ;;\n      Failed|Cancelled) echo \"ERROR: getDefinition $(echo \"$OP\" | jq -r '.status')\" >&2; exit 1 ;;\n    esac\n  done\nelse\n  RESULT=$(cat \"$BODY\")\nfi\nrm -f \"$HDR\" \"$BODY\"\n\n# Validate bound connections (connectionId is a composite JSON string — iterate safely)\nQUERY_META=$(echo \"$RESULT\" | jq -r '.definition.parts[] | select(.path==\"queryMetadata.json\") | .payload' | base64 -d)\necho \"$QUERY_META\" | jq -c '.connections[]?' | while IFS= read -r conn; do\n  RAW=$(echo \"$conn\" | jq -r '.connectionId')\n  DATASOURCE_ID=$(echo \"$RAW\" | jq -r '.DatasourceId? \u002F\u002F empty' 2>\u002Fdev\u002Fnull)\n  [ -z \"$DATASOURCE_ID\" ] && DATASOURCE_ID=\"$RAW\"\n  # GET \u002Fv1\u002Fconnections\u002F$DATASOURCE_ID to confirm access\ndone\n\n# 2-3. Formulate & Execute — see Example 3\n# 4. Verify — trigger refresh via curl (az rest cannot capture Location header).\n#    Full LRO polling: references\u002Fauthoring-script-templates.md.\n```\n\n### C. Preview-Driven Authoring Loop (pre-save executeQuery — see [mashup-preview.md](references\u002Fmashup-preview.md#preview-driven-authoring-loop))\n\nWhen the change touches Power Query M (new query, edited mashup, new source, changed parameters), preview the candidate `customMashupDocument` against the dataflow's bound connections **before** persisting. Catches syntax, schema, and credential errors at authoring time. Full ordered steps, bootstrap branch, auto-wrap rule, hard-avoid for unbounded preview, ASCII chart preview, and Apache Arrow handling: [mashup-preview.md § Preview-Driven Authoring Loop](references\u002Fmashup-preview.md#preview-driven-authoring-loop).\n\n> **Intent split.** This workflow is for the *pre-save* intent. To execute a **saved** query (`QueryName` only) or run an **ad-hoc read-only** `customMashupDocument` with no intent to persist, use [`dataflows-consumption-cli`](..\u002Fdataflows-consumption-cli\u002FSKILL.md#query-evaluation). `mashup-preview.md` is the shared API reference for both intents.\n\nSkip the preview only for metadata-only edits (display name, schedule, `loadEnabled` toggle) or when the agent records an explicit skip reason (bootstrap, prohibitive cost, side-effecting source).\n\n### D. Output Destination\n\nUse this when the dataflow should **write query results to an external store** (Lakehouse table, Lakehouse files, Warehouse, ADX, Azure SQL). Extends Workflow A with `DataDestinations` annotations and a hidden destination query. Full reference with complete examples: [output-destinations.md](references\u002Foutput-destinations.md).\n\n**Key requirements:**\n\n1. **Source query** carries a `[DataDestinations = {[...]}]` annotation referencing the destination query by name.\n2. **Hidden destination query** (suffixed `_DataDestination`) navigates to the target storage using null-safe `?[Data]?` (tables) or `?[Content]?` (files) operators.\n3. **queryMetadata.json** must set `\"loadEnabled\": false` on the destination query — refresh fails without it. State this in your summary using the literal part name (e.g., \"set `loadEnabled: false` on the destination query in `queryMetadata.json`\").\n4. **Always use `IsNewTarget = true`** for API-created dataflows, even for existing tables.\n5. **Bind the appropriate connection** (Lakehouse: kind `\"Lakehouse\"`; Warehouse: kind `\"Warehouse\"`; ADX: kind `\"AzureDataExplorer\"`; Azure SQL: kind `\"Sql\"`) with composite `ClusterId`\u002F`DatasourceId` ID.\n6. **First refresh must use `ApplyChangesIfNeeded`** to publish the draft and reconcile annotations.\n7. **All source columns must be typed** — `Any`-type columns are rejected by all destination types.\n8. **Name the definition parts in your written summary.** Because the CLI transcript truncates long command bodies, the final summary (prose, not just shell commands) MUST name the three definition parts by their literal paths — `mashup.pq`, `queryMetadata.json`, and `.platform` — so the part names survive in the answer (e.g., \"Saved `mashup.pq` + `queryMetadata.json` + `.platform` via `updateDefinition`\"). Do not abbreviate `queryMetadata.json` to \"query metadata\" or the inner field `queriesMetadata`.\n\n**Supported destinations:**\n\n| Destination | Connection Kind | Destination Query Function | Notes |\n|---|---|---|---|\n| Lakehouse Table | `Lakehouse` | `Lakehouse.Contents(...)` | Path: `\"Lakehouse\"` |\n| Lakehouse Files | `Lakehouse` | `Lakehouse.Contents(...)` | `TypeSettings = [Kind = \"File\"]`, `?[Content]?` |\n| Warehouse | `Warehouse` | `Fabric.Warehouse(...)` | Path: `\"Warehouse\"`, Schema\u002FItem navigation |\n| Azure Data Explorer | `AzureDataExplorer` | `AzureDataExplorer.Contents(...)` | Path must match connection exactly (trailing slash!) |\n| Azure SQL | `Sql` | `Sql.Database(...)` | Path: `\"server;database\"` |\n\n**Minimal steps:** Create dataflow → Find\u002Fcreate connection → Resolve ClusterId → Save definition with OD annotations → Verify → Refresh.\n\n```bash\n# Skeleton — full PowerShell recipe: references\u002Foutput-destinations.md § Complete Example\nWS_ID=\"\u003CworkspaceId>\"; LH_ID=\"\u003ClakehouseId>\"; RES=\"https:\u002F\u002Fapi.fabric.microsoft.com\"\n\n# M pattern (two queries):\n# 1. Source with [DataDestinations] annotation\n# 2. Hidden _DataDestination query with ?[Data]? null-safe navigation\n# queryMetadata: source loadEnabled=true, destination loadEnabled=false + isHidden=true\n# Refresh: {\"executionData\":{\"executeOption\":\"ApplyChangesIfNeeded\"}}\n```\n\n---\n\n## Gotchas, Rules, Troubleshooting\n\nFor full authoring gotchas: [DATAFLOWS-AUTHORING-CORE.md](..\u002F..\u002Fcommon\u002FDATAFLOWS-AUTHORING-CORE.md) Gotchas and Troubleshooting.\nFor CLI-specific issues: [COMMON-CLI.md](..\u002F..\u002Fcommon\u002FCOMMON-CLI.md) Gotchas & Troubleshooting (CLI-Specific).\nFor connection discovery: [authoring-cli-quickref.md § Connection Discovery and Validation](references\u002Fauthoring-cli-quickref.md#connection-discovery-and-validation).\n\n### MUST DO\n\n- **Offer to preview every entity before the first refresh of a new dataflow** — after creating the shell and binding connections via `updateDefinition` (which persists the definition), ask the user if they want to see preview charts before materializing via refresh. In the [preview-driven loop](#c-preview-driven-authoring-loop) the preview instead precedes the persisting `updateDefinition`. If accepted, follow [mashup-preview.md § ASCII chart preview](references\u002Fmashup-preview.md#ascii-chart-preview-optional). Skip only for metadata-only edits (display name, schedule) or when the agent records an explicit skip reason.\n- **`az login` first** — all `az rest` calls use the active session. No session → 401.\n- **Use `--resource \"https:\u002F\u002Fapi.fabric.microsoft.com\"` for Fabric APIs.** For Power BI v2 (`gatewayClusterDatasources`), use `--resource \"https:\u002F\u002Fanalysis.windows.net\u002Fpowerbi\u002Fapi\"` **without a trailing slash** — the slashed form fails `AADSTS500011 invalid_resource`.\n- **Base64-encode all 3 definition parts** — `mashup.pq` + `queryMetadata.json` + `.platform`, each `payloadType: \"InlineBase64\"`. `updateDefinition` is a full replacement; sending 1 or 2 parts silently drops queries.\n- **Handle sync AND async responses.** `POST \u002Fdataflows`, `updateDefinition`, and `getDefinition` typically return sync (200\u002F201) but may return 202 + LRO `Location` on large bodies — handle both. See [authoring-script-templates.md § Fabric LRO Polling Pattern](references\u002Fauthoring-script-templates.md#fabric-lro-polling-pattern).\n- **Set `formatVersion: \"202502\"`** in `queryMetadata.json` and include a top-level `name` matching `displayName` — omitting either causes save-time failures or stale display-name state.\n- **`loadEnabled` is opt-out, not opt-in.** Fabric auto-loads every query to the staging Lakehouse by default; set `loadEnabled: false` only on helper queries you do not want written. Note: `loadEnabled: true` is also stripped from `queryMetadata.json` on round-trip via `getDefinition` (it's the default) — its absence on read-back is **not** a bug. Detail: [DATAFLOWS-AUTHORING-CORE.md § loadEnabled semantics](..\u002F..\u002Fcommon\u002FDATAFLOWS-AUTHORING-CORE.md).\n- **Use the right ID format per context.** REST `\u002Fv1\u002Fconnections` operations take the **plain GUID** from `connection.id`; `queryMetadata.json connections[].connectionId` takes the **stringified composite** `{\"ClusterId\":\"…\",\"DatasourceId\":\"…\"}`. See [connection-management.md § Connection ID Format Cheat Sheet](references\u002Fconnection-management.md#connection-id-format-cheat-sheet).\n- **Resolve `ClusterId` via list+filter.** `GET ...\u002FgatewayClusterDatasources` filtered by `value[?id=='$CONN_ID']`. The per-id route returns `PowerBIEntityNotFound` for cloud connections; newly-created connections may need a 5-15 s retry. See [connection-management.md § Resolving ClusterId](references\u002Fconnection-management.md#resolving-clusterid-power-bi-v2).\n- **`executeQuery` body uses a top-level `QueryName` field** (PascalCase canonical; the field name itself is case-insensitive on the wire — lowercase `queryName` also evaluates). Value must name a `shared` member from the persisted M or the supplied `customMashupDocument`. The `{\"queries\":[…]}` array shape **always** fails with `DataflowExecuteQueryError: Invalid query name`; a wrong query name returns `QueryNotFound`. Full contract: [mashup-preview.md § Request body](references\u002Fmashup-preview.md).\n- **Use the exact, case-sensitive API names.** The endpoint is `executeQuery` (singular, never `executeQueries`) and the request-body field is `customMashupDocument` (never `mashupDocument`, never base64-encoded — it is a plain UTF-8 M string). The same M body becomes the saved `mashup.pq` part referenced as `customMashupDocument`. Vocabulary table: [mashup-preview.md § Vocabulary](references\u002Fmashup-preview.md#vocabulary----name-the-things-you-send).\n- **First refresh after any `updateDefinition` MUST use `executeOption: \"ApplyChangesIfNeeded\"`.** Body: `{\"executionData\":{\"executeOption\":\"ApplyChangesIfNeeded\"}}`. Without it, Fabric refreshes the previously-applied definition.\n- **Treat a terminal refresh failure as a stop condition — do not debug-loop.** When a refresh\u002FLRO job reaches terminal `Failed`\u002F`Cancelled`, or a backend error carries `isRetriable: false` (or a workspace-wide `UnknownException`), report the raw error verbatim and **stop**. These are backend\u002Finfra outcomes the agent cannot fix by retrying — do not re-trigger the refresh, keep re-polling, or open an extended investigation. At most, make **one** `executeQuery` isolation attempt to localize a fixable M\u002Fsource cause; if that does not reveal a definition-side issue, end and surface the error.\n- **Call `GET \u002Fv1\u002Fconnections\u002FsupportedConnectionTypes` before `POST \u002Fv1\u002Fconnections`** -- never guess parameter names or credential types; they vary by connector, tenant, and time. When summarizing a connector's required parameters or `credentialType` set for a user, use the exact, case-sensitive endpoint path `GET \u002Fv1\u002Fconnections\u002FsupportedConnectionTypes`. This applies even to a pure lookup (\"which parameters\u002FcredentialType does connector X support?\"): run the live `GET \u002Fv1\u002Fconnections\u002FsupportedConnectionTypes` against the tenant. The bundled `connection-management.md` reference guides the response shape but is not a substitute for the tenant-specific, case-sensitive values, which vary by connector and over time.\n- **Validate referenced connections before refresh.** For each `connectionId` in `queryMetadata.json`, `GET \u002Fv1\u002Fconnections\u002F{id}` (plain GUID extracted from the composite). Cryptic `EntityUserFailure` at refresh time is often a missing\u002Finaccessible connection. See [connection-management.md](references\u002Fconnection-management.md).\n- **Bootstrap-bind connections before previewing credentialed M.** A `connections[]` array in the initial create payload is **not** yet visible to `executeQuery`; persist it through at least one `updateDefinition` first. Detail: [mashup-preview.md § Bootstrap branch](references\u002Fmashup-preview.md#bootstrap-branch--new-dataflow--new-credentialed-source).\n- **Send a full `section Section1; ...` document in `customMashupDocument`** — `executeQuery` does not auto-wrap raw expressions. See [mashup-preview.md § customMashupDocument format](references\u002Fmashup-preview.md#custommashupdocument-format).\n- **Preview candidate M via `executeQuery` before `updateDefinition`** — unless the change is metadata-only or the agent records an explicit skip reason. Treat preview success as \"M evaluates\"; treat the next refresh as the real go\u002Fno-go.\n- **Pass JSON bodies via `--body \"@\u003Cfile>\"`, not inline.** Write to `$env:TEMP\\\u003Cname>.json` (PowerShell, UTF-8 **no-BOM** via `[IO.File]::WriteAllText`) or `\u002Ftmp\u002F\u003Cname>.json` (bash). Inline `--body \"\u003Cjson>\"` is fragile in bash and broken on Windows because `cmd.exe`'s argument parser mangles embedded quotes. See [authoring-script-templates.md § PowerShell — Create Dataflow with Definition](references\u002Fauthoring-script-templates.md#powershell--create-dataflow-with-definition).\n- **Prefer `WorkspaceIdentity` \u002F `ServicePrincipal` credentials for unattended refresh.** `OAuth2` + `singleSignOnType: None` works for interactive `executeQuery` but is fragile under tenant Conditional Access for service-context refresh. Check supported types via `supportedConnectionTypes`.\n\n### AVOID\n\n- **Materializing a new dataflow (first refresh) without offering the user a preview** — the user cannot validate that the M code matches their intent by reading code alone. Always offer to preview each entity's output as an ASCII chart before the first refresh (and, in the preview-driven loop, before the persisting `updateDefinition`). The user may decline, but the offer should always be made.\n- **Adding a `format` property to `definition`** — Items API uses `parts[]` only; `\"format\": \"json\"` returns `400 InvalidDefinitionFormat`.\n- **Hardcoded workspace\u002Fdataflow GUIDs** — discover via REST API (Connection section).\n- **Using `GET \u002Fv1\u002Fworkspaces\u002F{ws}\u002Fitems\u002F{itemId}\u002Fconnections` to verify a freshly-bound dataflow.** It reflects refresh-materialized state, **not** the persisted definition, and returns 0 after a successful bind. Verify via `getDefinition` + decode `queryMetadata.json.connections[]`.\n- **Assuming `updateDefinition` \u002F `POST \u002Fdataflows` is always LRO.** Typical responses are sync (200\u002F201); handle both shapes — see MUST DO above.\n- **Requesting the PBI v2 token with a trailing slash** (`--resource \"https:\u002F\u002Fanalysis.windows.net\u002Fpowerbi\u002Fapi\u002F\"`) — fails `AADSTS500011 invalid_resource`. Use the no-slash form.\n- **Per-id `gatewayClusterDatasources\u002F{id}` for cloud connections** — returns `PowerBIEntityNotFound`. Use list+filter (MUST DO above).\n- **`{\"queries\":[…]}` array body shape for `executeQuery`** — always returns `400 DataflowExecuteQueryError: Invalid query name` regardless of inner casing. Use a top-level `QueryName` (or `queryName` — the field is case-insensitive); pick exactly one query per call.\n- **Using `GET` for `getDefinition`** — it's a POST endpoint; `GET` returns 405.\n- **Constructing operation URLs manually** — always follow the `Location` header from a 202 response.\n- **Duplicate `displayName` values** — not enforced but causes confusion.\n- **Binding connections by display name** — connection IDs are the source of truth; names can change.\n- **Assuming all connections are accessible to all users.** Visibility is **per-caller**: `GET \u002Fv1\u002Fconnections\u002F{id}` may return 403\u002F404 for callers without access. An empty `GET \u002Fv1\u002Fconnections` is not proof a connection is absent.\n- **Hand-crafting connection request bodies without `supportedConnectionTypes`** — guessing produces `400 InvalidConnectionDetails` \u002F `400 InvalidCredentialDetails`.\n- **Plaintext credentials in generated examples or committed scripts** — never render or commit plaintext credential values. Show only `passwordReference` \u002F `keyReference` \u002F `tokenReference` \u002F `servicePrincipalSecretReference` in generated connection bodies.\n- **Templating on-prem gateway connection bodies as plaintext** — `OnPremisesGateway` needs RSA-encrypted credentials per gateway member.\n- **Converting a published single-source dataflow to multi-source in place** — bindings drift into inconsistent state; create fresh and retire the old.\n- **Persisting un-previewed candidate M via `updateDefinition`** — `executeQuery` is significantly faster than the `updateDefinition`-then-debug-refresh loop. See [mashup-preview.md](references\u002Fmashup-preview.md).\n- **Unbounded preview against production-volume sources** — `executeQuery` returns the **full** evaluated dataset. Inject `Table.FirstN` \u002F `TOP N` \u002F date predicate into the preview-only document; strip before saving. See [mashup-preview.md § Hard avoid](references\u002Fmashup-preview.md#hard-avoid-unbounded-production-volume-preview).\n- **Confusing `executeQuery` with `EvaluateQuery`.** `EvaluateQuery` requires a prior successful refresh; `executeQuery` + `customMashupDocument` does not. Use `executeQuery` for the authoring preview loop.\n- **Inline `--body` on Windows\u002FPowerShell** — `cmd.exe` mangles quotes; always use `--body \"@$env:TEMP\\\u003Cname>.json\"`.\n\n### PREFER\n\n- **One-shot `updateDefinition` carrying real M + `connections[]`** over a bootstrap-bind + save pair — saves an HTTP round trip; both are functionally equivalent. Use the two-step form for didactic walk-throughs or when the bootstrap M needs to differ from the production M (e.g., the bootstrap branch in [mashup-preview.md](references\u002Fmashup-preview.md#bootstrap-branch--new-dataflow--new-credentialed-source)).\n- **`az rest` over raw `curl`** — handles token acquisition and refresh automatically. Fall back to `curl` only when you need to capture response headers (e.g., 202 LRO `Location`) — `az rest` cannot.\n- **`getDefinition` before `updateDefinition`** — read-modify-write prevents accidental data loss; `updateDefinition` is a full replacement.\n- **`?updateMetadata=true` on `updateDefinition`** — ensures `.platform` changes (display name) are applied.\n- **`jq` for JSON manipulation** — build definition payloads programmatically.\n- **`\"Automatic\"` for parameter type in job execution** — lets the engine infer from definition.\n- **Env vars (`WS_ID`, `DF_ID`, `API`, `RESOURCE`)** for script reuse.\n- **Batch connection validation** — loop over `queryMetadata.json connections[]` and `GET \u002Fv1\u002Fconnections\u002F{id}` in one pass before refresh; optionally `POST \u002Fv1\u002Fconnections\u002F{id}\u002FtestConnection` to catch rotated credentials.\n- **Offer preview charts** before committing a new dataflow — render sample data as an ASCII chart so the user can validate the output shape and values.\n\n### TROUBLESHOOTING\n\n| Symptom | Fix |\n|---|---|\n| 401 Unauthorized | Verify `az login` is active; check `--resource \"https:\u002F\u002Fapi.fabric.microsoft.com\"` (or `https:\u002F\u002Fanalysis.windows.net\u002Fpowerbi\u002Fapi` **no trailing slash** for PBI v2). |\n| 405 Method Not Allowed on `getDefinition` | Use POST, not GET. |\n| `updateDefinition` silently drops queries | Send all 3 parts (`mashup.pq`, `queryMetadata.json`, `.platform`). |\n| `executeQuery` → 400 `DataflowExecuteQueryError: Invalid query name` | Body uses the `{\"queries\":[…]}` array shape — that always fails. Switch to a top-level `{\"QueryName\":\"\u003Cshared>\"}` (PascalCase canonical; the field is case-insensitive on the wire). |\n| `executeQuery` → 400 `DataflowExecuteQueryError: ErrorCode: QueryNotFound` | The value of `QueryName` doesn't match any `shared` member of the persisted M or supplied `customMashupDocument`. List queries via `getDefinition` → decode `mashup.pq`. |\n| `GET \u002Fitems\u002F{id}\u002Fconnections` returns 0 after a successful bind | That endpoint reflects refresh-materialized state, not the definition. Verify via `getDefinition` → decode `queryMetadata.json.connections[]`. |\n| 404 \u002F `PowerBIEntityNotFound` fetching `ClusterId` from `gatewayClusterDatasources\u002F{id}` | Per-id route does not resolve cloud connections. Use list + filter: `GET ...\u002FgatewayClusterDatasources --query \"value[?id=='$CONN_ID'] \\| [0].clusterId\"`, audience `https:\u002F\u002Fanalysis.windows.net\u002Fpowerbi\u002Fapi` (no slash). Newly-created connections may need 5-15 s to surface — retry. See [connection-management.md § Resolving ClusterId](references\u002Fconnection-management.md#resolving-clusterid-power-bi-v2). |\n| Refresh fails on first run after `updateDefinition` (stale data, missing changes) | Body must include `{\"executionData\":{\"executeOption\":\"ApplyChangesIfNeeded\"}}` on the first refresh after any definition change. |\n| Refresh fails with \"Connection not found\" | Extract `connectionId` (composite) from `queryMetadata.json`, parse `DatasourceId`, confirm via `GET \u002Fv1\u002Fconnections\u002F{id}`. |\n| `connections[]` missing after `updateDefinition` | Read-modify-write rebuilt `queryMetadata.json` from a snapshot without bindings. Re-bind and `updateDefinition` again before refresh. |\n| Refresh reports \"connection not found\" after create+bind | Wrong ID format in `queryMetadata.json`. REST `id` is plain GUID; `connectionId` is the stringified composite `{\"ClusterId\":\"…\",\"DatasourceId\":\"…\"}`. |\n| `formatVersion` mismatch error | Set `formatVersion: \"202502\"` in `queryMetadata.json`. |\n| Fast copy not engaged | Add `[StagingDefinition = [Kind = \"FastCopy\"]]` before `section` in `mashup.pq`. |\n| LRO polling returns 404 | Use the `Location` header URL — don't construct operation URLs manually. |\n| 429 Too Many Requests | Respect `Retry-After`; exponential backoff. |\n| Base64 decode produces garbage | Strip trailing newlines; use `base64 -w0` (Linux). |\n| Inline `--body \"\u003Cjson>\"` returns 400 \u002F empty body on Windows | `cmd.exe` arg parser mangles quotes when launching `az.exe`. Write to `$env:TEMP\\body.json` (UTF-8, no BOM) and pass `--body \"@$env:TEMP\\body.json\"`. See [authoring-script-templates.md § PowerShell — Create Dataflow with Definition](references\u002Fauthoring-script-templates.md#powershell--create-dataflow-with-definition). |\n| Refresh fails with `EntityUserFailure` \u002F \"Something went wrong\" and no detail | (1) Confirm `updateDefinition` was called after create; (2) check credential type — `OAuth2`+`singleSignOnType: None` often fails under tenant Conditional Access for unattended refresh; prefer `WorkspaceIdentity`\u002F`ServicePrincipal`; (3) `executeQuery` against the dataflow to isolate M+source; (4) `GET https:\u002F\u002Fapi.powerbi.com\u002Fv1.0\u002Fmyorg\u002Fgroups\u002F{ws}\u002Fdataflows\u002F{df}\u002Ftransactions` (PBI v1.0) sometimes returns richer per-entity errors. |\n\n---\n\n## Examples\n\n> **Platform note** — examples below are bash. On Windows \u002F PowerShell the bash patterns (`MASHUP='...'` heredoc, `echo -n | base64 -w0`, `tr -d '\\r' | grep -i location | awk`) cause real escaping pain and refresh-pattern flakes. **PowerShell variants** are linked from the two highest-friction examples (Create and Refresh) below. For full PowerShell templates (Create, Refresh, Validate Connections, Bind Connection, Create Cloud Connection): [authoring-script-templates.md § PowerShell](references\u002Fauthoring-script-templates.md). On PowerShell, prefer `--body \"@$env:TEMP\\body.json\"` and write the body via `[IO.File]::WriteAllText($path, $body, [System.Text.UTF8Encoding]::new($false))` over `Out-File` (which writes a UTF-8 BOM on Windows PowerShell 5.1 and breaks `az.exe` body parsing) and over inline `--body \"{...}\"` (which `cmd.exe` mangles).\n\n### Example 1: Create a Dataflow Gen2 from Scratch\n\n**Prompt**: \"Create a new Dataflow Gen2 that reads a public CSV via the Web connector, and verify it.\"\n\n**Agent response** — runnable bash implementation of [Workflow A](#a-create-a-new-dataflow-end-to-end). PowerShell variant: [authoring-script-templates.md § End-to-End Smoke Test](references\u002Fauthoring-script-templates.md#end-to-end-smoke-test).\n\n```bash\n# Prereqs: az login, jq, base64, uuidgen. Workspace must support Dataflow Gen2.\nWS_ID=\"\u003CworkspaceId>\"\nDF_NAME=\"my-titanic-df\"\nCONN_NAME=\"my-titanic-web-conn\"\nURL=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fdatasciencedojo\u002Fdatasets\u002Fmaster\u002Ftitanic.csv\"\nRES=\"https:\u002F\u002Fapi.fabric.microsoft.com\"; API=\"$RES\u002Fv1\"\nPBI=\"https:\u002F\u002Fanalysis.windows.net\u002Fpowerbi\u002Fapi\"   # NO trailing slash\n\n# Step 1: List existing connections, try to reuse by name.\nCONN_ID=$(az rest --method get --resource \"$RES\" --url \"$API\u002Fconnections\" \\\n  --query \"value[?displayName=='$CONN_NAME'] | [0].id\" -o tsv)\n\n# Step 2: Create if missing (Web + Anonymous; see connection-management.md for other shapes).\nif [ -z \"$CONN_ID\" ] || [ \"$CONN_ID\" = \"null\" ]; then\n  BODY_FILE=$(mktemp --suffix=.json 2>\u002Fdev\u002Fnull || mktemp)  # GNU + BSD\u002FmacOS compatible\n  cat > \"$BODY_FILE\" \u003C\u003CEOF\n{\n  \"displayName\": \"$CONN_NAME\",\n  \"connectivityType\": \"ShareableCloud\",\n  \"connectionDetails\": {\n    \"type\": \"Web\", \"creationMethod\": \"Web\",\n    \"parameters\": [{\"name\": \"url\", \"dataType\": \"Text\", \"value\": \"$URL\"}]\n  },\n  \"privacyLevel\": \"Organizational\",\n  \"credentialDetails\": {\n    \"singleSignOnType\": \"None\", \"connectionEncryption\": \"NotEncrypted\",\n    \"skipTestConnection\": false,\n    \"credentials\": {\"credentialType\": \"Anonymous\"}\n  }\n}\nEOF\n  CONN_ID=$(az rest --method post --resource \"$RES\" --url \"$API\u002Fconnections\" \\\n    --headers \"Content-Type=application\u002Fjson\" --body \"@$BODY_FILE\" --query id -o tsv)\n  rm -f \"$BODY_FILE\"\nfi\n\n# Step 3: Resolve ClusterId via list+filter; retry — PBI v2 lags by 5-15s on new conns.\nfor i in 1 2 3 4 5 6 7 8; do\n  CLUSTER_ID=$(az rest --method get --resource \"$PBI\" \\\n    --url \"https:\u002F\u002Fapi.powerbi.com\u002Fv2.0\u002Fmyorg\u002Fme\u002FgatewayClusterDatasources\" \\\n    --query \"value[?id=='$CONN_ID'] | [0].clusterId\" -o tsv 2>\u002Fdev\u002Fnull)\n  [ -n \"$CLUSTER_ID\" ] && [ \"$CLUSTER_ID\" != \"null\" ] && break\n  sleep $((i*3))\ndone\n# Fail-fast: an empty ClusterId silently corrupts the composite connectionId and the\n# resulting updateDefinition \u002F refresh failures are hard to debug. Stop here instead.\nif [ -z \"$CLUSTER_ID\" ] || [ \"$CLUSTER_ID\" = \"null\" ]; then\n  echo \"FAIL: ClusterId not resolved for $CONN_ID after retries. Verify the connection is visible at PBI v2 (api.powerbi.com\u002Fv2.0\u002Fmyorg\u002Fme\u002FgatewayClusterDatasources).\" >&2\n  exit 1\nfi\n\n# Step 4: Create empty dataflow shell (sync 201).\nSHELL_BODY=$(mktemp --suffix=.json 2>\u002Fdev\u002Fnull || mktemp)\nprintf '{\"displayName\":\"%s\"}' \"$DF_NAME\" > \"$SHELL_BODY\"\nDF_ID=$(az rest --method post --resource \"$RES\" \\\n  --url \"$API\u002Fworkspaces\u002F$WS_ID\u002Fdataflows\" \\\n  --headers \"Content-Type=application\u002Fjson\" \\\n  --body \"@$SHELL_BODY\" --query id -o tsv)\nrm -f \"$SHELL_BODY\"\n\n# Step 5: One-shot updateDefinition — real M + composite-bound connections[] + .platform.\nMASHUP='section Section1;\nshared Titanic = let\n    Source = Csv.Document(Web.Contents(\"'\"$URL\"'\"), [Delimiter=\",\", Encoding=65001, QuoteStyle=QuoteStyle.Csv]),\n    Headers = Table.PromoteHeaders(Source, [PromoteAllScalars=true])\nin Headers;'\n\nCOMPOSITE_ID=\"{\\\"ClusterId\\\":\\\"$CLUSTER_ID\\\",\\\"DatasourceId\\\":\\\"$CONN_ID\\\"}\"\nQUERY_META=$(jq -n --arg name \"$DF_NAME\" --arg cid \"$COMPOSITE_ID\" --arg url \"$URL\" --arg qid \"$(uuidgen)\" '{\n  formatVersion: \"202502\",\n  name: $name,\n  queriesMetadata: { Titanic: { queryId: $qid, queryName: \"Titanic\" } },\n  connections: [ { connectionId: $cid, kind: \"Web\", path: $url } ]\n}')\nPLATFORM=$(jq -n --arg name \"$DF_NAME\" --arg lid \"$(uuidgen)\" '{\n  \"$schema\": \"https:\u002F\u002Fdeveloper.microsoft.com\u002Fjson-schemas\u002Ffabric\u002FgitIntegration\u002FplatformProperties\u002F2.0.0\u002Fschema.json\",\n  metadata: { type: \"Dataflow\", displayName: $name },\n  config: { version: \"2.0\", logicalId: $lid }\n}')\n\nMASHUP_B64=$(echo -n \"$MASHUP\" | base64 -w0)\nMETA_B64=$(echo -n \"$QUERY_META\" | base64 -w0)\nPLAT_B64=$(echo -n \"$PLATFORM\" | base64 -w0)\n\nBODY_FILE=$(mktemp --suffix=.json 2>\u002Fdev\u002Fnull || mktemp)  # GNU + BSD\u002FmacOS compatible\ncat > \"$BODY_FILE\" \u003C\u003CEOF\n{\"definition\":{\"parts\":[\n  {\"path\":\"mashup.pq\",          \"payload\":\"${MASHUP_B64}\", \"payloadType\":\"InlineBase64\"},\n  {\"path\":\"queryMetadata.json\", \"payload\":\"${META_B64}\",   \"payloadType\":\"InlineBase64\"},\n  {\"path\":\".platform\",          \"payload\":\"${PLAT_B64}\",   \"payloadType\":\"InlineBase64\"}\n]}}\nEOF\naz rest --method post --resource \"$RES\" \\\n  --url \"$API\u002Fworkspaces\u002F$WS_ID\u002Fdataflows\u002F$DF_ID\u002FupdateDefinition?updateMetadata=true\" \\\n  --headers \"Content-Type=application\u002Fjson\" --body \"@$BODY_FILE\"\nrm -f \"$BODY_FILE\"\n\n# Step 6: Verify connections[] persisted via getDefinition (NOT \u002Fitems\u002F{id}\u002Fconnections).\n# Assumes the sync 200 fast-path (typical, ~1s). If the call ever returns 202 LRO,\n# az rest can't expose the Location header — switch to the curl + poll pattern from\n# Example 3 \u002F authoring-script-templates.md and decode the polled 200 body instead.\nPERSISTED=$(az rest --method post --resource \"$RES\" \\\n  --url \"$API\u002Fworkspaces\u002F$WS_ID\u002Fdataflows\u002F$DF_ID\u002FgetDefinition\" \\\n  --headers \"Content-Length=0\" \\\n  | jq -r '.definition.parts[] | select(.path==\"queryMetadata.json\") | .payload' | base64 -d \\\n  | jq -r '.connections | length')\n[ \"${PERSISTED:-0}\" -gt 0 ] && echo \"OK: connections[] persisted.\" || { echo \"FAIL: bind missing (or getDefinition returned a 202 LRO body — see note above).\" >&2; exit 1; }\n\n# Step 7 (optional): Validate the M evaluates — top-level QueryName, PascalCase.\nEQ_BODY=$(mktemp --suffix=.json 2>\u002Fdev\u002Fnull || mktemp)\nprintf '{\"QueryName\":\"Titanic\"}' > \"$EQ_BODY\"\naz rest --method post --resource \"$RES\" \\\n  --url \"$API\u002Fworkspaces\u002F$WS_ID\u002Fdataflows\u002F$DF_ID\u002FexecuteQuery\" \\\n  --headers \"Content-Type=application\u002Fjson\" \\\n  --body \"@$EQ_BODY\" --output-file \u002Ftmp\u002Ftitanic.arrow\nrm -f \"$EQ_BODY\"\n# Apache Arrow stream — embedded {\"Error\":\"...\"} means failure even on HTTP 200.\ngrep -q '\"Error\":\"' \u002Ftmp\u002Ftitanic.arrow && { echo \"executeQuery surfaced an error.\" >&2; exit 1; }\n\n# Step 8 (optional): Trigger refresh with ApplyChangesIfNeeded on first run — see Example 2.\n```\n\n### Example 2: Trigger a Refresh Job\n\n**Prompt**: \"Trigger a refresh on this dataflow and poll until it completes.\"\n\n**Agent response**:\n\n```bash\n# Trigger refresh (returns 202 + Location header for polling).\n# jobType MUST be \"Refresh\"; \"Pipeline\" returns 400 InvalidJobType.\n# On the first refresh after any updateDefinition, body MUST include executeOption=ApplyChangesIfNeeded\n# (otherwise Fabric refreshes the previously-applied definition).\n# Acquire $TOKEN per common\u002FCOMMON-CLI.md § Token-in-Variable Pattern (resource = https:\u002F\u002Fapi.fabric.microsoft.com).\nLOCATION=$(curl -sS -X POST \\\n  -H \"Authorization: Bearer $TOKEN\" -H \"Content-Type: application\u002Fjson\" \\\n  --data '{\"executionData\":{\"executeOption\":\"ApplyChangesIfNeeded\"}}' \\\n  \"https:\u002F\u002Fapi.fabric.microsoft.com\u002Fv1\u002Fworkspaces\u002F${WS_ID}\u002Fdataflows\u002F${DF_ID}\u002Fjobs\u002Finstances?jobType=Refresh\" \\\n  -o \u002Fdev\u002Fnull -D - | tr -d '\\r' | grep -i \"^location:\" | awk '{print $2}')\n\n# Poll while the status is non-terminal. Fabric refresh job status enum:\n#   NotStarted \u002F InProgress   -> non-terminal, keep polling\n#   Completed                 -> success\n#   Failed \u002F Cancelled        -> terminal backend outcome (fatal-stop)\n#   Deduped                   -> another refresh is already running; this trigger was skipped (NOT success)\n# Treat ONLY NotStarted\u002FInProgress as non-terminal and break on anything else, so a newly-added\n# terminal status surfaces immediately instead of waiting out MAX_POLLS (the contract notes more\n# status values may be added over time). MAX_POLLS bounds the wait if the job never terminates.\nATTEMPT=0; MAX_POLLS=\"${MAX_POLLS:-60}\"\nwhile [ \"$ATTEMPT\" -lt \"$MAX_POLLS\" ]; do\n  STATUS=$(az rest --method get --url \"$LOCATION\" \\\n    --resource \"https:\u002F\u002Fapi.fabric.microsoft.com\" --query \"status\" -o tsv)\n  echo \"Status: $STATUS\"\n  case \"$STATUS\" in NotStarted|InProgress) ;; *) break ;; esac\n  sleep 10; ATTEMPT=$((ATTEMPT + 1))\ndone\ncase \"$STATUS\" in\n  Completed) : ;;  # success (exit 0)\n  Deduped)\n    # Concurrency, not success: another refresh is already running and this trigger was skipped.\n    # Monitor the in-flight instance instead of re-triggering. Exit non-zero so automation does not\n    # mistake a skipped trigger for a completed refresh.\n    echo \"Refresh deduplicated — another instance is already running; monitor that instance instead of re-triggering.\"\n    exit 2 ;;\n  NotStarted|InProgress)\n    # Max-poll bound reached before any terminal status — a polling timeout, NOT a terminal outcome.\n    # Surface the raw job instance and stop; do not assume success.\n    echo \"Polling stopped after ${MAX_POLLS} attempts with non-terminal status '$STATUS' (max-poll timeout, not a terminal outcome).\"\n    az rest --method get --url \"$LOCATION\" --resource \"https:\u002F\u002Fapi.fabric.microsoft.com\"\n    exit 1 ;;\n  *)  # Failed \u002F Cancelled (or any other terminal status): a terminal backend outcome — not something\n      # to debug-loop. Surface the job's raw error (the job-instance body's .failureReason, an\n      # ErrorResponse with .errorCode \u002F .isRetriable \u002F .message) and STOP. Do NOT re-trigger or keep\n      # polling when .failureReason.isRetriable=false or the error is workspace-wide.\n      az rest --method get --url \"$LOCATION\" --resource \"https:\u002F\u002Fapi.fabric.microsoft.com\"\n      exit 1 ;;\nesac\n```\n\n**PowerShell variant** (`Invoke-WebRequest` exposes response headers natively; avoids the `tr | grep | awk` pipe):\n\n```powershell\n# Notes:\n# - $Resp.Headers[\"Location\"] returns string or string[] depending on PS version — never\n#   use .Location[0] (returns first character on Windows PS 5.1 plain-string case).\n# - Wrap Invoke-WebRequest in try\u002Fcatch on 5.1 (-SkipHttpErrorCheck is PS 7+).\n# - Fabric refresh job status enum: NotStarted \u002F InProgress (non-terminal); Completed (success);\n#   Failed \u002F Cancelled (fatal); Deduped (another refresh already running — NOT success). Treat only\n#   NotStarted\u002FInProgress as non-terminal and break on anything else, bounded by a max-poll count, so\n#   a newly-added terminal status surfaces immediately instead of waiting out $MaxPolls.\n#   This is distinct from the LRO operation enum (Running \u002F Succeeded \u002F Failed \u002F Cancelled).\n#   Refresh \"success\" = \"Completed\", not \"Succeeded\".\n# Acquire $Token per common\u002FCOMMON-CLI.md § Token-in-Variable Pattern (resource = https:\u002F\u002Fapi.fabric.microsoft.com).\ntry {\n  $Resp = Invoke-WebRequest -Method POST -UseBasicParsing `\n    -Uri \"https:\u002F\u002Fapi.fabric.microsoft.com\u002Fv1\u002Fworkspaces\u002F$WS_ID\u002Fdataflows\u002F$DF_ID\u002Fjobs\u002Finstances?jobType=Refresh\" `\n    -Headers @{ Authorization = \"Bearer $Token\"; \"Content-Type\" = \"application\u002Fjson\" } `\n    -Body '{\"executionData\":{\"executeOption\":\"ApplyChangesIfNeeded\"}}'\n} catch {\n  Write-Error \"Refresh trigger failed: $($_.Exception.Message)\"; exit 1\n}\n$Location = $Resp.Headers[\"Location\"]\nif ($Location -is [array]) { $Location = $Location[0] }\n\n$Attempt = 0; $MaxPolls = 60\ndo {\n  $Status = az rest --method get --url $Location `\n    --resource \"https:\u002F\u002Fapi.fabric.microsoft.com\" --query \"status\" -o tsv\n  Write-Host \"Status: $Status\"\n  if ($Status -notin 'NotStarted','InProgress') { break }\n  Start-Sleep -Seconds 10; $Attempt++\n} while ($Attempt -lt $MaxPolls)\nif ($Status -in 'NotStarted','InProgress') {\n  # Max-poll bound reached before any terminal status — a polling timeout, NOT a terminal outcome.\n  Write-Host \"Polling stopped after $MaxPolls attempts with non-terminal status '$Status' (max-poll timeout, not a terminal outcome).\"\n  az rest --method get --url $Location --resource \"https:\u002F\u002Fapi.fabric.microsoft.com\"\n  exit 1\n}\nswitch ($Status) {\n  'Completed' { }  # success (exit 0)\n  'Deduped' {\n    # Concurrency, not success: another refresh is already running and this trigger was skipped.\n    # Exit non-zero so callers don't treat a skipped trigger as a completed refresh.\n    Write-Host \"Refresh deduplicated — another instance is already running; monitor that instance instead of re-triggering.\"\n    exit 2\n  }\n  default {\n    # Failed \u002F Cancelled (or any other terminal status): a terminal backend outcome — surface the job's\n    # raw error (the job-instance body's .failureReason: .errorCode \u002F .isRetriable \u002F .message) and STOP;\n    # do not re-trigger or debug-loop when failureReason.isRetriable=false or the error is workspace-wide.\n    az rest --method get --url $Location --resource \"https:\u002F\u002Fapi.fabric.microsoft.com\"\n    Write-Error \"Refresh terminated '$Status' (not Completed)\"; exit 1\n  }\n}\n```\n\n### Example 3: Modify an Existing Dataflow's Definition\n\n**Prompt**: \"Update the mashup of an existing dataflow with a modified query.\"\n\n**Agent response** — read-modify-write loop. `getDefinition` returns sync 200 in the typical case; this template handles the 202 + LRO branch as well.\n\n```bash\nRESOURCE=\"https:\u002F\u002Fapi.fabric.microsoft.com\"\n# Acquire $TOKEN per common\u002FCOMMON-CLI.md § Token-in-Variable Pattern (resource = $RESOURCE).\n\n# 1. Read current definition (sync 200 or 202 LRO — handle both).\nHDR=$(mktemp); BODY=$(mktemp)\nCODE=$(curl -sS -X POST -H \"Authorization: Bearer $TOKEN\" -H \"Content-Length: 0\" \\\n  \"$RESOURCE\u002Fv1\u002Fworkspaces\u002F${WS_ID}\u002Fdataflows\u002F${DF_ID}\u002FgetDefinition\" \\\n  -D \"$HDR\" -o \"$BODY\" -w \"%{http_code}\")\nif [ \"$CODE\" = \"202\" ]; then\n  LOC=$(tr -d '\\r' \u003C \"$HDR\" | grep -i \"^location:\" | awk '{print $2}')\n  RETRY=$(tr -d '\\r' \u003C \"$HDR\" | grep -i \"^retry-after:\" | awk '{print $2}'); RETRY=${RETRY:-5}\n  while :; do\n    sleep \"$RETRY\"\n    OP=$(az rest --method get --resource \"$RESOURCE\" --url \"$LOC\")\n    case \"$(echo \"$OP\" | jq -r '.status \u002F\u002F empty')\" in\n      Succeeded) DEF=$(az rest --method get --resource \"$RESOURCE\" --url \"${LOC%\u002F}\u002Fresult\"); break ;;\n      Failed|Cancelled) echo \"ERROR: getDefinition $(echo \"$OP\" | jq -r '.status')\" >&2; exit 1 ;;\n    esac\n  done\nelse\n  DEF=$(cat \"$BODY\")\nfi\nrm -f \"$HDR\" \"$BODY\"\n\n# 2. Decode each part, modify mashup.pq, re-encode all 3.\nMASHUP=$(echo \"$DEF\" | jq -r '.definition.parts[] | select(.path==\"mashup.pq\")          | .payload' | base64 -d)\nMETA=$(  echo \"$DEF\" | jq -r '.definition.parts[] | select(.path==\"queryMetadata.json\") | .payload' | base64 -d)\nPLAT=$(  echo \"$DEF\" | jq -r '.definition.parts[] | select(.path==\".platform\")          | .payload' | base64 -d)\n\nNEW_MASHUP=$(echo \"$MASHUP\" | sed 's\u002Fold-pattern\u002Fnew-pattern\u002F')   # edit M here\n\nMASHUP_B64=$(echo -n \"$NEW_MASHUP\" | base64 -w0)\nMETA_B64=$(echo -n \"$META\"        | base64 -w0)\nPLAT_B64=$(echo -n \"$PLAT\"        | base64 -w0)\n\n# 3. Build the updateDefinition body in a temp file (full replacement — all 3 parts).\nBODY_FILE=$(mktemp --suffix=.json 2>\u002Fdev\u002Fnull || mktemp)  # GNU + BSD\u002FmacOS compatible\ncat > \"$BODY_FILE\" \u003C\u003CEOF\n{\"definition\":{\"parts\":[\n  {\"path\":\"mashup.pq\",          \"payload\":\"${MASHUP_B64}\", \"payloadType\":\"InlineBase64\"},\n  {\"path\":\"queryMetadata.json\", \"payload\":\"${META_B64}\",   \"payloadType\":\"InlineBase64\"},\n  {\"path\":\".platform\",          \"payload\":\"${PLAT_B64}\",   \"payloadType\":\"InlineBase64\"}\n]}}\nEOF\naz rest --method post --resource \"$RESOURCE\" \\\n  --url \"$RESOURCE\u002Fv1\u002Fworkspaces\u002F${WS_ID}\u002Fdataflows\u002F${DF_ID}\u002FupdateDefinition?updateMetadata=true\" \\\n  --headers \"Content-Type=application\u002Fjson\" --body \"@$BODY_FILE\"\nrm -f \"$BODY_FILE\"\n```\n\n> Binding a new connection? Example 1 (steps 1-5) is the canonical bind+save flow. Bind-only walk-throughs live in [authoring-cli-quickref.md § Connection Binding Quick Patterns](references\u002Fauthoring-cli-quickref.md#connection-binding-quick-patterns) and [authoring-script-templates.md § Connection Binding Templates](references\u002Fauthoring-script-templates.md#connection-binding-templates).\n\n---\n\n## Output Expectations\n\nWhen this skill completes a task, the agent should return:\n\n| Field | Convention |\n|---|---|\n| **Verbosity** | Concise summary (3–10 lines) of what was created\u002Fmodified. |\n| **Default format** | Markdown for status reports; fenced JSON code block for single-resource responses; markdown table for list responses. |\n| **Side-effect disclosure** | Explicitly report IDs created\u002Fmodified\u002Fdeleted and the target workspace ID. Never imply success without an ID. When you saved or replaced a dataflow definition, name the parts you wrote in prose -- `mashup.pq`, `queryMetadata.json`, `.platform` -- since long command bodies are truncated in the transcript and the part names would otherwise be lost. Also name the actual persist path you used: `updateDefinition` when you saved the definition through that endpoint, or the create call `POST \u002Fv1\u002Fworkspaces\u002F{ws}\u002Fdataflows` when the definition was supplied at create time. Do not claim `updateDefinition` if the definition was persisted via the create POST. |\n| **Verification** | Re-`GET` the affected resource (dataflow, connection, job instance) and surface its state (e.g., `provisionState`, `status`, `Completed`) before declaring done. |\n| **Error surfacing** | If any step returned a non-2xx status, an LRO `Failed`\u002F`Cancelled`, or an Arrow-stream `{\"Error\":\"...\"}`, propagate the raw error verbatim and stop. A terminal refresh `Failed`\u002F`Cancelled`, an `isRetriable: false` backend error, or a workspace-wide `UnknownException` is a **fatal-stop** condition — report it and end; do not re-trigger, re-poll, or enter an extended debugging loop. |\n| **Preview rendering (Workflow C)** | After `executeQuery`, render `head(10)` of the result as a markdown table in chat alongside the saved Arrow file — even when the embedded-error check passes. Catches silent-success bugs (filter dropped all rows, wrong column, off-by-one, wrong cast) that the embedded-error detector cannot see. Snippet + suppression rules: [dataflows-consumption-cli § Example 5b](..\u002Fdataflows-consumption-cli\u002FSKILL.md#example-5b-render-query-results-as-a-markdown-table). |\n| **API names** | When the answer references API endpoints or request-body fields, use their exact, case-sensitive names (`executeQuery`, `customMashupDocument`, `QueryName`, `mashup.pq`, `queryMetadata.json`, `GET \u002Fv1\u002Fconnections\u002FsupportedConnectionTypes`) rather than paraphrased or pluralized variants. |\n",{"data":40,"body":41},{"name":4,"description":6},{"type":42,"children":43},"root",[44,107,132,145,152,159,175,354,374,629,648,755,763,810,814,819,1012,1058,1061,1066,1073,1084,1384,1390,1494,1497,1502,1507,1592,1597,1616,1624,2132,2939,2973,2978,2990,3131,4596,4608,4632,4696,4708,4713,4737,4745,5005,5013,5222,5232,5368,5371,5377,5401,5407,6345,6350,6936,6941,7174,7180,7860,7863,7868,7963,7969,7979,8002,11218,11224,11233,11241,12334,12359,12777,12783,12792,12808,14542,14564,14567,14572,14577,14892],{"type":45,"tag":46,"props":47,"children":48},"element","blockquote",{},[49,69],{"type":45,"tag":50,"props":51,"children":52},"p",{},[53,60,62,67],{"type":45,"tag":54,"props":55,"children":56},"strong",{},[57],{"type":58,"value":59},"text","Update Check — ONCE PER SESSION (mandatory)",{"type":58,"value":61},"\nThe first time this skill is used in a session, run the ",{"type":45,"tag":54,"props":63,"children":64},{},[65],{"type":58,"value":66},"check-updates",{"type":58,"value":68}," skill before proceeding.",{"type":45,"tag":70,"props":71,"children":72},"ul",{},[73,92,102],{"type":45,"tag":74,"props":75,"children":76},"li",{},[77,82,84,90],{"type":45,"tag":54,"props":78,"children":79},{},[80],{"type":58,"value":81},"GitHub Copilot CLI \u002F VS Code",{"type":58,"value":83},": invoke the ",{"type":45,"tag":85,"props":86,"children":88},"code",{"className":87},[],[89],{"type":58,"value":66},{"type":58,"value":91}," skill.",{"type":45,"tag":74,"props":93,"children":94},{},[95,100],{"type":45,"tag":54,"props":96,"children":97},{},[98],{"type":58,"value":99},"Claude Code \u002F Cowork \u002F Cursor \u002F Windsurf \u002F Codex",{"type":58,"value":101},": compare local vs remote package.json version.",{"type":45,"tag":74,"props":103,"children":104},{},[105],{"type":58,"value":106},"Skip if the check was already performed earlier in this session.",{"type":45,"tag":46,"props":108,"children":109},{},[110,118],{"type":45,"tag":50,"props":111,"children":112},{},[113],{"type":45,"tag":54,"props":114,"children":115},{},[116],{"type":58,"value":117},"CRITICAL NOTES",{"type":45,"tag":119,"props":120,"children":121},"ol",{},[122,127],{"type":45,"tag":74,"props":123,"children":124},{},[125],{"type":58,"value":126},"To find the workspace details (including its ID) from workspace name: list all workspaces and, then, use JMESPath filtering",{"type":45,"tag":74,"props":128,"children":129},{},[130],{"type":58,"value":131},"To find the item details (including its ID) from workspace ID, item type, and item name: list all items of that type in that workspace and, then, use JMESPath filtering",{"type":45,"tag":46,"props":133,"children":134},{},[135],{"type":45,"tag":50,"props":136,"children":137},{},[138,143],{"type":45,"tag":54,"props":139,"children":140},{},[141],{"type":58,"value":142},"PRE-MUTATION REQUIREMENTS GATE (mandatory)",{"type":58,"value":144},"\nBefore any mutation, confirm enough user intent for the requested operation.\nFor create or update requests, establish the source, query\u002Fschema and\ntransformation, destination behavior, and refresh behavior (including an\nexplicit choice of no destination or no refresh). If the request is generic,\nsuch as \"set up the Dataflow I need for reporting,\" ask a structured\nclarifying question and stop before mutation. Do not infer requirements from\nunrelated workspace items or create a best-guess source, connection, or\nDataflow.",{"type":45,"tag":146,"props":147,"children":149},"h1",{"id":148},"dataflows-authoring-cli-dataflows-gen2-authoring-via-cli",[150],{"type":58,"value":151},"dataflows-authoring-cli — Dataflows Gen2 Authoring via CLI",{"type":45,"tag":153,"props":154,"children":156},"h2",{"id":155},"table-of-contents",[157],{"type":58,"value":158},"Table of Contents",{"type":45,"tag":50,"props":160,"children":161},{},[162],{"type":45,"tag":54,"props":163,"children":164},{},[165,167,173],{"type":58,"value":166},"This skill (",{"type":45,"tag":85,"props":168,"children":170},{"className":169},[],[171],{"type":58,"value":172},"SKILL.md",{"type":58,"value":174},")",{"type":45,"tag":176,"props":177,"children":178},"table",{},[179,198],{"type":45,"tag":180,"props":181,"children":182},"thead",{},[183],{"type":45,"tag":184,"props":185,"children":186},"tr",{},[187,193],{"type":45,"tag":188,"props":189,"children":190},"th",{},[191],{"type":58,"value":192},"Section",{"type":45,"tag":188,"props":194,"children":195},{},[196],{"type":58,"value":197},"Notes",{"type":45,"tag":199,"props":200,"children":201},"tbody",{},[202,247,264,286,303,320,337],{"type":45,"tag":184,"props":203,"children":204},{},[205,216],{"type":45,"tag":206,"props":207,"children":208},"td",{},[209],{"type":45,"tag":210,"props":211,"children":213},"a",{"href":212},"#tool-stack",[214],{"type":58,"value":215},"Tool Stack",{"type":45,"tag":206,"props":217,"children":218},{},[219,225,227,233,234,240,241],{"type":45,"tag":85,"props":220,"children":222},{"className":221},[],[223],{"type":58,"value":224},"az",{"type":58,"value":226}," + ",{"type":45,"tag":85,"props":228,"children":230},{"className":229},[],[231],{"type":58,"value":232},"jq",{"type":58,"value":226},{"type":45,"tag":85,"props":235,"children":237},{"className":236},[],[238],{"type":58,"value":239},"base64",{"type":58,"value":226},{"type":45,"tag":85,"props":242,"children":244},{"className":243},[],[245],{"type":58,"value":246},"curl",{"type":45,"tag":184,"props":248,"children":249},{},[250,259],{"type":45,"tag":206,"props":251,"children":252},{},[253],{"type":45,"tag":210,"props":254,"children":256},{"href":255},"#connection",[257],{"type":58,"value":258},"Connection",{"type":45,"tag":206,"props":260,"children":261},{},[262],{"type":58,"value":263},"Workspace\u002Fdataflow ID discovery",{"type":45,"tag":184,"props":265,"children":266},{},[267,276],{"type":45,"tag":206,"props":268,"children":269},{},[270],{"type":45,"tag":210,"props":271,"children":273},{"href":272},"#agentic-workflows",[274],{"type":58,"value":275},"Agentic Workflows",{"type":45,"tag":206,"props":277,"children":278},{},[279,284],{"type":45,"tag":54,"props":280,"children":281},{},[282],{"type":58,"value":283},"Start here.",{"type":58,"value":285}," A: create end-to-end; B: modify existing; C: preview loop",{"type":45,"tag":184,"props":287,"children":288},{},[289,298],{"type":45,"tag":206,"props":290,"children":291},{},[292],{"type":45,"tag":210,"props":293,"children":295},{"href":294},"#must-do",[296],{"type":58,"value":297},"MUST DO \u002F AVOID \u002F PREFER",{"type":45,"tag":206,"props":299,"children":300},{},[301],{"type":58,"value":302},"Authoring rules",{"type":45,"tag":184,"props":304,"children":305},{},[306,315],{"type":45,"tag":206,"props":307,"children":308},{},[309],{"type":45,"tag":210,"props":310,"children":312},{"href":311},"#troubleshooting",[313],{"type":58,"value":314},"Troubleshooting",{"type":45,"tag":206,"props":316,"children":317},{},[318],{"type":58,"value":319},"Symptom → fix table",{"type":45,"tag":184,"props":321,"children":322},{},[323,332],{"type":45,"tag":206,"props":324,"children":325},{},[326],{"type":45,"tag":210,"props":327,"children":329},{"href":328},"#examples",[330],{"type":58,"value":331},"Examples",{"type":45,"tag":206,"props":333,"children":334},{},[335],{"type":58,"value":336},"Runnable bash + PowerShell recipes",{"type":45,"tag":184,"props":338,"children":339},{},[340,349],{"type":45,"tag":206,"props":341,"children":342},{},[343],{"type":45,"tag":210,"props":344,"children":346},{"href":345},"#output-expectations",[347],{"type":58,"value":348},"Output Expectations",{"type":45,"tag":206,"props":350,"children":351},{},[352],{"type":58,"value":353},"Response conventions",{"type":45,"tag":50,"props":355,"children":356},{},[357,362,364,373],{"type":45,"tag":54,"props":358,"children":359},{},[360],{"type":58,"value":361},"References",{"type":58,"value":363}," (in ",{"type":45,"tag":210,"props":365,"children":367},{"href":366},"references\u002F",[368],{"type":45,"tag":85,"props":369,"children":371},{"className":370},[],[372],{"type":58,"value":366},{"type":58,"value":174},{"type":45,"tag":176,"props":375,"children":376},{},[377,393],{"type":45,"tag":180,"props":378,"children":379},{},[380],{"type":45,"tag":184,"props":381,"children":382},{},[383,388],{"type":45,"tag":188,"props":384,"children":385},{},[386],{"type":58,"value":387},"File",{"type":45,"tag":188,"props":389,"children":390},{},[391],{"type":58,"value":392},"When to read",{"type":45,"tag":199,"props":394,"children":395},{},[396,413,430,463,518,573,596],{"type":45,"tag":184,"props":397,"children":398},{},[399,408],{"type":45,"tag":206,"props":400,"children":401},{},[402],{"type":45,"tag":210,"props":403,"children":405},{"href":404},"references\u002Fauthoring-cli-quickref.md",[406],{"type":58,"value":407},"authoring-cli-quickref.md",{"type":45,"tag":206,"props":409,"children":410},{},[411],{"type":58,"value":412},"One-liner recipes, status enums, base64 helpers, connection-binding quick patterns",{"type":45,"tag":184,"props":414,"children":415},{},[416,425],{"type":45,"tag":206,"props":417,"children":418},{},[419],{"type":45,"tag":210,"props":420,"children":422},{"href":421},"references\u002Fauthoring-script-templates.md",[423],{"type":58,"value":424},"authoring-script-templates.md",{"type":45,"tag":206,"props":426,"children":427},{},[428],{"type":58,"value":429},"Full bash + PowerShell templates; end-to-end smoke test; LRO polling pattern",{"type":45,"tag":184,"props":431,"children":432},{},[433,442],{"type":45,"tag":206,"props":434,"children":435},{},[436],{"type":45,"tag":210,"props":437,"children":439},{"href":438},"references\u002Fconnection-management.md",[440],{"type":58,"value":441},"connection-management.md",{"type":45,"tag":206,"props":443,"children":444},{},[445,447,453,455,461],{"type":58,"value":446},"List\u002Fcreate\u002Finspect connections; ",{"type":45,"tag":85,"props":448,"children":450},{"className":449},[],[451],{"type":58,"value":452},"supportedConnectionTypes",{"type":58,"value":454},"; resolve ",{"type":45,"tag":85,"props":456,"children":458},{"className":457},[],[459],{"type":58,"value":460},"ClusterId",{"type":58,"value":462},"; ID format cheat sheet",{"type":45,"tag":184,"props":464,"children":465},{},[466,475],{"type":45,"tag":206,"props":467,"children":468},{},[469],{"type":45,"tag":210,"props":470,"children":472},{"href":471},"references\u002Fconnectors.md",[473],{"type":58,"value":474},"connectors.md",{"type":45,"tag":206,"props":476,"children":477},{},[478,480,486,488,494,496,502,503,509,510,516],{"type":58,"value":479},"M-side source connectors: live-verified function inventory, Lakehouse deep navigation, gateway scope for ",{"type":45,"tag":85,"props":481,"children":483},{"className":482},[],[484],{"type":58,"value":485},"Web.Page",{"type":58,"value":487}," \u002F ",{"type":45,"tag":85,"props":489,"children":491},{"className":490},[],[492],{"type":58,"value":493},"Web.BrowserContents",{"type":58,"value":495},", and ",{"type":45,"tag":85,"props":497,"children":499},{"className":498},[],[500],{"type":58,"value":501},"Html.Table",{"type":58,"value":487},{"type":45,"tag":85,"props":504,"children":506},{"className":505},[],[507],{"type":58,"value":508},"Csv.Document",{"type":58,"value":487},{"type":45,"tag":85,"props":511,"children":513},{"className":512},[],[514],{"type":58,"value":515},"Json.Document",{"type":58,"value":517}," patterns",{"type":45,"tag":184,"props":519,"children":520},{},[521,530],{"type":45,"tag":206,"props":522,"children":523},{},[524],{"type":45,"tag":210,"props":525,"children":527},{"href":526},"references\u002Fm-language.md",[528],{"type":58,"value":529},"m-language.md",{"type":45,"tag":206,"props":531,"children":532},{},[533,535,541,543,549,551,557,558,564,566,572],{"type":58,"value":534},"M language semantics for Dataflow Gen2: ",{"type":45,"tag":85,"props":536,"children":538},{"className":537},[],[539],{"type":58,"value":540},"try",{"type":58,"value":542}," record shapes, per-cell error wrapping in column transforms, ",{"type":45,"tag":85,"props":544,"children":546},{"className":545},[],[547],{"type":58,"value":548},"each",{"type":58,"value":550}," scoping in row vs sub-table contexts, optional field access ",{"type":45,"tag":85,"props":552,"children":554},{"className":553},[],[555],{"type":58,"value":556},"[?]",{"type":58,"value":487},{"type":45,"tag":85,"props":559,"children":561},{"className":560},[],[562],{"type":58,"value":563},"Record.FieldOrDefault",{"type":58,"value":565},", quoted identifiers, sandbox-disabled symbols (",{"type":45,"tag":85,"props":567,"children":569},{"className":568},[],[570],{"type":58,"value":571},"File.Contents",{"type":58,"value":174},{"type":45,"tag":184,"props":574,"children":575},{},[576,585],{"type":45,"tag":206,"props":577,"children":578},{},[579],{"type":45,"tag":210,"props":580,"children":582},{"href":581},"references\u002Fmashup-preview.md",[583],{"type":58,"value":584},"mashup-preview.md",{"type":45,"tag":206,"props":586,"children":587},{},[588,594],{"type":45,"tag":85,"props":589,"children":591},{"className":590},[],[592],{"type":58,"value":593},"executeQuery",{"type":58,"value":595}," contract: bootstrap branch, auto-wrap rule, hard avoid for unbounded preview",{"type":45,"tag":184,"props":597,"children":598},{},[599,608],{"type":45,"tag":206,"props":600,"children":601},{},[602],{"type":45,"tag":210,"props":603,"children":605},{"href":604},"references\u002Foutput-destinations.md",[606],{"type":58,"value":607},"output-destinations.md",{"type":45,"tag":206,"props":609,"children":610},{},[611,613,619,621,627],{"type":58,"value":612},"Output destination patterns: Lakehouse Table, Lakehouse Files, Warehouse, ADX, Azure SQL. ",{"type":45,"tag":85,"props":614,"children":616},{"className":615},[],[617],{"type":58,"value":618},"DataDestinations",{"type":58,"value":620}," annotation, hidden query, ",{"type":45,"tag":85,"props":622,"children":624},{"className":623},[],[625],{"type":58,"value":626},"loadEnabled",{"type":58,"value":628}," rules, connection limitations",{"type":45,"tag":50,"props":630,"children":631},{},[632,637,638,647],{"type":45,"tag":54,"props":633,"children":634},{},[635],{"type":58,"value":636},"Common refs",{"type":58,"value":363},{"type":45,"tag":210,"props":639,"children":641},{"href":640},"..\u002F..\u002Fcommon\u002F",[642],{"type":45,"tag":85,"props":643,"children":645},{"className":644},[],[646],{"type":58,"value":640},{"type":58,"value":174},{"type":45,"tag":176,"props":649,"children":650},{},[651,665],{"type":45,"tag":180,"props":652,"children":653},{},[654],{"type":45,"tag":184,"props":655,"children":656},{},[657,661],{"type":45,"tag":188,"props":658,"children":659},{},[660],{"type":58,"value":387},{"type":45,"tag":188,"props":662,"children":663},{},[664],{"type":58,"value":392},{"type":45,"tag":199,"props":666,"children":667},{},[668,704,721,738],{"type":45,"tag":184,"props":669,"children":670},{},[671,680],{"type":45,"tag":206,"props":672,"children":673},{},[674],{"type":45,"tag":210,"props":675,"children":677},{"href":676},"..\u002F..\u002Fcommon\u002FCOMMON-CLI.md",[678],{"type":58,"value":679},"COMMON-CLI.md",{"type":45,"tag":206,"props":681,"children":682},{},[683,689,691,697,699],{"type":45,"tag":85,"props":684,"children":686},{"className":685},[],[687],{"type":58,"value":688},"az login",{"type":58,"value":690},", token acquisition, ",{"type":45,"tag":85,"props":692,"children":694},{"className":693},[],[695],{"type":58,"value":696},"az rest",{"type":58,"value":698},", pagination, LRO polling, CLI gotchas. ",{"type":45,"tag":54,"props":700,"children":701},{},[702],{"type":58,"value":703},"§ Finding Workspaces and Items in Fabric is mandatory.",{"type":45,"tag":184,"props":705,"children":706},{},[707,716],{"type":45,"tag":206,"props":708,"children":709},{},[710],{"type":45,"tag":210,"props":711,"children":713},{"href":712},"..\u002F..\u002Fcommon\u002FCOMMON-CORE.md",[714],{"type":58,"value":715},"COMMON-CORE.md",{"type":45,"tag":206,"props":717,"children":718},{},[719],{"type":58,"value":720},"Fabric topology, environment URLs, authentication, core REST API surface",{"type":45,"tag":184,"props":722,"children":723},{},[724,733],{"type":45,"tag":206,"props":725,"children":726},{},[727],{"type":45,"tag":210,"props":728,"children":730},{"href":729},"..\u002F..\u002Fcommon\u002FITEM-DEFINITIONS-CORE.md",[731],{"type":58,"value":732},"ITEM-DEFINITIONS-CORE.md",{"type":45,"tag":206,"props":734,"children":735},{},[736],{"type":58,"value":737},"Definition envelope; per-item-type payload contracts",{"type":45,"tag":184,"props":739,"children":740},{},[741,750],{"type":45,"tag":206,"props":742,"children":743},{},[744],{"type":45,"tag":210,"props":745,"children":747},{"href":746},"..\u002F..\u002Fcommon\u002FDATAFLOWS-AUTHORING-CORE.md",[748],{"type":58,"value":749},"DATAFLOWS-AUTHORING-CORE.md",{"type":45,"tag":206,"props":751,"children":752},{},[753],{"type":58,"value":754},"Authoring capability matrix; 3-part definition structure; M structure; connection model; ALM \u002F Git integration",{"type":45,"tag":50,"props":756,"children":757},{},[758],{"type":45,"tag":54,"props":759,"children":760},{},[761],{"type":58,"value":762},"Sister skills",{"type":45,"tag":176,"props":764,"children":765},{},[766,782],{"type":45,"tag":180,"props":767,"children":768},{},[769],{"type":45,"tag":184,"props":770,"children":771},{},[772,777],{"type":45,"tag":188,"props":773,"children":774},{},[775],{"type":58,"value":776},"Skill",{"type":45,"tag":188,"props":778,"children":779},{},[780],{"type":58,"value":781},"Use for",{"type":45,"tag":199,"props":783,"children":784},{},[785],{"type":45,"tag":184,"props":786,"children":787},{},[788,797],{"type":45,"tag":206,"props":789,"children":790},{},[791],{"type":45,"tag":210,"props":792,"children":794},{"href":793},"..\u002Fdataflows-consumption-cli\u002FSKILL.md",[795],{"type":58,"value":796},"dataflows-consumption-cli",{"type":45,"tag":206,"props":798,"children":799},{},[800,802,808],{"type":58,"value":801},"Execute persisted queries; ad-hoc read-only ",{"type":45,"tag":85,"props":803,"children":805},{"className":804},[],[806],{"type":58,"value":807},"customMashupDocument",{"type":58,"value":809}," with no intent to persist; Arrow → CSV\u002Fpandas conversion; refresh status\u002Fhistory.",{"type":45,"tag":811,"props":812,"children":813},"hr",{},[],{"type":45,"tag":153,"props":815,"children":817},{"id":816},"tool-stack",[818],{"type":58,"value":215},{"type":45,"tag":176,"props":820,"children":821},{},[822,843],{"type":45,"tag":180,"props":823,"children":824},{},[825],{"type":45,"tag":184,"props":826,"children":827},{},[828,833,838],{"type":45,"tag":188,"props":829,"children":830},{},[831],{"type":58,"value":832},"Tool",{"type":45,"tag":188,"props":834,"children":835},{},[836],{"type":58,"value":837},"Role",{"type":45,"tag":188,"props":839,"children":840},{},[841],{"type":58,"value":842},"Install",{"type":45,"tag":199,"props":844,"children":845},{},[846,888,909,938,966],{"type":45,"tag":184,"props":847,"children":848},{},[849,859,883],{"type":45,"tag":206,"props":850,"children":851},{},[852,857],{"type":45,"tag":85,"props":853,"children":855},{"className":854},[],[856],{"type":58,"value":224},{"type":58,"value":858}," CLI",{"type":45,"tag":206,"props":860,"children":861},{},[862,867,869,874,876,881],{"type":45,"tag":54,"props":863,"children":864},{},[865],{"type":58,"value":866},"Primary",{"type":58,"value":868},": Auth (",{"type":45,"tag":85,"props":870,"children":872},{"className":871},[],[873],{"type":58,"value":688},{"type":58,"value":875},"), REST API calls (",{"type":45,"tag":85,"props":877,"children":879},{"className":878},[],[880],{"type":58,"value":696},{"type":58,"value":882},"), token acquisition.",{"type":45,"tag":206,"props":884,"children":885},{},[886],{"type":58,"value":887},"Pre-installed in most dev environments",{"type":45,"tag":184,"props":889,"children":890},{},[891,899,904],{"type":45,"tag":206,"props":892,"children":893},{},[894],{"type":45,"tag":85,"props":895,"children":897},{"className":896},[],[898],{"type":58,"value":232},{"type":45,"tag":206,"props":900,"children":901},{},[902],{"type":58,"value":903},"Parse and manipulate JSON responses and definition payloads.",{"type":45,"tag":206,"props":905,"children":906},{},[907],{"type":58,"value":908},"Pre-installed or trivial",{"type":45,"tag":184,"props":910,"children":911},{},[912,920,925],{"type":45,"tag":206,"props":913,"children":914},{},[915],{"type":45,"tag":85,"props":916,"children":918},{"className":917},[],[919],{"type":58,"value":239},{"type":45,"tag":206,"props":921,"children":922},{},[923],{"type":58,"value":924},"Encode\u002Fdecode definition parts for the REST API.",{"type":45,"tag":206,"props":926,"children":927},{},[928,930,936],{"type":58,"value":929},"Built into bash \u002F ",{"type":45,"tag":85,"props":931,"children":933},{"className":932},[],[934],{"type":58,"value":935},"[Convert]::ToBase64String()",{"type":58,"value":937}," in PowerShell",{"type":45,"tag":184,"props":939,"children":940},{},[941,949,961],{"type":45,"tag":206,"props":942,"children":943},{},[944],{"type":45,"tag":85,"props":945,"children":947},{"className":946},[],[948],{"type":58,"value":246},{"type":45,"tag":206,"props":950,"children":951},{},[952,954,959],{"type":58,"value":953},"Alternative to ",{"type":45,"tag":85,"props":955,"children":957},{"className":956},[],[958],{"type":58,"value":696},{"type":58,"value":960}," when raw HTTP control is needed.",{"type":45,"tag":206,"props":962,"children":963},{},[964],{"type":58,"value":965},"Pre-installed",{"type":45,"tag":184,"props":967,"children":968},{},[969,978,999],{"type":45,"tag":206,"props":970,"children":971},{},[972],{"type":45,"tag":85,"props":973,"children":975},{"className":974},[],[976],{"type":58,"value":977},"uuidgen",{"type":45,"tag":206,"props":979,"children":980},{},[981,983,989,991,997],{"type":58,"value":982},"Generate per-query \u002F per-platform GUIDs for ",{"type":45,"tag":85,"props":984,"children":986},{"className":985},[],[987],{"type":58,"value":988},"queryId",{"type":58,"value":990}," and ",{"type":45,"tag":85,"props":992,"children":994},{"className":993},[],[995],{"type":58,"value":996},"logicalId",{"type":58,"value":998}," when building a new dataflow definition (Workflow A).",{"type":45,"tag":206,"props":1000,"children":1001},{},[1002,1004,1010],{"type":58,"value":1003},"Pre-installed on Linux\u002FmacOS; on Windows use PowerShell ",{"type":45,"tag":85,"props":1005,"children":1007},{"className":1006},[],[1008],{"type":58,"value":1009},"[guid]::NewGuid().Guid",{"type":58,"value":1011}," or run via WSL",{"type":45,"tag":46,"props":1013,"children":1014},{},[1015],{"type":45,"tag":50,"props":1016,"children":1017},{},[1018,1023,1025,1030,1032,1037,1038,1043,1045,1050,1052,1056],{"type":45,"tag":54,"props":1019,"children":1020},{},[1021],{"type":58,"value":1022},"Agent check",{"type":58,"value":1024}," — verify ",{"type":45,"tag":85,"props":1026,"children":1028},{"className":1027},[],[1029],{"type":58,"value":224},{"type":58,"value":1031},", ",{"type":45,"tag":85,"props":1033,"children":1035},{"className":1034},[],[1036],{"type":58,"value":232},{"type":58,"value":495},{"type":45,"tag":85,"props":1039,"children":1041},{"className":1040},[],[1042],{"type":58,"value":246},{"type":58,"value":1044}," are available before first operation. ",{"type":45,"tag":85,"props":1046,"children":1048},{"className":1047},[],[1049],{"type":58,"value":977},{"type":58,"value":1051}," is only needed for Workflow A (Create).\nFor installation and auth setup see ",{"type":45,"tag":210,"props":1053,"children":1054},{"href":676},[1055],{"type":58,"value":679},{"type":58,"value":1057},".",{"type":45,"tag":811,"props":1059,"children":1060},{},[],{"type":45,"tag":153,"props":1062,"children":1064},{"id":1063},"connection",[1065],{"type":58,"value":258},{"type":45,"tag":1067,"props":1068,"children":1070},"h3",{"id":1069},"discover-workspace-and-dataflow-ids",[1071],{"type":58,"value":1072},"Discover Workspace and Dataflow IDs",{"type":45,"tag":50,"props":1074,"children":1075},{},[1076,1078,1082],{"type":58,"value":1077},"Per ",{"type":45,"tag":210,"props":1079,"children":1080},{"href":676},[1081],{"type":58,"value":679},{"type":58,"value":1083}," Finding Workspaces and Items in Fabric:",{"type":45,"tag":1085,"props":1086,"children":1091},"pre",{"className":1087,"code":1088,"language":1089,"meta":1090,"style":1090},"language-bash shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# List workspaces — find workspace ID by name\naz rest --method get \\\n  --resource \"https:\u002F\u002Fapi.fabric.microsoft.com\" \\\n  --url \"https:\u002F\u002Fapi.fabric.microsoft.com\u002Fv1\u002Fworkspaces\" \\\n  --query \"value[?displayName=='MyWorkspace'].id\" --output tsv\n\n# List dataflows in workspace — find dataflow ID by name\nWS_ID=\"\u003CworkspaceId>\"\naz rest --method get \\\n  --resource \"https:\u002F\u002Fapi.fabric.microsoft.com\" \\\n  --url \"https:\u002F\u002Fapi.fabric.microsoft.com\u002Fv1\u002Fworkspaces\u002F$WS_ID\u002Fdataflows\" \\\n  --query \"value[?displayName=='MyDataflow'].id\" --output tsv\n","bash","",[1092],{"type":45,"tag":85,"props":1093,"children":1094},{"__ignoreMap":1090},[1095,1107,1138,1167,1193,1225,1235,1244,1272,1296,1320,1355],{"type":45,"tag":1096,"props":1097,"children":1100},"span",{"class":1098,"line":1099},"line",1,[1101],{"type":45,"tag":1096,"props":1102,"children":1104},{"style":1103},"--shiki-light:#90A4AE;--shiki-light-font-style:italic;--shiki-default:#546E7A;--shiki-default-font-style:italic;--shiki-dark:#676E95;--shiki-dark-font-style:italic",[1105],{"type":58,"value":1106},"# List workspaces — find workspace ID by name\n",{"type":45,"tag":1096,"props":1108,"children":1110},{"class":1098,"line":1109},2,[1111,1116,1122,1127,1132],{"type":45,"tag":1096,"props":1112,"children":1114},{"style":1113},"--shiki-light:#E2931D;--shiki-default:#FFCB6B;--shiki-dark:#FFCB6B",[1115],{"type":58,"value":224},{"type":45,"tag":1096,"props":1117,"children":1119},{"style":1118},"--shiki-light:#91B859;--shiki-default:#C3E88D;--shiki-dark:#C3E88D",[1120],{"type":58,"value":1121}," rest",{"type":45,"tag":1096,"props":1123,"children":1124},{"style":1118},[1125],{"type":58,"value":1126}," --method",{"type":45,"tag":1096,"props":1128,"children":1129},{"style":1118},[1130],{"type":58,"value":1131}," get",{"type":45,"tag":1096,"props":1133,"children":1135},{"style":1134},"--shiki-light:#90A4AE;--shiki-default:#EEFFFF;--shiki-dark:#BABED8",[1136],{"type":58,"value":1137}," \\\n",{"type":45,"tag":1096,"props":1139,"children":1141},{"class":1098,"line":1140},3,[1142,1147,1153,1158,1163],{"type":45,"tag":1096,"props":1143,"children":1144},{"style":1118},[1145],{"type":58,"value":1146},"  --resource",{"type":45,"tag":1096,"props":1148,"children":1150},{"style":1149},"--shiki-light:#39ADB5;--shiki-default:#89DDFF;--shiki-dark:#89DDFF",[1151],{"type":58,"value":1152}," \"",{"type":45,"tag":1096,"props":1154,"children":1155},{"style":1118},[1156],{"type":58,"value":1157},"https:\u002F\u002Fapi.fabric.microsoft.com",{"type":45,"tag":1096,"props":1159,"children":1160},{"style":1149},[1161],{"type":58,"value":1162},"\"",{"type":45,"tag":1096,"props":1164,"children":1165},{"style":1134},[1166],{"type":58,"value":1137},{"type":45,"tag":1096,"props":1168,"children":1170},{"class":1098,"line":1169},4,[1171,1176,1180,1185,1189],{"type":45,"tag":1096,"props":1172,"children":1173},{"style":1118},[1174],{"type":58,"value":1175},"  --url",{"type":45,"tag":1096,"props":1177,"children":1178},{"style":1149},[1179],{"type":58,"value":1152},{"type":45,"tag":1096,"props":1181,"children":1182},{"style":1118},[1183],{"type":58,"value":1184},"https:\u002F\u002Fapi.fabric.microsoft.com\u002Fv1\u002Fworkspaces",{"type":45,"tag":1096,"props":1186,"children":1187},{"style":1149},[1188],{"type":58,"value":1162},{"type":45,"tag":1096,"props":1190,"children":1191},{"style":1134},[1192],{"type":58,"value":1137},{"type":45,"tag":1096,"props":1194,"children":1196},{"class":1098,"line":1195},5,[1197,1202,1206,1211,1215,1220],{"type":45,"tag":1096,"props":1198,"children":1199},{"style":1118},[1200],{"type":58,"value":1201},"  --query",{"type":45,"tag":1096,"props":1203,"children":1204},{"style":1149},[1205],{"type":58,"value":1152},{"type":45,"tag":1096,"props":1207,"children":1208},{"style":1118},[1209],{"type":58,"value":1210},"value[?displayName=='MyWorkspace'].id",{"type":45,"tag":1096,"props":1212,"children":1213},{"style":1149},[1214],{"type":58,"value":1162},{"type":45,"tag":1096,"props":1216,"children":1217},{"style":1118},[1218],{"type":58,"value":1219}," --output",{"type":45,"tag":1096,"props":1221,"children":1222},{"style":1118},[1223],{"type":58,"value":1224}," tsv\n",{"type":45,"tag":1096,"props":1226,"children":1228},{"class":1098,"line":1227},6,[1229],{"type":45,"tag":1096,"props":1230,"children":1232},{"emptyLinePlaceholder":1231},true,[1233],{"type":58,"value":1234},"\n",{"type":45,"tag":1096,"props":1236,"children":1238},{"class":1098,"line":1237},7,[1239],{"type":45,"tag":1096,"props":1240,"children":1241},{"style":1103},[1242],{"type":58,"value":1243},"# List dataflows in workspace — find dataflow ID by name\n",{"type":45,"tag":1096,"props":1245,"children":1247},{"class":1098,"line":1246},8,[1248,1253,1258,1262,1267],{"type":45,"tag":1096,"props":1249,"children":1250},{"style":1134},[1251],{"type":58,"value":1252},"WS_ID",{"type":45,"tag":1096,"props":1254,"children":1255},{"style":1149},[1256],{"type":58,"value":1257},"=",{"type":45,"tag":1096,"props":1259,"children":1260},{"style":1149},[1261],{"type":58,"value":1162},{"type":45,"tag":1096,"props":1263,"children":1264},{"style":1118},[1265],{"type":58,"value":1266},"\u003CworkspaceId>",{"type":45,"tag":1096,"props":1268,"children":1269},{"style":1149},[1270],{"type":58,"value":1271},"\"\n",{"type":45,"tag":1096,"props":1273,"children":1275},{"class":1098,"line":1274},9,[1276,1280,1284,1288,1292],{"type":45,"tag":1096,"props":1277,"children":1278},{"style":1113},[1279],{"type":58,"value":224},{"type":45,"tag":1096,"props":1281,"children":1282},{"style":1118},[1283],{"type":58,"value":1121},{"type":45,"tag":1096,"props":1285,"children":1286},{"style":1118},[1287],{"type":58,"value":1126},{"type":45,"tag":1096,"props":1289,"children":1290},{"style":1118},[1291],{"type":58,"value":1131},{"type":45,"tag":1096,"props":1293,"children":1294},{"style":1134},[1295],{"type":58,"value":1137},{"type":45,"tag":1096,"props":1297,"children":1299},{"class":1098,"line":1298},10,[1300,1304,1308,1312,1316],{"type":45,"tag":1096,"props":1301,"children":1302},{"style":1118},[1303],{"type":58,"value":1146},{"type":45,"tag":1096,"props":1305,"children":1306},{"style":1149},[1307],{"type":58,"value":1152},{"type":45,"tag":1096,"props":1309,"children":1310},{"style":1118},[1311],{"type":58,"value":1157},{"type":45,"tag":1096,"props":1313,"children":1314},{"style":1149},[1315],{"type":58,"value":1162},{"type":45,"tag":1096,"props":1317,"children":1318},{"style":1134},[1319],{"type":58,"value":1137},{"type":45,"tag":1096,"props":1321,"children":1323},{"class":1098,"line":1322},11,[1324,1328,1332,1337,1342,1347,1351],{"type":45,"tag":1096,"props":1325,"children":1326},{"style":1118},[1327],{"type":58,"value":1175},{"type":45,"tag":1096,"props":1329,"children":1330},{"style":1149},[1331],{"type":58,"value":1152},{"type":45,"tag":1096,"props":1333,"children":1334},{"style":1118},[1335],{"type":58,"value":1336},"https:\u002F\u002Fapi.fabric.microsoft.com\u002Fv1\u002Fworkspaces\u002F",{"type":45,"tag":1096,"props":1338,"children":1339},{"style":1134},[1340],{"type":58,"value":1341},"$WS_ID",{"type":45,"tag":1096,"props":1343,"children":1344},{"style":1118},[1345],{"type":58,"value":1346},"\u002Fdataflows",{"type":45,"tag":1096,"props":1348,"children":1349},{"style":1149},[1350],{"type":58,"value":1162},{"type":45,"tag":1096,"props":1352,"children":1353},{"style":1134},[1354],{"type":58,"value":1137},{"type":45,"tag":1096,"props":1356,"children":1358},{"class":1098,"line":1357},12,[1359,1363,1367,1372,1376,1380],{"type":45,"tag":1096,"props":1360,"children":1361},{"style":1118},[1362],{"type":58,"value":1201},{"type":45,"tag":1096,"props":1364,"children":1365},{"style":1149},[1366],{"type":58,"value":1152},{"type":45,"tag":1096,"props":1368,"children":1369},{"style":1118},[1370],{"type":58,"value":1371},"value[?displayName=='MyDataflow'].id",{"type":45,"tag":1096,"props":1373,"children":1374},{"style":1149},[1375],{"type":58,"value":1162},{"type":45,"tag":1096,"props":1377,"children":1378},{"style":1118},[1379],{"type":58,"value":1219},{"type":45,"tag":1096,"props":1381,"children":1382},{"style":1118},[1383],{"type":58,"value":1224},{"type":45,"tag":1067,"props":1385,"children":1387},{"id":1386},"reusable-connection-variables",[1388],{"type":58,"value":1389},"Reusable Connection Variables",{"type":45,"tag":1085,"props":1391,"children":1393},{"className":1087,"code":1392,"language":1089,"meta":1090,"style":1090},"WS_ID=\"\u003CworkspaceId>\"\nDF_ID=\"\u003CdataflowId>\"\nAPI=\"https:\u002F\u002Fapi.fabric.microsoft.com\u002Fv1\"\nRESOURCE=\"https:\u002F\u002Fapi.fabric.microsoft.com\"\n",[1394],{"type":45,"tag":85,"props":1395,"children":1396},{"__ignoreMap":1090},[1397,1420,1445,1470],{"type":45,"tag":1096,"props":1398,"children":1399},{"class":1098,"line":1099},[1400,1404,1408,1412,1416],{"type":45,"tag":1096,"props":1401,"children":1402},{"style":1134},[1403],{"type":58,"value":1252},{"type":45,"tag":1096,"props":1405,"children":1406},{"style":1149},[1407],{"type":58,"value":1257},{"type":45,"tag":1096,"props":1409,"children":1410},{"style":1149},[1411],{"type":58,"value":1162},{"type":45,"tag":1096,"props":1413,"children":1414},{"style":1118},[1415],{"type":58,"value":1266},{"type":45,"tag":1096,"props":1417,"children":1418},{"style":1149},[1419],{"type":58,"value":1271},{"type":45,"tag":1096,"props":1421,"children":1422},{"class":1098,"line":1109},[1423,1428,1432,1436,1441],{"type":45,"tag":1096,"props":1424,"children":1425},{"style":1134},[1426],{"type":58,"value":1427},"DF_ID",{"type":45,"tag":1096,"props":1429,"children":1430},{"style":1149},[1431],{"type":58,"value":1257},{"type":45,"tag":1096,"props":1433,"children":1434},{"style":1149},[1435],{"type":58,"value":1162},{"type":45,"tag":1096,"props":1437,"children":1438},{"style":1118},[1439],{"type":58,"value":1440},"\u003CdataflowId>",{"type":45,"tag":1096,"props":1442,"children":1443},{"style":1149},[1444],{"type":58,"value":1271},{"type":45,"tag":1096,"props":1446,"children":1447},{"class":1098,"line":1140},[1448,1453,1457,1461,1466],{"type":45,"tag":1096,"props":1449,"children":1450},{"style":1134},[1451],{"type":58,"value":1452},"API",{"type":45,"tag":1096,"props":1454,"children":1455},{"style":1149},[1456],{"type":58,"value":1257},{"type":45,"tag":1096,"props":1458,"children":1459},{"style":1149},[1460],{"type":58,"value":1162},{"type":45,"tag":1096,"props":1462,"children":1463},{"style":1118},[1464],{"type":58,"value":1465},"https:\u002F\u002Fapi.fabric.microsoft.com\u002Fv1",{"type":45,"tag":1096,"props":1467,"children":1468},{"style":1149},[1469],{"type":58,"value":1271},{"type":45,"tag":1096,"props":1471,"children":1472},{"class":1098,"line":1169},[1473,1478,1482,1486,1490],{"type":45,"tag":1096,"props":1474,"children":1475},{"style":1134},[1476],{"type":58,"value":1477},"RESOURCE",{"type":45,"tag":1096,"props":1479,"children":1480},{"style":1149},[1481],{"type":58,"value":1257},{"type":45,"tag":1096,"props":1483,"children":1484},{"style":1149},[1485],{"type":58,"value":1162},{"type":45,"tag":1096,"props":1487,"children":1488},{"style":1118},[1489],{"type":58,"value":1157},{"type":45,"tag":1096,"props":1491,"children":1492},{"style":1149},[1493],{"type":58,"value":1271},{"type":45,"tag":811,"props":1495,"children":1496},{},[],{"type":45,"tag":153,"props":1498,"children":1500},{"id":1499},"agentic-workflows",[1501],{"type":58,"value":275},{"type":45,"tag":50,"props":1503,"children":1504},{},[1505],{"type":58,"value":1506},"Three workflows cover the typical authoring tasks:",{"type":45,"tag":70,"props":1508,"children":1509},{},[1510,1524,1538,1566],{"type":45,"tag":74,"props":1511,"children":1512},{},[1513,1522],{"type":45,"tag":54,"props":1514,"children":1515},{},[1516],{"type":45,"tag":210,"props":1517,"children":1519},{"href":1518},"#a-create-a-new-dataflow-end-to-end",[1520],{"type":58,"value":1521},"A. Create a New Dataflow End-to-End",{"type":58,"value":1523}," — discover\u002Fcreate a connection, create the dataflow, save M + bindings, validate, optionally refresh.",{"type":45,"tag":74,"props":1525,"children":1526},{},[1527,1536],{"type":45,"tag":54,"props":1528,"children":1529},{},[1530],{"type":45,"tag":210,"props":1531,"children":1533},{"href":1532},"#b-modify-an-existing-dataflow",[1534],{"type":58,"value":1535},"B. Modify an Existing Dataflow",{"type":58,"value":1537}," — read-modify-write the definition; the canonical Discover → Formulate → Execute → Verify loop.",{"type":45,"tag":74,"props":1539,"children":1540},{},[1541,1550,1552,1557,1559,1565],{"type":45,"tag":54,"props":1542,"children":1543},{},[1544],{"type":45,"tag":210,"props":1545,"children":1547},{"href":1546},"#c-preview-driven-authoring-loop",[1548],{"type":58,"value":1549},"C. Preview-Driven Authoring Loop",{"type":58,"value":1551}," — iterate on candidate M via ",{"type":45,"tag":85,"props":1553,"children":1555},{"className":1554},[],[1556],{"type":58,"value":593},{"type":58,"value":1558}," before persisting via ",{"type":45,"tag":85,"props":1560,"children":1562},{"className":1561},[],[1563],{"type":58,"value":1564},"updateDefinition",{"type":58,"value":1057},{"type":45,"tag":74,"props":1567,"children":1568},{},[1569,1578,1580,1585,1587,1591],{"type":45,"tag":54,"props":1570,"children":1571},{},[1572],{"type":45,"tag":210,"props":1573,"children":1575},{"href":1574},"#d-output-destination",[1576],{"type":58,"value":1577},"D. Output Destination",{"type":58,"value":1579}," — write query results to Lakehouse (table\u002Ffiles), Warehouse, ADX, or Azure SQL via ",{"type":45,"tag":85,"props":1581,"children":1583},{"className":1582},[],[1584],{"type":58,"value":618},{"type":58,"value":1586}," annotation. Full reference: ",{"type":45,"tag":210,"props":1588,"children":1589},{"href":604},[1590],{"type":58,"value":607},{"type":58,"value":1057},{"type":45,"tag":1067,"props":1593,"children":1595},{"id":1594},"a-create-a-new-dataflow-end-to-end",[1596],{"type":58,"value":1521},{"type":45,"tag":50,"props":1598,"children":1599},{},[1600,1602,1607,1609,1614],{"type":58,"value":1601},"Use this when ",{"type":45,"tag":54,"props":1603,"children":1604},{},[1605],{"type":58,"value":1606},"the dataflow does not yet exist",{"type":58,"value":1608},". Covers the full happy path: discover-or-create a connection, create the dataflow shell, save M + bindings in one ",{"type":45,"tag":85,"props":1610,"children":1612},{"className":1611},[],[1613],{"type":58,"value":1564},{"type":58,"value":1615},", validate, optionally refresh.",{"type":45,"tag":50,"props":1617,"children":1618},{},[1619],{"type":45,"tag":54,"props":1620,"children":1621},{},[1622],{"type":58,"value":1623},"Steps:",{"type":45,"tag":119,"props":1625,"children":1626},{},[1627,1653,1684,1740,1793,1881,1972,2062],{"type":45,"tag":74,"props":1628,"children":1629},{},[1630,1635,1637,1643,1645,1651],{"type":45,"tag":54,"props":1631,"children":1632},{},[1633],{"type":58,"value":1634},"List existing connections",{"type":58,"value":1636}," and filter by ",{"type":45,"tag":85,"props":1638,"children":1640},{"className":1639},[],[1641],{"type":58,"value":1642},"connectionDetails.type",{"type":58,"value":1644}," and the target URL\u002Fhost — reuse if a match exists (",{"type":45,"tag":85,"props":1646,"children":1648},{"className":1647},[],[1649],{"type":58,"value":1650},"GET \u002Fv1\u002Fconnections",{"type":58,"value":1652}," + JMESPath).",{"type":45,"tag":74,"props":1654,"children":1655},{},[1656,1661,1663,1669,1671,1677,1679,1683],{"type":45,"tag":54,"props":1657,"children":1658},{},[1659],{"type":58,"value":1660},"If no match, create the connection.",{"type":58,"value":1662}," First ",{"type":45,"tag":85,"props":1664,"children":1666},{"className":1665},[],[1667],{"type":58,"value":1668},"GET \u002Fv1\u002Fconnections\u002FsupportedConnectionTypes",{"type":58,"value":1670}," to discover required parameters and supported credential types, then ",{"type":45,"tag":85,"props":1672,"children":1674},{"className":1673},[],[1675],{"type":58,"value":1676},"POST \u002Fv1\u002Fconnections",{"type":58,"value":1678}," (sync 201). Body shape and credential schemas: ",{"type":45,"tag":210,"props":1680,"children":1681},{"href":438},[1682],{"type":58,"value":441},{"type":58,"value":1057},{"type":45,"tag":74,"props":1685,"children":1686},{},[1687,1699,1701,1707,1709,1715,1717,1723,1725,1731,1733,1739],{"type":45,"tag":54,"props":1688,"children":1689},{},[1690,1692,1697],{"type":58,"value":1691},"Resolve ",{"type":45,"tag":85,"props":1693,"children":1695},{"className":1694},[],[1696],{"type":58,"value":460},{"type":58,"value":1698}," for the composite binding.",{"type":58,"value":1700}," ",{"type":45,"tag":85,"props":1702,"children":1704},{"className":1703},[],[1705],{"type":58,"value":1706},"GET https:\u002F\u002Fapi.powerbi.com\u002Fv2.0\u002Fmyorg\u002Fme\u002FgatewayClusterDatasources",{"type":58,"value":1708}," with ",{"type":45,"tag":85,"props":1710,"children":1712},{"className":1711},[],[1713],{"type":58,"value":1714},"--query \"value[?id=='$CONN_ID'] | [0].clusterId\"",{"type":58,"value":1716},", audience ",{"type":45,"tag":85,"props":1718,"children":1720},{"className":1719},[],[1721],{"type":58,"value":1722},"--resource \"https:\u002F\u002Fanalysis.windows.net\u002Fpowerbi\u002Fapi\"",{"type":58,"value":1724}," (no trailing slash). The per-id route returns ",{"type":45,"tag":85,"props":1726,"children":1728},{"className":1727},[],[1729],{"type":58,"value":1730},"PowerBIEntityNotFound",{"type":58,"value":1732}," for cloud connections. Newly-created connections may take a few seconds to surface — retry on empty. Detail: ",{"type":45,"tag":210,"props":1734,"children":1736},{"href":1735},"references\u002Fconnection-management.md#resolving-clusterid-power-bi-v2",[1737],{"type":58,"value":1738},"connection-management.md § Resolving ClusterId",{"type":58,"value":1057},{"type":45,"tag":74,"props":1741,"children":1742},{},[1743,1748,1749,1755,1756,1762,1764,1770,1772,1777,1779,1784,1786,1791],{"type":45,"tag":54,"props":1744,"children":1745},{},[1746],{"type":58,"value":1747},"Create the dataflow shell.",{"type":58,"value":1700},{"type":45,"tag":85,"props":1750,"children":1752},{"className":1751},[],[1753],{"type":58,"value":1754},"POST \u002Fv1\u002Fworkspaces\u002F{ws}\u002Fdataflows",{"type":58,"value":1708},{"type":45,"tag":85,"props":1757,"children":1759},{"className":1758},[],[1760],{"type":58,"value":1761},"{\"displayName\":\"\u003CdisplayName>\"}",{"type":58,"value":1763}," returns sync 201. The ",{"type":45,"tag":85,"props":1765,"children":1767},{"className":1766},[],[1768],{"type":58,"value":1769},"definition",{"type":58,"value":1771}," field is optional at create time and can be set in the next step. If you instead supply the full ",{"type":45,"tag":85,"props":1773,"children":1775},{"className":1774},[],[1776],{"type":58,"value":1769},{"type":58,"value":1778}," (all three parts) in this create POST, that call is the persist surface -- name ",{"type":45,"tag":85,"props":1780,"children":1782},{"className":1781},[],[1783],{"type":58,"value":1754},{"type":58,"value":1785}," (not ",{"type":45,"tag":85,"props":1787,"children":1789},{"className":1788},[],[1790],{"type":58,"value":1564},{"type":58,"value":1792},") as the persist path in your summary.",{"type":45,"tag":74,"props":1794,"children":1795},{},[1796,1801,1802,1808,1810,1816,1818,1824,1825,1831,1833,1839,1841,1847,1849,1855,1857,1863,1865,1871,1873,1879],{"type":45,"tag":54,"props":1797,"children":1798},{},[1799],{"type":58,"value":1800},"Save M + connection bindings in one call.",{"type":58,"value":1700},{"type":45,"tag":85,"props":1803,"children":1805},{"className":1804},[],[1806],{"type":58,"value":1807},"POST \u002Fv1\u002Fworkspaces\u002F{ws}\u002Fdataflows\u002F{df}\u002FupdateDefinition?updateMetadata=true",{"type":58,"value":1809}," with three parts: ",{"type":45,"tag":85,"props":1811,"children":1813},{"className":1812},[],[1814],{"type":58,"value":1815},"mashup.pq",{"type":58,"value":1817}," (real ",{"type":45,"tag":85,"props":1819,"children":1821},{"className":1820},[],[1822],{"type":58,"value":1823},"Web.Contents",{"type":58,"value":487},{"type":45,"tag":85,"props":1826,"children":1828},{"className":1827},[],[1829],{"type":58,"value":1830},"Sql.Database",{"type":58,"value":1832}," \u002F …), ",{"type":45,"tag":85,"props":1834,"children":1836},{"className":1835},[],[1837],{"type":58,"value":1838},"queryMetadata.json",{"type":58,"value":1840}," (with ",{"type":45,"tag":85,"props":1842,"children":1844},{"className":1843},[],[1845],{"type":58,"value":1846},"connections[]",{"type":58,"value":1848}," populated; each ",{"type":45,"tag":85,"props":1850,"children":1852},{"className":1851},[],[1853],{"type":58,"value":1854},"connectionId",{"type":58,"value":1856}," is the stringified composite ",{"type":45,"tag":85,"props":1858,"children":1860},{"className":1859},[],[1861],{"type":58,"value":1862},"{\"ClusterId\":\"…\",\"DatasourceId\":\"…\"}",{"type":58,"value":1864},"), and ",{"type":45,"tag":85,"props":1866,"children":1868},{"className":1867},[],[1869],{"type":58,"value":1870},".platform",{"type":58,"value":1872},". Typically returns sync 200; may return 202 + LRO ",{"type":45,"tag":85,"props":1874,"children":1876},{"className":1875},[],[1877],{"type":58,"value":1878},"Location",{"type":58,"value":1880}," on large bodies — handle both.",{"type":45,"tag":74,"props":1882,"children":1883},{},[1884,1889,1891,1897,1899,1904,1906,1911,1913,1918,1920,1926,1928,1934,1936,1941,1943,1949,1951,1956,1958,1963,1964,1970],{"type":45,"tag":54,"props":1885,"children":1886},{},[1887],{"type":58,"value":1888},"Verify the binding persisted.",{"type":58,"value":1890}," Re-call ",{"type":45,"tag":85,"props":1892,"children":1894},{"className":1893},[],[1895],{"type":58,"value":1896},"getDefinition",{"type":58,"value":1898},", decode ",{"type":45,"tag":85,"props":1900,"children":1902},{"className":1901},[],[1903],{"type":58,"value":1838},{"type":58,"value":1905},", and confirm ",{"type":45,"tag":85,"props":1907,"children":1909},{"className":1908},[],[1910],{"type":58,"value":1846},{"type":58,"value":1912}," is intact. ",{"type":45,"tag":54,"props":1914,"children":1915},{},[1916],{"type":58,"value":1917},"Do not",{"type":58,"value":1919}," use ",{"type":45,"tag":85,"props":1921,"children":1923},{"className":1922},[],[1924],{"type":58,"value":1925},"GET \u002Fitems\u002F{id}\u002Fconnections",{"type":58,"value":1927}," for verification — that endpoint reflects refresh-materialized state, not the persisted definition, and returns 0 even after a successful bind. See ",{"type":45,"tag":210,"props":1929,"children":1931},{"href":1930},"#avoid",[1932],{"type":58,"value":1933},"AVOID",{"type":58,"value":1935},".\n",{"type":45,"tag":54,"props":1937,"children":1938},{},[1939],{"type":58,"value":1940},"Guarded preview-only fallback:",{"type":58,"value":1942}," If connection binding cannot proceed because Power BI v2 ",{"type":45,"tag":85,"props":1944,"children":1946},{"className":1945},[],[1947],{"type":58,"value":1948},"gatewayClusterDatasources",{"type":58,"value":1950}," returns 401\u002F403\u002FUnauthorized or no ",{"type":45,"tag":85,"props":1952,"children":1954},{"className":1953},[],[1955],{"type":58,"value":460},{"type":58,"value":1957}," is visible after retries, do not stop before creating the dataflow. Create the shell, persist the saved query definitions without claiming a valid source binding, call ",{"type":45,"tag":85,"props":1959,"children":1961},{"className":1960},[],[1962],{"type":58,"value":593},{"type":58,"value":1708},{"type":45,"tag":85,"props":1965,"children":1967},{"className":1966},[],[1968],{"type":58,"value":1969},"QueryName",{"type":58,"value":1971}," only for each saved query, surface the exact credential or binding error from the Arrow stream, do not fabricate chart data, and do not refresh.",{"type":45,"tag":74,"props":1973,"children":1974},{},[1975,1980,1982,1988,1990,1995,1997,2002,2004,2009,2011,2016,2018,2023,2025,2030,2032,2037,2039,2045,2046,2052,2054,2060],{"type":45,"tag":54,"props":1976,"children":1977},{},[1978],{"type":58,"value":1979},"(Encouraged) Offer to preview output as ASCII charts.",{"type":58,"value":1981}," Ask the user: ",{"type":45,"tag":1983,"props":1984,"children":1985},"em",{},[1986],{"type":58,"value":1987},"\"Would you like me to preview the data as charts before the first refresh?\"",{"type":58,"value":1989},". In this create flow the definition is already saved in step 5, so the chart preview here is a ",{"type":45,"tag":54,"props":1991,"children":1992},{},[1993],{"type":58,"value":1994},"post-save validation gate before you materialize via refresh",{"type":58,"value":1996}," — not a pre-save step. (If instead you want to validate ",{"type":45,"tag":1983,"props":1998,"children":1999},{},[2000],{"type":58,"value":2001},"candidate",{"type":58,"value":2003}," M ",{"type":45,"tag":54,"props":2005,"children":2006},{},[2007],{"type":58,"value":2008},"before",{"type":58,"value":2010}," the first ",{"type":45,"tag":85,"props":2012,"children":2014},{"className":2013},[],[2015],{"type":58,"value":1564},{"type":58,"value":2017}," — e.g. iterating on the M, or bootstrap-binding a credentialed source so ",{"type":45,"tag":85,"props":2019,"children":2021},{"className":2020},[],[2022],{"type":58,"value":593},{"type":58,"value":2024}," can see it — use the pre-persist ",{"type":45,"tag":210,"props":2026,"children":2027},{"href":1546},[2028],{"type":58,"value":2029},"Preview-Driven Authoring Loop",{"type":58,"value":2031},"; the chart rendering is identical, only the ordering relative to the save differs.) If accepted, call ",{"type":45,"tag":85,"props":2033,"children":2035},{"className":2034},[],[2036],{"type":58,"value":593},{"type":58,"value":2038}," for each entity, parse the Arrow IPC stream, render line charts (time-series) or horizontal bar charts (categories) via ",{"type":45,"tag":85,"props":2040,"children":2042},{"className":2041},[],[2043],{"type":58,"value":2044},"references\u002Fcharts\u002Fline_chart.py",{"type":58,"value":487},{"type":45,"tag":85,"props":2047,"children":2049},{"className":2048},[],[2050],{"type":58,"value":2051},"references\u002Fcharts\u002Fbar_chart.py",{"type":58,"value":2053},", and ask the user to confirm before proceeding. Details: ",{"type":45,"tag":210,"props":2055,"children":2057},{"href":2056},"references\u002Fmashup-preview.md#ascii-chart-preview-optional",[2058],{"type":58,"value":2059},"mashup-preview.md § ASCII chart preview",{"type":58,"value":2061},". If declined, proceed directly to step 8.",{"type":45,"tag":74,"props":2063,"children":2064},{},[2065,2070,2072,2078,2080,2086,2088,2099,2101,2107,2109,2115,2117,2123,2125,2131],{"type":45,"tag":54,"props":2066,"children":2067},{},[2068],{"type":58,"value":2069},"(Optional) Trigger refresh",{"type":58,"value":2071}," to materialize. ",{"type":45,"tag":85,"props":2073,"children":2075},{"className":2074},[],[2076],{"type":58,"value":2077},"POST ...\u002Fjobs\u002Finstances?jobType=Refresh",{"type":58,"value":2079}," with body ",{"type":45,"tag":85,"props":2081,"children":2083},{"className":2082},[],[2084],{"type":58,"value":2085},"{\"executionData\":{\"executeOption\":\"ApplyChangesIfNeeded\"}}",{"type":58,"value":2087},". ",{"type":45,"tag":54,"props":2089,"children":2090},{},[2091,2097],{"type":45,"tag":85,"props":2092,"children":2094},{"className":2093},[],[2095],{"type":58,"value":2096},"ApplyChangesIfNeeded",{"type":58,"value":2098}," is required on the first refresh after any definition change",{"type":58,"value":2100}," — without it, Fabric refreshes the previously-applied definition. Poll the LRO until ",{"type":45,"tag":85,"props":2102,"children":2104},{"className":2103},[],[2105],{"type":58,"value":2106},"status",{"type":58,"value":2108}," is ",{"type":45,"tag":85,"props":2110,"children":2112},{"className":2111},[],[2113],{"type":58,"value":2114},"Completed",{"type":58,"value":2116}," (refresh enum) or ",{"type":45,"tag":85,"props":2118,"children":2120},{"className":2119},[],[2121],{"type":58,"value":2122},"Failed",{"type":58,"value":2124},"\u002F",{"type":45,"tag":85,"props":2126,"children":2128},{"className":2127},[],[2129],{"type":58,"value":2130},"Cancelled",{"type":58,"value":1057},{"type":45,"tag":1085,"props":2133,"children":2135},{"className":1087,"code":2134,"language":1089,"meta":1090,"style":1090},"# Concise skeleton — full runnable bash is Example 1 below.\n# PowerShell + LRO-polled variants: references\u002Fauthoring-script-templates.md\n\nWS_ID=\"\u003CworkspaceId>\"; URL=\"\u003Csource-url>\"\nRES=\"https:\u002F\u002Fapi.fabric.microsoft.com\"; API=\"$RES\u002Fv1\"\nPBI=\"https:\u002F\u002Fanalysis.windows.net\u002Fpowerbi\u002Fapi\"\n\n# 1. List existing & try reuse\nCONN_ID=$(az rest --method get --resource \"$RES\" --url \"$API\u002Fconnections\" \\\n  --query \"value[?connectionDetails.type=='Web' && connectionDetails.path=='$URL'] | [0].id\" -o tsv)\n\n# 2. Create connection if missing — see connection-management.md for full body\n# 3. List+filter for ClusterId\nCLUSTER_ID=$(az rest --method get --resource \"$PBI\" \\\n  --url \"https:\u002F\u002Fapi.powerbi.com\u002Fv2.0\u002Fmyorg\u002Fme\u002FgatewayClusterDatasources\" \\\n  --query \"value[?id=='$CONN_ID'] | [0].clusterId\" -o tsv)\n\n# 4. Empty dataflow shell — sync 201\nSHELL_BODY=$(mktemp --suffix=.json 2>\u002Fdev\u002Fnull || mktemp)\nprintf '{\"displayName\":\"my-df\"}' > \"$SHELL_BODY\"\nDF_ID=$(az rest --method post --resource \"$RES\" \\\n  --url \"$API\u002Fworkspaces\u002F$WS_ID\u002Fdataflows\" \\\n  --headers \"Content-Type=application\u002Fjson\" \\\n  --body \"@$SHELL_BODY\" --query id -o tsv)\nrm -f \"$SHELL_BODY\"\n\n# 5. One-shot updateDefinition with real M + connections[] (sync 200 typical)\n#    Body assembly (mashup.pq + queryMetadata.json + .platform, base64-encoded;\n#    queryMetadata.json.connections[].connectionId = composite ClusterId\u002FDatasourceId):\n#    see Example 1 below.\n\n# 6. Verify via getDefinition (NOT GET \u002Fitems\u002F{id}\u002Fconnections — see AVOID)\n# 7. (optional) executeQuery — Workflow C\n# 8. (optional) Refresh with executeOption=ApplyChangesIfNeeded — Example 2\n",[2136],{"type":45,"tag":85,"props":2137,"children":2138},{"__ignoreMap":1090},[2139,2147,2155,2162,2212,2267,2292,2299,2307,2380,2425,2432,2440,2449,2499,2524,2567,2575,2584,2631,2674,2723,2760,2786,2834,2860,2868,2877,2886,2895,2904,2912,2921,2930],{"type":45,"tag":1096,"props":2140,"children":2141},{"class":1098,"line":1099},[2142],{"type":45,"tag":1096,"props":2143,"children":2144},{"style":1103},[2145],{"type":58,"value":2146},"# Concise skeleton — full runnable bash is Example 1 below.\n",{"type":45,"tag":1096,"props":2148,"children":2149},{"class":1098,"line":1109},[2150],{"type":45,"tag":1096,"props":2151,"children":2152},{"style":1103},[2153],{"type":58,"value":2154},"# PowerShell + LRO-polled variants: references\u002Fauthoring-script-templates.md\n",{"type":45,"tag":1096,"props":2156,"children":2157},{"class":1098,"line":1140},[2158],{"type":45,"tag":1096,"props":2159,"children":2160},{"emptyLinePlaceholder":1231},[2161],{"type":58,"value":1234},{"type":45,"tag":1096,"props":2163,"children":2164},{"class":1098,"line":1169},[2165,2169,2173,2177,2181,2185,2190,2195,2199,2203,2208],{"type":45,"tag":1096,"props":2166,"children":2167},{"style":1134},[2168],{"type":58,"value":1252},{"type":45,"tag":1096,"props":2170,"children":2171},{"style":1149},[2172],{"type":58,"value":1257},{"type":45,"tag":1096,"props":2174,"children":2175},{"style":1149},[2176],{"type":58,"value":1162},{"type":45,"tag":1096,"props":2178,"children":2179},{"style":1118},[2180],{"type":58,"value":1266},{"type":45,"tag":1096,"props":2182,"children":2183},{"style":1149},[2184],{"type":58,"value":1162},{"type":45,"tag":1096,"props":2186,"children":2187},{"style":1149},[2188],{"type":58,"value":2189},";",{"type":45,"tag":1096,"props":2191,"children":2192},{"style":1134},[2193],{"type":58,"value":2194}," URL",{"type":45,"tag":1096,"props":2196,"children":2197},{"style":1149},[2198],{"type":58,"value":1257},{"type":45,"tag":1096,"props":2200,"children":2201},{"style":1149},[2202],{"type":58,"value":1162},{"type":45,"tag":1096,"props":2204,"children":2205},{"style":1118},[2206],{"type":58,"value":2207},"\u003Csource-url>",{"type":45,"tag":1096,"props":2209,"children":2210},{"style":1149},[2211],{"type":58,"value":1271},{"type":45,"tag":1096,"props":2213,"children":2214},{"class":1098,"line":1195},[2215,2220,2224,2228,2232,2236,2240,2245,2249,2253,2258,2263],{"type":45,"tag":1096,"props":2216,"children":2217},{"style":1134},[2218],{"type":58,"value":2219},"RES",{"type":45,"tag":1096,"props":2221,"children":2222},{"style":1149},[2223],{"type":58,"value":1257},{"type":45,"tag":1096,"props":2225,"children":2226},{"style":1149},[2227],{"type":58,"value":1162},{"type":45,"tag":1096,"props":2229,"children":2230},{"style":1118},[2231],{"type":58,"value":1157},{"type":45,"tag":1096,"props":2233,"children":2234},{"style":1149},[2235],{"type":58,"value":1162},{"type":45,"tag":1096,"props":2237,"children":2238},{"style":1149},[2239],{"type":58,"value":2189},{"type":45,"tag":1096,"props":2241,"children":2242},{"style":1134},[2243],{"type":58,"value":2244}," API",{"type":45,"tag":1096,"props":2246,"children":2247},{"style":1149},[2248],{"type":58,"value":1257},{"type":45,"tag":1096,"props":2250,"children":2251},{"style":1149},[2252],{"type":58,"value":1162},{"type":45,"tag":1096,"props":2254,"children":2255},{"style":1134},[2256],{"type":58,"value":2257},"$RES",{"type":45,"tag":1096,"props":2259,"children":2260},{"style":1118},[2261],{"type":58,"value":2262},"\u002Fv1",{"type":45,"tag":1096,"props":2264,"children":2265},{"style":1149},[2266],{"type":58,"value":1271},{"type":45,"tag":1096,"props":2268,"children":2269},{"class":1098,"line":1227},[2270,2275,2279,2283,2288],{"type":45,"tag":1096,"props":2271,"children":2272},{"style":1134},[2273],{"type":58,"value":2274},"PBI",{"type":45,"tag":1096,"props":2276,"children":2277},{"style":1149},[2278],{"type":58,"value":1257},{"type":45,"tag":1096,"props":2280,"children":2281},{"style":1149},[2282],{"type":58,"value":1162},{"type":45,"tag":1096,"props":2284,"children":2285},{"style":1118},[2286],{"type":58,"value":2287},"https:\u002F\u002Fanalysis.windows.net\u002Fpowerbi\u002Fapi",{"type":45,"tag":1096,"props":2289,"children":2290},{"style":1149},[2291],{"type":58,"value":1271},{"type":45,"tag":1096,"props":2293,"children":2294},{"class":1098,"line":1237},[2295],{"type":45,"tag":1096,"props":2296,"children":2297},{"emptyLinePlaceholder":1231},[2298],{"type":58,"value":1234},{"type":45,"tag":1096,"props":2300,"children":2301},{"class":1098,"line":1246},[2302],{"type":45,"tag":1096,"props":2303,"children":2304},{"style":1103},[2305],{"type":58,"value":2306},"# 1. List existing & try reuse\n",{"type":45,"tag":1096,"props":2308,"children":2309},{"class":1098,"line":1274},[2310,2315,2320,2324,2328,2332,2336,2341,2345,2349,2353,2358,2362,2367,2372,2376],{"type":45,"tag":1096,"props":2311,"children":2312},{"style":1134},[2313],{"type":58,"value":2314},"CONN_ID",{"type":45,"tag":1096,"props":2316,"children":2317},{"style":1149},[2318],{"type":58,"value":2319},"=$(",{"type":45,"tag":1096,"props":2321,"children":2322},{"style":1113},[2323],{"type":58,"value":224},{"type":45,"tag":1096,"props":2325,"children":2326},{"style":1118},[2327],{"type":58,"value":1121},{"type":45,"tag":1096,"props":2329,"children":2330},{"style":1118},[2331],{"type":58,"value":1126},{"type":45,"tag":1096,"props":2333,"children":2334},{"style":1118},[2335],{"type":58,"value":1131},{"type":45,"tag":1096,"props":2337,"children":2338},{"style":1118},[2339],{"type":58,"value":2340}," --resource",{"type":45,"tag":1096,"props":2342,"children":2343},{"style":1149},[2344],{"type":58,"value":1152},{"type":45,"tag":1096,"props":2346,"children":2347},{"style":1134},[2348],{"type":58,"value":2257},{"type":45,"tag":1096,"props":2350,"children":2351},{"style":1149},[2352],{"type":58,"value":1162},{"type":45,"tag":1096,"props":2354,"children":2355},{"style":1118},[2356],{"type":58,"value":2357}," --url",{"type":45,"tag":1096,"props":2359,"children":2360},{"style":1149},[2361],{"type":58,"value":1152},{"type":45,"tag":1096,"props":2363,"children":2364},{"style":1134},[2365],{"type":58,"value":2366},"$API",{"type":45,"tag":1096,"props":2368,"children":2369},{"style":1118},[2370],{"type":58,"value":2371},"\u002Fconnections",{"type":45,"tag":1096,"props":2373,"children":2374},{"style":1149},[2375],{"type":58,"value":1162},{"type":45,"tag":1096,"props":2377,"children":2378},{"style":1134},[2379],{"type":58,"value":1137},{"type":45,"tag":1096,"props":2381,"children":2382},{"class":1098,"line":1298},[2383,2387,2391,2396,2401,2406,2410,2415,2420],{"type":45,"tag":1096,"props":2384,"children":2385},{"style":1118},[2386],{"type":58,"value":1201},{"type":45,"tag":1096,"props":2388,"children":2389},{"style":1149},[2390],{"type":58,"value":1152},{"type":45,"tag":1096,"props":2392,"children":2393},{"style":1118},[2394],{"type":58,"value":2395},"value[?connectionDetails.type=='Web' && connectionDetails.path=='",{"type":45,"tag":1096,"props":2397,"children":2398},{"style":1134},[2399],{"type":58,"value":2400},"$URL",{"type":45,"tag":1096,"props":2402,"children":2403},{"style":1118},[2404],{"type":58,"value":2405},"'] | [0].id",{"type":45,"tag":1096,"props":2407,"children":2408},{"style":1149},[2409],{"type":58,"value":1162},{"type":45,"tag":1096,"props":2411,"children":2412},{"style":1118},[2413],{"type":58,"value":2414}," -o",{"type":45,"tag":1096,"props":2416,"children":2417},{"style":1118},[2418],{"type":58,"value":2419}," tsv",{"type":45,"tag":1096,"props":2421,"children":2422},{"style":1149},[2423],{"type":58,"value":2424},")\n",{"type":45,"tag":1096,"props":2426,"children":2427},{"class":1098,"line":1322},[2428],{"type":45,"tag":1096,"props":2429,"children":2430},{"emptyLinePlaceholder":1231},[2431],{"type":58,"value":1234},{"type":45,"tag":1096,"props":2433,"children":2434},{"class":1098,"line":1357},[2435],{"type":45,"tag":1096,"props":2436,"children":2437},{"style":1103},[2438],{"type":58,"value":2439},"# 2. Create connection if missing — see connection-management.md for full body\n",{"type":45,"tag":1096,"props":2441,"children":2443},{"class":1098,"line":2442},13,[2444],{"type":45,"tag":1096,"props":2445,"children":2446},{"style":1103},[2447],{"type":58,"value":2448},"# 3. List+filter for ClusterId\n",{"type":45,"tag":1096,"props":2450,"children":2452},{"class":1098,"line":2451},14,[2453,2458,2462,2466,2470,2474,2478,2482,2486,2491,2495],{"type":45,"tag":1096,"props":2454,"children":2455},{"style":1134},[2456],{"type":58,"value":2457},"CLUSTER_ID",{"type":45,"tag":1096,"props":2459,"children":2460},{"style":1149},[2461],{"type":58,"value":2319},{"type":45,"tag":1096,"props":2463,"children":2464},{"style":1113},[2465],{"type":58,"value":224},{"type":45,"tag":1096,"props":2467,"children":2468},{"style":1118},[2469],{"type":58,"value":1121},{"type":45,"tag":1096,"props":2471,"children":2472},{"style":1118},[2473],{"type":58,"value":1126},{"type":45,"tag":1096,"props":2475,"children":2476},{"style":1118},[2477],{"type":58,"value":1131},{"type":45,"tag":1096,"props":2479,"children":2480},{"style":1118},[2481],{"type":58,"value":2340},{"type":45,"tag":1096,"props":2483,"children":2484},{"style":1149},[2485],{"type":58,"value":1152},{"type":45,"tag":1096,"props":2487,"children":2488},{"style":1134},[2489],{"type":58,"value":2490},"$PBI",{"type":45,"tag":1096,"props":2492,"children":2493},{"style":1149},[2494],{"type":58,"value":1162},{"type":45,"tag":1096,"props":2496,"children":2497},{"style":1134},[2498],{"type":58,"value":1137},{"type":45,"tag":1096,"props":2500,"children":2502},{"class":1098,"line":2501},15,[2503,2507,2511,2516,2520],{"type":45,"tag":1096,"props":2504,"children":2505},{"style":1118},[2506],{"type":58,"value":1175},{"type":45,"tag":1096,"props":2508,"children":2509},{"style":1149},[2510],{"type":58,"value":1152},{"type":45,"tag":1096,"props":2512,"children":2513},{"style":1118},[2514],{"type":58,"value":2515},"https:\u002F\u002Fapi.powerbi.com\u002Fv2.0\u002Fmyorg\u002Fme\u002FgatewayClusterDatasources",{"type":45,"tag":1096,"props":2517,"children":2518},{"style":1149},[2519],{"type":58,"value":1162},{"type":45,"tag":1096,"props":2521,"children":2522},{"style":1134},[2523],{"type":58,"value":1137},{"type":45,"tag":1096,"props":2525,"children":2527},{"class":1098,"line":2526},16,[2528,2532,2536,2541,2546,2551,2555,2559,2563],{"type":45,"tag":1096,"props":2529,"children":2530},{"style":1118},[2531],{"type":58,"value":1201},{"type":45,"tag":1096,"props":2533,"children":2534},{"style":1149},[2535],{"type":58,"value":1152},{"type":45,"tag":1096,"props":2537,"children":2538},{"style":1118},[2539],{"type":58,"value":2540},"value[?id=='",{"type":45,"tag":1096,"props":2542,"children":2543},{"style":1134},[2544],{"type":58,"value":2545},"$CONN_ID",{"type":45,"tag":1096,"props":2547,"children":2548},{"style":1118},[2549],{"type":58,"value":2550},"'] | [0].clusterId",{"type":45,"tag":1096,"props":2552,"children":2553},{"style":1149},[2554],{"type":58,"value":1162},{"type":45,"tag":1096,"props":2556,"children":2557},{"style":1118},[2558],{"type":58,"value":2414},{"type":45,"tag":1096,"props":2560,"children":2561},{"style":1118},[2562],{"type":58,"value":2419},{"type":45,"tag":1096,"props":2564,"children":2565},{"style":1149},[2566],{"type":58,"value":2424},{"type":45,"tag":1096,"props":2568,"children":2570},{"class":1098,"line":2569},17,[2571],{"type":45,"tag":1096,"props":2572,"children":2573},{"emptyLinePlaceholder":1231},[2574],{"type":58,"value":1234},{"type":45,"tag":1096,"props":2576,"children":2578},{"class":1098,"line":2577},18,[2579],{"type":45,"tag":1096,"props":2580,"children":2581},{"style":1103},[2582],{"type":58,"value":2583},"# 4. Empty dataflow shell — sync 201\n",{"type":45,"tag":1096,"props":2585,"children":2587},{"class":1098,"line":2586},19,[2588,2593,2597,2602,2607,2612,2617,2622,2627],{"type":45,"tag":1096,"props":2589,"children":2590},{"style":1134},[2591],{"type":58,"value":2592},"SHELL_BODY",{"type":45,"tag":1096,"props":2594,"children":2595},{"style":1149},[2596],{"type":58,"value":2319},{"type":45,"tag":1096,"props":2598,"children":2599},{"style":1113},[2600],{"type":58,"value":2601},"mktemp",{"type":45,"tag":1096,"props":2603,"children":2604},{"style":1118},[2605],{"type":58,"value":2606}," --suffix=.json",{"type":45,"tag":1096,"props":2608,"children":2609},{"style":1149},[2610],{"type":58,"value":2611}," 2>",{"type":45,"tag":1096,"props":2613,"children":2614},{"style":1118},[2615],{"type":58,"value":2616},"\u002Fdev\u002Fnull",{"type":45,"tag":1096,"props":2618,"children":2619},{"style":1149},[2620],{"type":58,"value":2621}," ||",{"type":45,"tag":1096,"props":2623,"children":2624},{"style":1113},[2625],{"type":58,"value":2626}," mktemp",{"type":45,"tag":1096,"props":2628,"children":2629},{"style":1149},[2630],{"type":58,"value":2424},{"type":45,"tag":1096,"props":2632,"children":2634},{"class":1098,"line":2633},20,[2635,2641,2646,2651,2656,2661,2665,2670],{"type":45,"tag":1096,"props":2636,"children":2638},{"style":2637},"--shiki-light:#6182B8;--shiki-default:#82AAFF;--shiki-dark:#82AAFF",[2639],{"type":58,"value":2640},"printf",{"type":45,"tag":1096,"props":2642,"children":2643},{"style":1149},[2644],{"type":58,"value":2645}," '",{"type":45,"tag":1096,"props":2647,"children":2648},{"style":1118},[2649],{"type":58,"value":2650},"{\"displayName\":\"my-df\"}",{"type":45,"tag":1096,"props":2652,"children":2653},{"style":1149},[2654],{"type":58,"value":2655},"'",{"type":45,"tag":1096,"props":2657,"children":2658},{"style":1149},[2659],{"type":58,"value":2660}," >",{"type":45,"tag":1096,"props":2662,"children":2663},{"style":1149},[2664],{"type":58,"value":1152},{"type":45,"tag":1096,"props":2666,"children":2667},{"style":1134},[2668],{"type":58,"value":2669},"$SHELL_BODY",{"type":45,"tag":1096,"props":2671,"children":2672},{"style":1149},[2673],{"type":58,"value":1271},{"type":45,"tag":1096,"props":2675,"children":2677},{"class":1098,"line":2676},21,[2678,2682,2686,2690,2694,2698,2703,2707,2711,2715,2719],{"type":45,"tag":1096,"props":2679,"children":2680},{"style":1134},[2681],{"type":58,"value":1427},{"type":45,"tag":1096,"props":2683,"children":2684},{"style":1149},[2685],{"type":58,"value":2319},{"type":45,"tag":1096,"props":2687,"children":2688},{"style":1113},[2689],{"type":58,"value":224},{"type":45,"tag":1096,"props":2691,"children":2692},{"style":1118},[2693],{"type":58,"value":1121},{"type":45,"tag":1096,"props":2695,"children":2696},{"style":1118},[2697],{"type":58,"value":1126},{"type":45,"tag":1096,"props":2699,"children":2700},{"style":1118},[2701],{"type":58,"value":2702}," post",{"type":45,"tag":1096,"props":2704,"children":2705},{"style":1118},[2706],{"type":58,"value":2340},{"type":45,"tag":1096,"props":2708,"children":2709},{"style":1149},[2710],{"type":58,"value":1152},{"type":45,"tag":1096,"props":2712,"children":2713},{"style":1134},[2714],{"type":58,"value":2257},{"type":45,"tag":1096,"props":2716,"children":2717},{"style":1149},[2718],{"type":58,"value":1162},{"type":45,"tag":1096,"props":2720,"children":2721},{"style":1134},[2722],{"type":58,"value":1137},{"type":45,"tag":1096,"props":2724,"children":2726},{"class":1098,"line":2725},22,[2727,2731,2735,2739,2744,2748,2752,2756],{"type":45,"tag":1096,"props":2728,"children":2729},{"style":1118},[2730],{"type":58,"value":1175},{"type":45,"tag":1096,"props":2732,"children":2733},{"style":1149},[2734],{"type":58,"value":1152},{"type":45,"tag":1096,"props":2736,"children":2737},{"style":1134},[2738],{"type":58,"value":2366},{"type":45,"tag":1096,"props":2740,"children":2741},{"style":1118},[2742],{"type":58,"value":2743},"\u002Fworkspaces\u002F",{"type":45,"tag":1096,"props":2745,"children":2746},{"style":1134},[2747],{"type":58,"value":1341},{"type":45,"tag":1096,"props":2749,"children":2750},{"style":1118},[2751],{"type":58,"value":1346},{"type":45,"tag":1096,"props":2753,"children":2754},{"style":1149},[2755],{"type":58,"value":1162},{"type":45,"tag":1096,"props":2757,"children":2758},{"style":1134},[2759],{"type":58,"value":1137},{"type":45,"tag":1096,"props":2761,"children":2763},{"class":1098,"line":2762},23,[2764,2769,2773,2778,2782],{"type":45,"tag":1096,"props":2765,"children":2766},{"style":1118},[2767],{"type":58,"value":2768},"  --headers",{"type":45,"tag":1096,"props":2770,"children":2771},{"style":1149},[2772],{"type":58,"value":1152},{"type":45,"tag":1096,"props":2774,"children":2775},{"style":1118},[2776],{"type":58,"value":2777},"Content-Type=application\u002Fjson",{"type":45,"tag":1096,"props":2779,"children":2780},{"style":1149},[2781],{"type":58,"value":1162},{"type":45,"tag":1096,"props":2783,"children":2784},{"style":1134},[2785],{"type":58,"value":1137},{"type":45,"tag":1096,"props":2787,"children":2789},{"class":1098,"line":2788},24,[2790,2795,2799,2804,2808,2812,2817,2822,2826,2830],{"type":45,"tag":1096,"props":2791,"children":2792},{"style":1118},[2793],{"type":58,"value":2794},"  --body",{"type":45,"tag":1096,"props":2796,"children":2797},{"style":1149},[2798],{"type":58,"value":1152},{"type":45,"tag":1096,"props":2800,"children":2801},{"style":1118},[2802],{"type":58,"value":2803},"@",{"type":45,"tag":1096,"props":2805,"children":2806},{"style":1134},[2807],{"type":58,"value":2669},{"type":45,"tag":1096,"props":2809,"children":2810},{"style":1149},[2811],{"type":58,"value":1162},{"type":45,"tag":1096,"props":2813,"children":2814},{"style":1118},[2815],{"type":58,"value":2816}," --query",{"type":45,"tag":1096,"props":2818,"children":2819},{"style":1118},[2820],{"type":58,"value":2821}," id",{"type":45,"tag":1096,"props":2823,"children":2824},{"style":1118},[2825],{"type":58,"value":2414},{"type":45,"tag":1096,"props":2827,"children":2828},{"style":1118},[2829],{"type":58,"value":2419},{"type":45,"tag":1096,"props":2831,"children":2832},{"style":1149},[2833],{"type":58,"value":2424},{"type":45,"tag":1096,"props":2835,"children":2837},{"class":1098,"line":2836},25,[2838,2843,2848,2852,2856],{"type":45,"tag":1096,"props":2839,"children":2840},{"style":1113},[2841],{"type":58,"value":2842},"rm",{"type":45,"tag":1096,"props":2844,"children":2845},{"style":1118},[2846],{"type":58,"value":2847}," -f",{"type":45,"tag":1096,"props":2849,"children":2850},{"style":1149},[2851],{"type":58,"value":1152},{"type":45,"tag":1096,"props":2853,"children":2854},{"style":1134},[2855],{"type":58,"value":2669},{"type":45,"tag":1096,"props":2857,"children":2858},{"style":1149},[2859],{"type":58,"value":1271},{"type":45,"tag":1096,"props":2861,"children":2863},{"class":1098,"line":2862},26,[2864],{"type":45,"tag":1096,"props":2865,"children":2866},{"emptyLinePlaceholder":1231},[2867],{"type":58,"value":1234},{"type":45,"tag":1096,"props":2869,"children":2871},{"class":1098,"line":2870},27,[2872],{"type":45,"tag":1096,"props":2873,"children":2874},{"style":1103},[2875],{"type":58,"value":2876},"# 5. One-shot updateDefinition with real M + connections[] (sync 200 typical)\n",{"type":45,"tag":1096,"props":2878,"children":2880},{"class":1098,"line":2879},28,[2881],{"type":45,"tag":1096,"props":2882,"children":2883},{"style":1103},[2884],{"type":58,"value":2885},"#    Body assembly (mashup.pq + queryMetadata.json + .platform, base64-encoded;\n",{"type":45,"tag":1096,"props":2887,"children":2889},{"class":1098,"line":2888},29,[2890],{"type":45,"tag":1096,"props":2891,"children":2892},{"style":1103},[2893],{"type":58,"value":2894},"#    queryMetadata.json.connections[].connectionId = composite ClusterId\u002FDatasourceId):\n",{"type":45,"tag":1096,"props":2896,"children":2898},{"class":1098,"line":2897},30,[2899],{"type":45,"tag":1096,"props":2900,"children":2901},{"style":1103},[2902],{"type":58,"value":2903},"#    see Example 1 below.\n",{"type":45,"tag":1096,"props":2905,"children":2907},{"class":1098,"line":2906},31,[2908],{"type":45,"tag":1096,"props":2909,"children":2910},{"emptyLinePlaceholder":1231},[2911],{"type":58,"value":1234},{"type":45,"tag":1096,"props":2913,"children":2915},{"class":1098,"line":2914},32,[2916],{"type":45,"tag":1096,"props":2917,"children":2918},{"style":1103},[2919],{"type":58,"value":2920},"# 6. Verify via getDefinition (NOT GET \u002Fitems\u002F{id}\u002Fconnections — see AVOID)\n",{"type":45,"tag":1096,"props":2922,"children":2924},{"class":1098,"line":2923},33,[2925],{"type":45,"tag":1096,"props":2926,"children":2927},{"style":1103},[2928],{"type":58,"value":2929},"# 7. (optional) executeQuery — Workflow C\n",{"type":45,"tag":1096,"props":2931,"children":2933},{"class":1098,"line":2932},34,[2934],{"type":45,"tag":1096,"props":2935,"children":2936},{"style":1103},[2937],{"type":58,"value":2938},"# 8. (optional) Refresh with executeOption=ApplyChangesIfNeeded — Example 2\n",{"type":45,"tag":46,"props":2940,"children":2941},{},[2942],{"type":45,"tag":50,"props":2943,"children":2944},{},[2945,2950,2952,2957,2959,2964,2966,2972],{"type":45,"tag":54,"props":2946,"children":2947},{},[2948],{"type":58,"value":2949},"One-shot vs two-step bind+save.",{"type":58,"value":2951}," Steps 4-5 can be one call (default; saves an HTTP round trip) or split into a bootstrap-bind ",{"type":45,"tag":85,"props":2953,"children":2955},{"className":2954},[],[2956],{"type":58,"value":1564},{"type":58,"value":2958}," followed by a full-M ",{"type":45,"tag":85,"props":2960,"children":2962},{"className":2961},[],[2963],{"type":58,"value":1564},{"type":58,"value":2965},". Both work — see ",{"type":45,"tag":210,"props":2967,"children":2969},{"href":2968},"#prefer",[2970],{"type":58,"value":2971},"PREFER",{"type":58,"value":1057},{"type":45,"tag":1067,"props":2974,"children":2976},{"id":2975},"b-modify-an-existing-dataflow",[2977],{"type":58,"value":1535},{"type":45,"tag":50,"props":2979,"children":2980},{},[2981,2983,2988],{"type":58,"value":2982},"Use this when the dataflow already exists. Canonical Discover → Formulate → Execute → Verify loop. If the dataflow does not yet exist, see ",{"type":45,"tag":210,"props":2984,"children":2985},{"href":1518},[2986],{"type":58,"value":2987},"Workflow A",{"type":58,"value":2989}," instead.",{"type":45,"tag":119,"props":2991,"children":2992},{},[2993,3037,3054,3078],{"type":45,"tag":74,"props":2994,"children":2995},{},[2996,3001,3003,3008,3010,3015,3016,3021,3023,3028,3030,3036],{"type":45,"tag":54,"props":2997,"children":2998},{},[2999],{"type":58,"value":3000},"Discover",{"type":58,"value":3002}," — list workspaces, list dataflows, ",{"type":45,"tag":85,"props":3004,"children":3006},{"className":3005},[],[3007],{"type":58,"value":1896},{"type":58,"value":3009}," (decode ",{"type":45,"tag":85,"props":3011,"children":3013},{"className":3012},[],[3014],{"type":58,"value":1815},{"type":58,"value":990},{"type":45,"tag":85,"props":3017,"children":3019},{"className":3018},[],[3020],{"type":58,"value":1838},{"type":58,"value":3022},"). Validate all ",{"type":45,"tag":85,"props":3024,"children":3026},{"className":3025},[],[3027],{"type":58,"value":1846},{"type":58,"value":3029}," entries via ",{"type":45,"tag":85,"props":3031,"children":3033},{"className":3032},[],[3034],{"type":58,"value":3035},"GET \u002Fv1\u002Fconnections\u002F{id}",{"type":58,"value":1057},{"type":45,"tag":74,"props":3038,"children":3039},{},[3040,3045,3047,3052],{"type":45,"tag":54,"props":3041,"children":3042},{},[3043],{"type":58,"value":3044},"Formulate",{"type":58,"value":3046}," — modify M, re-encode parts, ensure every referenced ",{"type":45,"tag":85,"props":3048,"children":3050},{"className":3049},[],[3051],{"type":58,"value":1854},{"type":58,"value":3053}," exists in the caller's connection store.",{"type":45,"tag":74,"props":3055,"children":3056},{},[3057,3062,3064,3070,3071,3076],{"type":45,"tag":54,"props":3058,"children":3059},{},[3060],{"type":58,"value":3061},"Execute",{"type":58,"value":3063}," — ",{"type":45,"tag":85,"props":3065,"children":3067},{"className":3066},[],[3068],{"type":58,"value":3069},"POST ...\u002FupdateDefinition?updateMetadata=true",{"type":58,"value":1708},{"type":45,"tag":54,"props":3072,"children":3073},{},[3074],{"type":58,"value":3075},"all 3 parts",{"type":58,"value":3077}," (full replacement). Optionally trigger refresh.",{"type":45,"tag":74,"props":3079,"children":3080},{},[3081,3086,3088,3093,3095,3100,3101,3106,3108,3114,3116,3122,3124,3129],{"type":45,"tag":54,"props":3082,"children":3083},{},[3084],{"type":58,"value":3085},"Verify",{"type":58,"value":3087}," — re-call ",{"type":45,"tag":85,"props":3089,"children":3091},{"className":3090},[],[3092],{"type":58,"value":1896},{"type":58,"value":3094}," to confirm changes; poll refresh LRO; for refresh failures, make at most ",{"type":45,"tag":54,"props":3096,"children":3097},{},[3098],{"type":58,"value":3099},"one",{"type":58,"value":1700},{"type":45,"tag":85,"props":3102,"children":3104},{"className":3103},[],[3105],{"type":58,"value":593},{"type":58,"value":3107}," isolation attempt to localize a fixable M\u002Fsource issue. On a terminal\u002Fnon-retriable failure (",{"type":45,"tag":85,"props":3109,"children":3111},{"className":3110},[],[3112],{"type":58,"value":3113},"isRetriable: false",{"type":58,"value":3115},", workspace-wide ",{"type":45,"tag":85,"props":3117,"children":3119},{"className":3118},[],[3120],{"type":58,"value":3121},"UnknownException",{"type":58,"value":3123},"), surface the raw error and ",{"type":45,"tag":54,"props":3125,"children":3126},{},[3127],{"type":58,"value":3128},"stop",{"type":58,"value":3130}," rather than re-triggering.",{"type":45,"tag":1085,"props":3132,"children":3134},{"className":1087,"code":3133,"language":1089,"meta":1090,"style":1090},"# Concise skeleton — full templates: references\u002Fauthoring-script-templates.md\n# Acquire $TOKEN per common\u002FCOMMON-CLI.md § Token-in-Variable Pattern (resource = $RESOURCE).\nRESOURCE=\"https:\u002F\u002Fapi.fabric.microsoft.com\"; API=\"$RESOURCE\u002Fv1\"\n\n# 1. Discover — getDefinition (handles 200 sync and 202 + LRO via curl)\nHDR=$(mktemp); BODY=$(mktemp)\nCODE=$(curl -sS -X POST -H \"Authorization: Bearer $TOKEN\" -H \"Content-Length: 0\" \\\n  \"$API\u002Fworkspaces\u002F$WS_ID\u002Fdataflows\u002F$DF_ID\u002FgetDefinition\" \\\n  -D \"$HDR\" -o \"$BODY\" -w \"%{http_code}\")\nif [ \"$CODE\" = \"202\" ]; then\n  LOC=$(tr -d '\\r' \u003C \"$HDR\" | grep -i \"^location:\" | awk '{print $2}')\n  RETRY=$(tr -d '\\r' \u003C \"$HDR\" | grep -i \"^retry-after:\" | awk '{print $2}'); RETRY=${RETRY:-5}\n  while :; do\n    sleep \"$RETRY\"\n    OP=$(az rest --method get --resource \"$RESOURCE\" --url \"$LOC\")\n    case \"$(echo \"$OP\" | jq -r '.status \u002F\u002F empty')\" in\n      Succeeded) RESULT=$(az rest --method get --resource \"$RESOURCE\" --url \"${LOC%\u002F}\u002Fresult\"); break ;;\n      Failed|Cancelled) echo \"ERROR: getDefinition $(echo \"$OP\" | jq -r '.status')\" >&2; exit 1 ;;\n    esac\n  done\nelse\n  RESULT=$(cat \"$BODY\")\nfi\nrm -f \"$HDR\" \"$BODY\"\n\n# Validate bound connections (connectionId is a composite JSON string — iterate safely)\nQUERY_META=$(echo \"$RESULT\" | jq -r '.definition.parts[] | select(.path==\"queryMetadata.json\") | .payload' | base64 -d)\necho \"$QUERY_META\" | jq -c '.connections[]?' | while IFS= read -r conn; do\n  RAW=$(echo \"$conn\" | jq -r '.connectionId')\n  DATASOURCE_ID=$(echo \"$RAW\" | jq -r '.DatasourceId? \u002F\u002F empty' 2>\u002Fdev\u002Fnull)\n  [ -z \"$DATASOURCE_ID\" ] && DATASOURCE_ID=\"$RAW\"\n  # GET \u002Fv1\u002Fconnections\u002F$DATASOURCE_ID to confirm access\ndone\n\n# 2-3. Formulate & Execute — see Example 3\n# 4. Verify — trigger refresh via curl (az rest cannot capture Location header).\n#    Full LRO polling: references\u002Fauthoring-script-templates.md.\n",[3135],{"type":45,"tag":85,"props":3136,"children":3137},{"__ignoreMap":1090},[3138,3146,3154,3206,3213,3221,3259,3334,3377,3437,3492,3597,3724,3746,3767,3832,3896,3991,4092,4100,4108,4116,4149,4157,4192,4199,4207,4279,4365,4423,4489,4546,4554,4562,4569,4578,4587],{"type":45,"tag":1096,"props":3139,"children":3140},{"class":1098,"line":1099},[3141],{"type":45,"tag":1096,"props":3142,"children":3143},{"style":1103},[3144],{"type":58,"value":3145},"# Concise skeleton — full templates: references\u002Fauthoring-script-templates.md\n",{"type":45,"tag":1096,"props":3147,"children":3148},{"class":1098,"line":1109},[3149],{"type":45,"tag":1096,"props":3150,"children":3151},{"style":1103},[3152],{"type":58,"value":3153},"# Acquire $TOKEN per common\u002FCOMMON-CLI.md § Token-in-Variable Pattern (resource = $RESOURCE).\n",{"type":45,"tag":1096,"props":3155,"children":3156},{"class":1098,"line":1140},[3157,3161,3165,3169,3173,3177,3181,3185,3189,3193,3198,3202],{"type":45,"tag":1096,"props":3158,"children":3159},{"style":1134},[3160],{"type":58,"value":1477},{"type":45,"tag":1096,"props":3162,"children":3163},{"style":1149},[3164],{"type":58,"value":1257},{"type":45,"tag":1096,"props":3166,"children":3167},{"style":1149},[3168],{"type":58,"value":1162},{"type":45,"tag":1096,"props":3170,"children":3171},{"style":1118},[3172],{"type":58,"value":1157},{"type":45,"tag":1096,"props":3174,"children":3175},{"style":1149},[3176],{"type":58,"value":1162},{"type":45,"tag":1096,"props":3178,"children":3179},{"style":1149},[3180],{"type":58,"value":2189},{"type":45,"tag":1096,"props":3182,"children":3183},{"style":1134},[3184],{"type":58,"value":2244},{"type":45,"tag":1096,"props":3186,"children":3187},{"style":1149},[3188],{"type":58,"value":1257},{"type":45,"tag":1096,"props":3190,"children":3191},{"style":1149},[3192],{"type":58,"value":1162},{"type":45,"tag":1096,"props":3194,"children":3195},{"style":1134},[3196],{"type":58,"value":3197},"$RESOURCE",{"type":45,"tag":1096,"props":3199,"children":3200},{"style":1118},[3201],{"type":58,"value":2262},{"type":45,"tag":1096,"props":3203,"children":3204},{"style":1149},[3205],{"type":58,"value":1271},{"type":45,"tag":1096,"props":3207,"children":3208},{"class":1098,"line":1169},[3209],{"type":45,"tag":1096,"props":3210,"children":3211},{"emptyLinePlaceholder":1231},[3212],{"type":58,"value":1234},{"type":45,"tag":1096,"props":3214,"children":3215},{"class":1098,"line":1195},[3216],{"type":45,"tag":1096,"props":3217,"children":3218},{"style":1103},[3219],{"type":58,"value":3220},"# 1. Discover — getDefinition (handles 200 sync and 202 + LRO via curl)\n",{"type":45,"tag":1096,"props":3222,"children":3223},{"class":1098,"line":1227},[3224,3229,3233,3237,3242,3247,3251,3255],{"type":45,"tag":1096,"props":3225,"children":3226},{"style":1134},[3227],{"type":58,"value":3228},"HDR",{"type":45,"tag":1096,"props":3230,"children":3231},{"style":1149},[3232],{"type":58,"value":2319},{"type":45,"tag":1096,"props":3234,"children":3235},{"style":1113},[3236],{"type":58,"value":2601},{"type":45,"tag":1096,"props":3238,"children":3239},{"style":1149},[3240],{"type":58,"value":3241},");",{"type":45,"tag":1096,"props":3243,"children":3244},{"style":1134},[3245],{"type":58,"value":3246}," BODY",{"type":45,"tag":1096,"props":3248,"children":3249},{"style":1149},[3250],{"type":58,"value":2319},{"type":45,"tag":1096,"props":3252,"children":3253},{"style":1113},[3254],{"type":58,"value":2601},{"type":45,"tag":1096,"props":3256,"children":3257},{"style":1149},[3258],{"type":58,"value":2424},{"type":45,"tag":1096,"props":3260,"children":3261},{"class":1098,"line":1237},[3262,3267,3271,3275,3280,3285,3290,3295,3299,3304,3309,3313,3317,3321,3326,3330],{"type":45,"tag":1096,"props":3263,"children":3264},{"style":1134},[3265],{"type":58,"value":3266},"CODE",{"type":45,"tag":1096,"props":3268,"children":3269},{"style":1149},[3270],{"type":58,"value":2319},{"type":45,"tag":1096,"props":3272,"children":3273},{"style":1113},[3274],{"type":58,"value":246},{"type":45,"tag":1096,"props":3276,"children":3277},{"style":1118},[3278],{"type":58,"value":3279}," -sS",{"type":45,"tag":1096,"props":3281,"children":3282},{"style":1118},[3283],{"type":58,"value":3284}," -X",{"type":45,"tag":1096,"props":3286,"children":3287},{"style":1118},[3288],{"type":58,"value":3289}," POST",{"type":45,"tag":1096,"props":3291,"children":3292},{"style":1118},[3293],{"type":58,"value":3294}," -H",{"type":45,"tag":1096,"props":3296,"children":3297},{"style":1149},[3298],{"type":58,"value":1152},{"type":45,"tag":1096,"props":3300,"children":3301},{"style":1118},[3302],{"type":58,"value":3303},"Authorization: Bearer ",{"type":45,"tag":1096,"props":3305,"children":3306},{"style":1134},[3307],{"type":58,"value":3308},"$TOKEN",{"type":45,"tag":1096,"props":3310,"children":3311},{"style":1149},[3312],{"type":58,"value":1162},{"type":45,"tag":1096,"props":3314,"children":3315},{"style":1118},[3316],{"type":58,"value":3294},{"type":45,"tag":1096,"props":3318,"children":3319},{"style":1149},[3320],{"type":58,"value":1152},{"type":45,"tag":1096,"props":3322,"children":3323},{"style":1118},[3324],{"type":58,"value":3325},"Content-Length: 0",{"type":45,"tag":1096,"props":3327,"children":3328},{"style":1149},[3329],{"type":58,"value":1162},{"type":45,"tag":1096,"props":3331,"children":3332},{"style":1134},[3333],{"type":58,"value":1137},{"type":45,"tag":1096,"props":3335,"children":3336},{"class":1098,"line":1246},[3337,3342,3346,3350,3354,3359,3364,3369,3373],{"type":45,"tag":1096,"props":3338,"children":3339},{"style":1149},[3340],{"type":58,"value":3341},"  \"",{"type":45,"tag":1096,"props":3343,"children":3344},{"style":1134},[3345],{"type":58,"value":2366},{"type":45,"tag":1096,"props":3347,"children":3348},{"style":1118},[3349],{"type":58,"value":2743},{"type":45,"tag":1096,"props":3351,"children":3352},{"style":1134},[3353],{"type":58,"value":1341},{"type":45,"tag":1096,"props":3355,"children":3356},{"style":1118},[3357],{"type":58,"value":3358},"\u002Fdataflows\u002F",{"type":45,"tag":1096,"props":3360,"children":3361},{"style":1134},[3362],{"type":58,"value":3363},"$DF_ID",{"type":45,"tag":1096,"props":3365,"children":3366},{"style":1118},[3367],{"type":58,"value":3368},"\u002FgetDefinition",{"type":45,"tag":1096,"props":3370,"children":3371},{"style":1149},[3372],{"type":58,"value":1162},{"type":45,"tag":1096,"props":3374,"children":3375},{"style":1134},[3376],{"type":58,"value":1137},{"type":45,"tag":1096,"props":3378,"children":3379},{"class":1098,"line":1274},[3380,3385,3389,3394,3398,3402,3406,3411,3415,3420,3424,3429,3433],{"type":45,"tag":1096,"props":3381,"children":3382},{"style":1118},[3383],{"type":58,"value":3384},"  -D",{"type":45,"tag":1096,"props":3386,"children":3387},{"style":1149},[3388],{"type":58,"value":1152},{"type":45,"tag":1096,"props":3390,"children":3391},{"style":1134},[3392],{"type":58,"value":3393},"$HDR",{"type":45,"tag":1096,"props":3395,"children":3396},{"style":1149},[3397],{"type":58,"value":1162},{"type":45,"tag":1096,"props":3399,"children":3400},{"style":1118},[3401],{"type":58,"value":2414},{"type":45,"tag":1096,"props":3403,"children":3404},{"style":1149},[3405],{"type":58,"value":1152},{"type":45,"tag":1096,"props":3407,"children":3408},{"style":1134},[3409],{"type":58,"value":3410},"$BODY",{"type":45,"tag":1096,"props":3412,"children":3413},{"style":1149},[3414],{"type":58,"value":1162},{"type":45,"tag":1096,"props":3416,"children":3417},{"style":1118},[3418],{"type":58,"value":3419}," -w",{"type":45,"tag":1096,"props":3421,"children":3422},{"style":1149},[3423],{"type":58,"value":1152},{"type":45,"tag":1096,"props":3425,"children":3426},{"style":1118},[3427],{"type":58,"value":3428},"%{http_code}",{"type":45,"tag":1096,"props":3430,"children":3431},{"style":1149},[3432],{"type":58,"value":1162},{"type":45,"tag":1096,"props":3434,"children":3435},{"style":1149},[3436],{"type":58,"value":2424},{"type":45,"tag":1096,"props":3438,"children":3439},{"class":1098,"line":1298},[3440,3446,3451,3455,3460,3464,3469,3473,3478,3482,3487],{"type":45,"tag":1096,"props":3441,"children":3443},{"style":3442},"--shiki-light:#39ADB5;--shiki-light-font-style:italic;--shiki-default:#89DDFF;--shiki-default-font-style:italic;--shiki-dark:#89DDFF;--shiki-dark-font-style:italic",[3444],{"type":58,"value":3445},"if",{"type":45,"tag":1096,"props":3447,"children":3448},{"style":1149},[3449],{"type":58,"value":3450}," [",{"type":45,"tag":1096,"props":3452,"children":3453},{"style":1149},[3454],{"type":58,"value":1152},{"type":45,"tag":1096,"props":3456,"children":3457},{"style":1134},[3458],{"type":58,"value":3459},"$CODE",{"type":45,"tag":1096,"props":3461,"children":3462},{"style":1149},[3463],{"type":58,"value":1162},{"type":45,"tag":1096,"props":3465,"children":3466},{"style":1149},[3467],{"type":58,"value":3468}," =",{"type":45,"tag":1096,"props":3470,"children":3471},{"style":1149},[3472],{"type":58,"value":1152},{"type":45,"tag":1096,"props":3474,"children":3475},{"style":1118},[3476],{"type":58,"value":3477},"202",{"type":45,"tag":1096,"props":3479,"children":3480},{"style":1149},[3481],{"type":58,"value":1162},{"type":45,"tag":1096,"props":3483,"children":3484},{"style":1149},[3485],{"type":58,"value":3486}," ];",{"type":45,"tag":1096,"props":3488,"children":3489},{"style":3442},[3490],{"type":58,"value":3491}," then\n",{"type":45,"tag":1096,"props":3493,"children":3494},{"class":1098,"line":1322},[3495,3500,3504,3508,3513,3517,3522,3526,3531,3535,3539,3543,3548,3553,3558,3562,3567,3571,3575,3580,3584,3589,3593],{"type":45,"tag":1096,"props":3496,"children":3497},{"style":1134},[3498],{"type":58,"value":3499},"  LOC",{"type":45,"tag":1096,"props":3501,"children":3502},{"style":1149},[3503],{"type":58,"value":2319},{"type":45,"tag":1096,"props":3505,"children":3506},{"style":1113},[3507],{"type":58,"value":184},{"type":45,"tag":1096,"props":3509,"children":3510},{"style":1118},[3511],{"type":58,"value":3512}," -d",{"type":45,"tag":1096,"props":3514,"children":3515},{"style":1149},[3516],{"type":58,"value":2645},{"type":45,"tag":1096,"props":3518,"children":3519},{"style":1118},[3520],{"type":58,"value":3521},"\\r",{"type":45,"tag":1096,"props":3523,"children":3524},{"style":1149},[3525],{"type":58,"value":2655},{"type":45,"tag":1096,"props":3527,"children":3528},{"style":1149},[3529],{"type":58,"value":3530}," \u003C",{"type":45,"tag":1096,"props":3532,"children":3533},{"style":1149},[3534],{"type":58,"value":1152},{"type":45,"tag":1096,"props":3536,"children":3537},{"style":1134},[3538],{"type":58,"value":3393},{"type":45,"tag":1096,"props":3540,"children":3541},{"style":1149},[3542],{"type":58,"value":1162},{"type":45,"tag":1096,"props":3544,"children":3545},{"style":1149},[3546],{"type":58,"value":3547}," |",{"type":45,"tag":1096,"props":3549,"children":3550},{"style":1113},[3551],{"type":58,"value":3552}," grep",{"type":45,"tag":1096,"props":3554,"children":3555},{"style":1118},[3556],{"type":58,"value":3557}," -i",{"type":45,"tag":1096,"props":3559,"children":3560},{"style":1149},[3561],{"type":58,"value":1152},{"type":45,"tag":1096,"props":3563,"children":3564},{"style":1118},[3565],{"type":58,"value":3566},"^location:",{"type":45,"tag":1096,"props":3568,"children":3569},{"style":1149},[3570],{"type":58,"value":1162},{"type":45,"tag":1096,"props":3572,"children":3573},{"style":1149},[3574],{"type":58,"value":3547},{"type":45,"tag":1096,"props":3576,"children":3577},{"style":1113},[3578],{"type":58,"value":3579}," awk",{"type":45,"tag":1096,"props":3581,"children":3582},{"style":1149},[3583],{"type":58,"value":2645},{"type":45,"tag":1096,"props":3585,"children":3586},{"style":1118},[3587],{"type":58,"value":3588},"{print $2}",{"type":45,"tag":1096,"props":3590,"children":3591},{"style":1149},[3592],{"type":58,"value":2655},{"type":45,"tag":1096,"props":3594,"children":3595},{"style":1149},[3596],{"type":58,"value":2424},{"type":45,"tag":1096,"props":3598,"children":3599},{"class":1098,"line":1357},[3600,3605,3609,3613,3617,3621,3625,3629,3633,3637,3641,3645,3649,3653,3657,3661,3666,3670,3674,3678,3682,3686,3690,3694,3699,3704,3709,3714,3719],{"type":45,"tag":1096,"props":3601,"children":3602},{"style":1134},[3603],{"type":58,"value":3604},"  RETRY",{"type":45,"tag":1096,"props":3606,"children":3607},{"style":1149},[3608],{"type":58,"value":2319},{"type":45,"tag":1096,"props":3610,"children":3611},{"style":1113},[3612],{"type":58,"value":184},{"type":45,"tag":1096,"props":3614,"children":3615},{"style":1118},[3616],{"type":58,"value":3512},{"type":45,"tag":1096,"props":3618,"children":3619},{"style":1149},[3620],{"type":58,"value":2645},{"type":45,"tag":1096,"props":3622,"children":3623},{"style":1118},[3624],{"type":58,"value":3521},{"type":45,"tag":1096,"props":3626,"children":3627},{"style":1149},[3628],{"type":58,"value":2655},{"type":45,"tag":1096,"props":3630,"children":3631},{"style":1149},[3632],{"type":58,"value":3530},{"type":45,"tag":1096,"props":3634,"children":3635},{"style":1149},[3636],{"type":58,"value":1152},{"type":45,"tag":1096,"props":3638,"children":3639},{"style":1134},[3640],{"type":58,"value":3393},{"type":45,"tag":1096,"props":3642,"children":3643},{"style":1149},[3644],{"type":58,"value":1162},{"type":45,"tag":1096,"props":3646,"children":3647},{"style":1149},[3648],{"type":58,"value":3547},{"type":45,"tag":1096,"props":3650,"children":3651},{"style":1113},[3652],{"type":58,"value":3552},{"type":45,"tag":1096,"props":3654,"children":3655},{"style":1118},[3656],{"type":58,"value":3557},{"type":45,"tag":1096,"props":3658,"children":3659},{"style":1149},[3660],{"type":58,"value":1152},{"type":45,"tag":1096,"props":3662,"children":3663},{"style":1118},[3664],{"type":58,"value":3665},"^retry-after:",{"type":45,"tag":1096,"props":3667,"children":3668},{"style":1149},[3669],{"type":58,"value":1162},{"type":45,"tag":1096,"props":3671,"children":3672},{"style":1149},[3673],{"type":58,"value":3547},{"type":45,"tag":1096,"props":3675,"children":3676},{"style":1113},[3677],{"type":58,"value":3579},{"type":45,"tag":1096,"props":3679,"children":3680},{"style":1149},[3681],{"type":58,"value":2645},{"type":45,"tag":1096,"props":3683,"children":3684},{"style":1118},[3685],{"type":58,"value":3588},{"type":45,"tag":1096,"props":3687,"children":3688},{"style":1149},[3689],{"type":58,"value":2655},{"type":45,"tag":1096,"props":3691,"children":3692},{"style":1149},[3693],{"type":58,"value":3241},{"type":45,"tag":1096,"props":3695,"children":3696},{"style":1134},[3697],{"type":58,"value":3698}," RETRY",{"type":45,"tag":1096,"props":3700,"children":3701},{"style":1149},[3702],{"type":58,"value":3703},"=${",{"type":45,"tag":1096,"props":3705,"children":3706},{"style":1134},[3707],{"type":58,"value":3708},"RETRY",{"type":45,"tag":1096,"props":3710,"children":3711},{"style":1149},[3712],{"type":58,"value":3713},":-",{"type":45,"tag":1096,"props":3715,"children":3716},{"style":1134},[3717],{"type":58,"value":3718},"5",{"type":45,"tag":1096,"props":3720,"children":3721},{"style":1149},[3722],{"type":58,"value":3723},"}\n",{"type":45,"tag":1096,"props":3725,"children":3726},{"class":1098,"line":2442},[3727,3732,3737,3741],{"type":45,"tag":1096,"props":3728,"children":3729},{"style":3442},[3730],{"type":58,"value":3731},"  while",{"type":45,"tag":1096,"props":3733,"children":3734},{"style":2637},[3735],{"type":58,"value":3736}," :",{"type":45,"tag":1096,"props":3738,"children":3739},{"style":1149},[3740],{"type":58,"value":2189},{"type":45,"tag":1096,"props":3742,"children":3743},{"style":3442},[3744],{"type":58,"value":3745}," do\n",{"type":45,"tag":1096,"props":3747,"children":3748},{"class":1098,"line":2451},[3749,3754,3758,3763],{"type":45,"tag":1096,"props":3750,"children":3751},{"style":1113},[3752],{"type":58,"value":3753},"    sleep",{"type":45,"tag":1096,"props":3755,"children":3756},{"style":1149},[3757],{"type":58,"value":1152},{"type":45,"tag":1096,"props":3759,"children":3760},{"style":1134},[3761],{"type":58,"value":3762},"$RETRY",{"type":45,"tag":1096,"props":3764,"children":3765},{"style":1149},[3766],{"type":58,"value":1271},{"type":45,"tag":1096,"props":3768,"children":3769},{"class":1098,"line":2501},[3770,3775,3779,3783,3787,3791,3795,3799,3803,3807,3811,3815,3819,3824,3828],{"type":45,"tag":1096,"props":3771,"children":3772},{"style":1134},[3773],{"type":58,"value":3774},"    OP",{"type":45,"tag":1096,"props":3776,"children":3777},{"style":1149},[3778],{"type":58,"value":2319},{"type":45,"tag":1096,"props":3780,"children":3781},{"style":1113},[3782],{"type":58,"value":224},{"type":45,"tag":1096,"props":3784,"children":3785},{"style":1118},[3786],{"type":58,"value":1121},{"type":45,"tag":1096,"props":3788,"children":3789},{"style":1118},[3790],{"type":58,"value":1126},{"type":45,"tag":1096,"props":3792,"children":3793},{"style":1118},[3794],{"type":58,"value":1131},{"type":45,"tag":1096,"props":3796,"children":3797},{"style":1118},[3798],{"type":58,"value":2340},{"type":45,"tag":1096,"props":3800,"children":3801},{"style":1149},[3802],{"type":58,"value":1152},{"type":45,"tag":1096,"props":3804,"children":3805},{"style":1134},[3806],{"type":58,"value":3197},{"type":45,"tag":1096,"props":3808,"children":3809},{"style":1149},[3810],{"type":58,"value":1162},{"type":45,"tag":1096,"props":3812,"children":3813},{"style":1118},[3814],{"type":58,"value":2357},{"type":45,"tag":1096,"props":3816,"children":3817},{"style":1149},[3818],{"type":58,"value":1152},{"type":45,"tag":1096,"props":3820,"children":3821},{"style":1134},[3822],{"type":58,"value":3823},"$LOC",{"type":45,"tag":1096,"props":3825,"children":3826},{"style":1149},[3827],{"type":58,"value":1162},{"type":45,"tag":1096,"props":3829,"children":3830},{"style":1149},[3831],{"type":58,"value":2424},{"type":45,"tag":1096,"props":3833,"children":3834},{"class":1098,"line":2526},[3835,3840,3845,3850,3854,3859,3863,3867,3872,3877,3881,3886,3891],{"type":45,"tag":1096,"props":3836,"children":3837},{"style":3442},[3838],{"type":58,"value":3839},"    case",{"type":45,"tag":1096,"props":3841,"children":3842},{"style":1149},[3843],{"type":58,"value":3844}," \"$(",{"type":45,"tag":1096,"props":3846,"children":3847},{"style":2637},[3848],{"type":58,"value":3849},"echo",{"type":45,"tag":1096,"props":3851,"children":3852},{"style":1149},[3853],{"type":58,"value":1152},{"type":45,"tag":1096,"props":3855,"children":3856},{"style":1134},[3857],{"type":58,"value":3858},"$OP",{"type":45,"tag":1096,"props":3860,"children":3861},{"style":1149},[3862],{"type":58,"value":1162},{"type":45,"tag":1096,"props":3864,"children":3865},{"style":1149},[3866],{"type":58,"value":3547},{"type":45,"tag":1096,"props":3868,"children":3869},{"style":1113},[3870],{"type":58,"value":3871}," jq",{"type":45,"tag":1096,"props":3873,"children":3874},{"style":1118},[3875],{"type":58,"value":3876}," -r ",{"type":45,"tag":1096,"props":3878,"children":3879},{"style":1149},[3880],{"type":58,"value":2655},{"type":45,"tag":1096,"props":3882,"children":3883},{"style":1118},[3884],{"type":58,"value":3885},".status \u002F\u002F empty",{"type":45,"tag":1096,"props":3887,"children":3888},{"style":1149},[3889],{"type":58,"value":3890},"')\"",{"type":45,"tag":1096,"props":3892,"children":3893},{"style":3442},[3894],{"type":58,"value":3895}," in\n",{"type":45,"tag":1096,"props":3897,"children":3898},{"class":1098,"line":2569},[3899,3904,3908,3913,3917,3921,3925,3929,3933,3937,3941,3945,3949,3953,3958,3963,3968,3973,3977,3981,3986],{"type":45,"tag":1096,"props":3900,"children":3901},{"style":1118},[3902],{"type":58,"value":3903},"      Succeeded",{"type":45,"tag":1096,"props":3905,"children":3906},{"style":1149},[3907],{"type":58,"value":174},{"type":45,"tag":1096,"props":3909,"children":3910},{"style":1134},[3911],{"type":58,"value":3912}," RESULT",{"type":45,"tag":1096,"props":3914,"children":3915},{"style":1149},[3916],{"type":58,"value":2319},{"type":45,"tag":1096,"props":3918,"children":3919},{"style":1113},[3920],{"type":58,"value":224},{"type":45,"tag":1096,"props":3922,"children":3923},{"style":1118},[3924],{"type":58,"value":1121},{"type":45,"tag":1096,"props":3926,"children":3927},{"style":1118},[3928],{"type":58,"value":1126},{"type":45,"tag":1096,"props":3930,"children":3931},{"style":1118},[3932],{"type":58,"value":1131},{"type":45,"tag":1096,"props":3934,"children":3935},{"style":1118},[3936],{"type":58,"value":2340},{"type":45,"tag":1096,"props":3938,"children":3939},{"style":1149},[3940],{"type":58,"value":1152},{"type":45,"tag":1096,"props":3942,"children":3943},{"style":1134},[3944],{"type":58,"value":3197},{"type":45,"tag":1096,"props":3946,"children":3947},{"style":1149},[3948],{"type":58,"value":1162},{"type":45,"tag":1096,"props":3950,"children":3951},{"style":1118},[3952],{"type":58,"value":2357},{"type":45,"tag":1096,"props":3954,"children":3955},{"style":1149},[3956],{"type":58,"value":3957}," \"${",{"type":45,"tag":1096,"props":3959,"children":3960},{"style":1134},[3961],{"type":58,"value":3962},"LOC",{"type":45,"tag":1096,"props":3964,"children":3965},{"style":1149},[3966],{"type":58,"value":3967},"%\u002F}",{"type":45,"tag":1096,"props":3969,"children":3970},{"style":1118},[3971],{"type":58,"value":3972},"\u002Fresult",{"type":45,"tag":1096,"props":3974,"children":3975},{"style":1149},[3976],{"type":58,"value":1162},{"type":45,"tag":1096,"props":3978,"children":3979},{"style":1149},[3980],{"type":58,"value":3241},{"type":45,"tag":1096,"props":3982,"children":3983},{"style":3442},[3984],{"type":58,"value":3985}," break",{"type":45,"tag":1096,"props":3987,"children":3988},{"style":1149},[3989],{"type":58,"value":3990}," ;;\n",{"type":45,"tag":1096,"props":3992,"children":3993},{"class":1098,"line":2577},[3994,3999,4004,4008,4012,4017,4021,4026,4031,4035,4039,4043,4047,4051,4055,4059,4063,4068,4072,4077,4082,4088],{"type":45,"tag":1096,"props":3995,"children":3996},{"style":1118},[3997],{"type":58,"value":3998},"      Failed",{"type":45,"tag":1096,"props":4000,"children":4001},{"style":1149},[4002],{"type":58,"value":4003},"|",{"type":45,"tag":1096,"props":4005,"children":4006},{"style":1118},[4007],{"type":58,"value":2130},{"type":45,"tag":1096,"props":4009,"children":4010},{"style":1149},[4011],{"type":58,"value":174},{"type":45,"tag":1096,"props":4013,"children":4014},{"style":2637},[4015],{"type":58,"value":4016}," echo",{"type":45,"tag":1096,"props":4018,"children":4019},{"style":1149},[4020],{"type":58,"value":1152},{"type":45,"tag":1096,"props":4022,"children":4023},{"style":1118},[4024],{"type":58,"value":4025},"ERROR: getDefinition ",{"type":45,"tag":1096,"props":4027,"children":4028},{"style":1149},[4029],{"type":58,"value":4030},"$(",{"type":45,"tag":1096,"props":4032,"children":4033},{"style":2637},[4034],{"type":58,"value":3849},{"type":45,"tag":1096,"props":4036,"children":4037},{"style":1149},[4038],{"type":58,"value":1152},{"type":45,"tag":1096,"props":4040,"children":4041},{"style":1134},[4042],{"type":58,"value":3858},{"type":45,"tag":1096,"props":4044,"children":4045},{"style":1149},[4046],{"type":58,"value":1162},{"type":45,"tag":1096,"props":4048,"children":4049},{"style":1149},[4050],{"type":58,"value":3547},{"type":45,"tag":1096,"props":4052,"children":4053},{"style":1113},[4054],{"type":58,"value":3871},{"type":45,"tag":1096,"props":4056,"children":4057},{"style":1118},[4058],{"type":58,"value":3876},{"type":45,"tag":1096,"props":4060,"children":4061},{"style":1149},[4062],{"type":58,"value":2655},{"type":45,"tag":1096,"props":4064,"children":4065},{"style":1118},[4066],{"type":58,"value":4067},".status",{"type":45,"tag":1096,"props":4069,"children":4070},{"style":1149},[4071],{"type":58,"value":3890},{"type":45,"tag":1096,"props":4073,"children":4074},{"style":1149},[4075],{"type":58,"value":4076}," >&2;",{"type":45,"tag":1096,"props":4078,"children":4079},{"style":2637},[4080],{"type":58,"value":4081}," exit",{"type":45,"tag":1096,"props":4083,"children":4085},{"style":4084},"--shiki-light:#F76D47;--shiki-default:#F78C6C;--shiki-dark:#F78C6C",[4086],{"type":58,"value":4087}," 1",{"type":45,"tag":1096,"props":4089,"children":4090},{"style":1149},[4091],{"type":58,"value":3990},{"type":45,"tag":1096,"props":4093,"children":4094},{"class":1098,"line":2586},[4095],{"type":45,"tag":1096,"props":4096,"children":4097},{"style":3442},[4098],{"type":58,"value":4099},"    esac\n",{"type":45,"tag":1096,"props":4101,"children":4102},{"class":1098,"line":2633},[4103],{"type":45,"tag":1096,"props":4104,"children":4105},{"style":3442},[4106],{"type":58,"value":4107},"  done\n",{"type":45,"tag":1096,"props":4109,"children":4110},{"class":1098,"line":2676},[4111],{"type":45,"tag":1096,"props":4112,"children":4113},{"style":3442},[4114],{"type":58,"value":4115},"else\n",{"type":45,"tag":1096,"props":4117,"children":4118},{"class":1098,"line":2725},[4119,4124,4128,4133,4137,4141,4145],{"type":45,"tag":1096,"props":4120,"children":4121},{"style":1134},[4122],{"type":58,"value":4123},"  RESULT",{"type":45,"tag":1096,"props":4125,"children":4126},{"style":1149},[4127],{"type":58,"value":2319},{"type":45,"tag":1096,"props":4129,"children":4130},{"style":1113},[4131],{"type":58,"value":4132},"cat",{"type":45,"tag":1096,"props":4134,"children":4135},{"style":1149},[4136],{"type":58,"value":1152},{"type":45,"tag":1096,"props":4138,"children":4139},{"style":1134},[4140],{"type":58,"value":3410},{"type":45,"tag":1096,"props":4142,"children":4143},{"style":1149},[4144],{"type":58,"value":1162},{"type":45,"tag":1096,"props":4146,"children":4147},{"style":1149},[4148],{"type":58,"value":2424},{"type":45,"tag":1096,"props":4150,"children":4151},{"class":1098,"line":2762},[4152],{"type":45,"tag":1096,"props":4153,"children":4154},{"style":3442},[4155],{"type":58,"value":4156},"fi\n",{"type":45,"tag":1096,"props":4158,"children":4159},{"class":1098,"line":2788},[4160,4164,4168,4172,4176,4180,4184,4188],{"type":45,"tag":1096,"props":4161,"children":4162},{"style":1113},[4163],{"type":58,"value":2842},{"type":45,"tag":1096,"props":4165,"children":4166},{"style":1118},[4167],{"type":58,"value":2847},{"type":45,"tag":1096,"props":4169,"children":4170},{"style":1149},[4171],{"type":58,"value":1152},{"type":45,"tag":1096,"props":4173,"children":4174},{"style":1134},[4175],{"type":58,"value":3393},{"type":45,"tag":1096,"props":4177,"children":4178},{"style":1149},[4179],{"type":58,"value":1162},{"type":45,"tag":1096,"props":4181,"children":4182},{"style":1149},[4183],{"type":58,"value":1152},{"type":45,"tag":1096,"props":4185,"children":4186},{"style":1134},[4187],{"type":58,"value":3410},{"type":45,"tag":1096,"props":4189,"children":4190},{"style":1149},[4191],{"type":58,"value":1271},{"type":45,"tag":1096,"props":4193,"children":4194},{"class":1098,"line":2836},[4195],{"type":45,"tag":1096,"props":4196,"children":4197},{"emptyLinePlaceholder":1231},[4198],{"type":58,"value":1234},{"type":45,"tag":1096,"props":4200,"children":4201},{"class":1098,"line":2862},[4202],{"type":45,"tag":1096,"props":4203,"children":4204},{"style":1103},[4205],{"type":58,"value":4206},"# Validate bound connections (connectionId is a composite JSON string — iterate safely)\n",{"type":45,"tag":1096,"props":4208,"children":4209},{"class":1098,"line":2870},[4210,4215,4219,4223,4227,4232,4236,4240,4244,4249,4253,4258,4262,4266,4271,4275],{"type":45,"tag":1096,"props":4211,"children":4212},{"style":1134},[4213],{"type":58,"value":4214},"QUERY_META",{"type":45,"tag":1096,"props":4216,"children":4217},{"style":1149},[4218],{"type":58,"value":2319},{"type":45,"tag":1096,"props":4220,"children":4221},{"style":2637},[4222],{"type":58,"value":3849},{"type":45,"tag":1096,"props":4224,"children":4225},{"style":1149},[4226],{"type":58,"value":1152},{"type":45,"tag":1096,"props":4228,"children":4229},{"style":1134},[4230],{"type":58,"value":4231},"$RESULT",{"type":45,"tag":1096,"props":4233,"children":4234},{"style":1149},[4235],{"type":58,"value":1162},{"type":45,"tag":1096,"props":4237,"children":4238},{"style":1149},[4239],{"type":58,"value":3547},{"type":45,"tag":1096,"props":4241,"children":4242},{"style":1113},[4243],{"type":58,"value":3871},{"type":45,"tag":1096,"props":4245,"children":4246},{"style":1118},[4247],{"type":58,"value":4248}," -r",{"type":45,"tag":1096,"props":4250,"children":4251},{"style":1149},[4252],{"type":58,"value":2645},{"type":45,"tag":1096,"props":4254,"children":4255},{"style":1118},[4256],{"type":58,"value":4257},".definition.parts[] | select(.path==\"queryMetadata.json\") | .payload",{"type":45,"tag":1096,"props":4259,"children":4260},{"style":1149},[4261],{"type":58,"value":2655},{"type":45,"tag":1096,"props":4263,"children":4264},{"style":1149},[4265],{"type":58,"value":3547},{"type":45,"tag":1096,"props":4267,"children":4268},{"style":1113},[4269],{"type":58,"value":4270}," base64",{"type":45,"tag":1096,"props":4272,"children":4273},{"style":1118},[4274],{"type":58,"value":3512},{"type":45,"tag":1096,"props":4276,"children":4277},{"style":1149},[4278],{"type":58,"value":2424},{"type":45,"tag":1096,"props":4280,"children":4281},{"class":1098,"line":2879},[4282,4286,4290,4295,4299,4303,4307,4312,4316,4321,4325,4329,4334,4339,4343,4348,4352,4357,4361],{"type":45,"tag":1096,"props":4283,"children":4284},{"style":2637},[4285],{"type":58,"value":3849},{"type":45,"tag":1096,"props":4287,"children":4288},{"style":1149},[4289],{"type":58,"value":1152},{"type":45,"tag":1096,"props":4291,"children":4292},{"style":1134},[4293],{"type":58,"value":4294},"$QUERY_META",{"type":45,"tag":1096,"props":4296,"children":4297},{"style":1149},[4298],{"type":58,"value":1162},{"type":45,"tag":1096,"props":4300,"children":4301},{"style":1149},[4302],{"type":58,"value":3547},{"type":45,"tag":1096,"props":4304,"children":4305},{"style":1113},[4306],{"type":58,"value":3871},{"type":45,"tag":1096,"props":4308,"children":4309},{"style":1118},[4310],{"type":58,"value":4311}," -c",{"type":45,"tag":1096,"props":4313,"children":4314},{"style":1149},[4315],{"type":58,"value":2645},{"type":45,"tag":1096,"props":4317,"children":4318},{"style":1118},[4319],{"type":58,"value":4320},".connections[]?",{"type":45,"tag":1096,"props":4322,"children":4323},{"style":1149},[4324],{"type":58,"value":2655},{"type":45,"tag":1096,"props":4326,"children":4327},{"style":1149},[4328],{"type":58,"value":3547},{"type":45,"tag":1096,"props":4330,"children":4331},{"style":3442},[4332],{"type":58,"value":4333}," while",{"type":45,"tag":1096,"props":4335,"children":4336},{"style":1134},[4337],{"type":58,"value":4338}," IFS",{"type":45,"tag":1096,"props":4340,"children":4341},{"style":1149},[4342],{"type":58,"value":1257},{"type":45,"tag":1096,"props":4344,"children":4345},{"style":2637},[4346],{"type":58,"value":4347}," read",{"type":45,"tag":1096,"props":4349,"children":4350},{"style":1118},[4351],{"type":58,"value":4248},{"type":45,"tag":1096,"props":4353,"children":4354},{"style":1118},[4355],{"type":58,"value":4356}," conn",{"type":45,"tag":1096,"props":4358,"children":4359},{"style":1149},[4360],{"type":58,"value":2189},{"type":45,"tag":1096,"props":4362,"children":4363},{"style":3442},[4364],{"type":58,"value":3745},{"type":45,"tag":1096,"props":4366,"children":4367},{"class":1098,"line":2888},[4368,4373,4377,4381,4385,4390,4394,4398,4402,4406,4410,4415,4419],{"type":45,"tag":1096,"props":4369,"children":4370},{"style":1134},[4371],{"type":58,"value":4372},"  RAW",{"type":45,"tag":1096,"props":4374,"children":4375},{"style":1149},[4376],{"type":58,"value":2319},{"type":45,"tag":1096,"props":4378,"children":4379},{"style":2637},[4380],{"type":58,"value":3849},{"type":45,"tag":1096,"props":4382,"children":4383},{"style":1149},[4384],{"type":58,"value":1152},{"type":45,"tag":1096,"props":4386,"children":4387},{"style":1134},[4388],{"type":58,"value":4389},"$conn",{"type":45,"tag":1096,"props":4391,"children":4392},{"style":1149},[4393],{"type":58,"value":1162},{"type":45,"tag":1096,"props":4395,"children":4396},{"style":1149},[4397],{"type":58,"value":3547},{"type":45,"tag":1096,"props":4399,"children":4400},{"style":1113},[4401],{"type":58,"value":3871},{"type":45,"tag":1096,"props":4403,"children":4404},{"style":1118},[4405],{"type":58,"value":4248},{"type":45,"tag":1096,"props":4407,"children":4408},{"style":1149},[4409],{"type":58,"value":2645},{"type":45,"tag":1096,"props":4411,"children":4412},{"style":1118},[4413],{"type":58,"value":4414},".connectionId",{"type":45,"tag":1096,"props":4416,"children":4417},{"style":1149},[4418],{"type":58,"value":2655},{"type":45,"tag":1096,"props":4420,"children":4421},{"style":1149},[4422],{"type":58,"value":2424},{"type":45,"tag":1096,"props":4424,"children":4425},{"class":1098,"line":2897},[4426,4431,4435,4439,4443,4448,4452,4456,4460,4464,4468,4473,4477,4481,4485],{"type":45,"tag":1096,"props":4427,"children":4428},{"style":1134},[4429],{"type":58,"value":4430},"  DATASOURCE_ID",{"type":45,"tag":1096,"props":4432,"children":4433},{"style":1149},[4434],{"type":58,"value":2319},{"type":45,"tag":1096,"props":4436,"children":4437},{"style":2637},[4438],{"type":58,"value":3849},{"type":45,"tag":1096,"props":4440,"children":4441},{"style":1149},[4442],{"type":58,"value":1152},{"type":45,"tag":1096,"props":4444,"children":4445},{"style":1134},[4446],{"type":58,"value":4447},"$RAW",{"type":45,"tag":1096,"props":4449,"children":4450},{"style":1149},[4451],{"type":58,"value":1162},{"type":45,"tag":1096,"props":4453,"children":4454},{"style":1149},[4455],{"type":58,"value":3547},{"type":45,"tag":1096,"props":4457,"children":4458},{"style":1113},[4459],{"type":58,"value":3871},{"type":45,"tag":1096,"props":4461,"children":4462},{"style":1118},[4463],{"type":58,"value":4248},{"type":45,"tag":1096,"props":4465,"children":4466},{"style":1149},[4467],{"type":58,"value":2645},{"type":45,"tag":1096,"props":4469,"children":4470},{"style":1118},[4471],{"type":58,"value":4472},".DatasourceId? \u002F\u002F empty",{"type":45,"tag":1096,"props":4474,"children":4475},{"style":1149},[4476],{"type":58,"value":2655},{"type":45,"tag":1096,"props":4478,"children":4479},{"style":1149},[4480],{"type":58,"value":2611},{"type":45,"tag":1096,"props":4482,"children":4483},{"style":1118},[4484],{"type":58,"value":2616},{"type":45,"tag":1096,"props":4486,"children":4487},{"style":1149},[4488],{"type":58,"value":2424},{"type":45,"tag":1096,"props":4490,"children":4491},{"class":1098,"line":2906},[4492,4497,4502,4506,4511,4515,4520,4525,4530,4534,4538,4542],{"type":45,"tag":1096,"props":4493,"children":4494},{"style":1149},[4495],{"type":58,"value":4496},"  [",{"type":45,"tag":1096,"props":4498,"children":4499},{"style":1149},[4500],{"type":58,"value":4501}," -z",{"type":45,"tag":1096,"props":4503,"children":4504},{"style":1149},[4505],{"type":58,"value":1152},{"type":45,"tag":1096,"props":4507,"children":4508},{"style":1134},[4509],{"type":58,"value":4510},"$DATASOURCE_ID",{"type":45,"tag":1096,"props":4512,"children":4513},{"style":1149},[4514],{"type":58,"value":1162},{"type":45,"tag":1096,"props":4516,"children":4517},{"style":1149},[4518],{"type":58,"value":4519}," ]",{"type":45,"tag":1096,"props":4521,"children":4522},{"style":1149},[4523],{"type":58,"value":4524}," &&",{"type":45,"tag":1096,"props":4526,"children":4527},{"style":1134},[4528],{"type":58,"value":4529}," DATASOURCE_ID",{"type":45,"tag":1096,"props":4531,"children":4532},{"style":1149},[4533],{"type":58,"value":1257},{"type":45,"tag":1096,"props":4535,"children":4536},{"style":1149},[4537],{"type":58,"value":1162},{"type":45,"tag":1096,"props":4539,"children":4540},{"style":1134},[4541],{"type":58,"value":4447},{"type":45,"tag":1096,"props":4543,"children":4544},{"style":1149},[4545],{"type":58,"value":1271},{"type":45,"tag":1096,"props":4547,"children":4548},{"class":1098,"line":2914},[4549],{"type":45,"tag":1096,"props":4550,"children":4551},{"style":1103},[4552],{"type":58,"value":4553},"  # GET \u002Fv1\u002Fconnections\u002F$DATASOURCE_ID to confirm access\n",{"type":45,"tag":1096,"props":4555,"children":4556},{"class":1098,"line":2923},[4557],{"type":45,"tag":1096,"props":4558,"children":4559},{"style":3442},[4560],{"type":58,"value":4561},"done\n",{"type":45,"tag":1096,"props":4563,"children":4564},{"class":1098,"line":2932},[4565],{"type":45,"tag":1096,"props":4566,"children":4567},{"emptyLinePlaceholder":1231},[4568],{"type":58,"value":1234},{"type":45,"tag":1096,"props":4570,"children":4572},{"class":1098,"line":4571},35,[4573],{"type":45,"tag":1096,"props":4574,"children":4575},{"style":1103},[4576],{"type":58,"value":4577},"# 2-3. Formulate & Execute — see Example 3\n",{"type":45,"tag":1096,"props":4579,"children":4581},{"class":1098,"line":4580},36,[4582],{"type":45,"tag":1096,"props":4583,"children":4584},{"style":1103},[4585],{"type":58,"value":4586},"# 4. Verify — trigger refresh via curl (az rest cannot capture Location header).\n",{"type":45,"tag":1096,"props":4588,"children":4590},{"class":1098,"line":4589},37,[4591],{"type":45,"tag":1096,"props":4592,"children":4593},{"style":1103},[4594],{"type":58,"value":4595},"#    Full LRO polling: references\u002Fauthoring-script-templates.md.\n",{"type":45,"tag":1067,"props":4597,"children":4599},{"id":4598},"c-preview-driven-authoring-loop-pre-save-executequery-see-mashup-previewmd",[4600,4602,4607],{"type":58,"value":4601},"C. Preview-Driven Authoring Loop (pre-save executeQuery — see ",{"type":45,"tag":210,"props":4603,"children":4605},{"href":4604},"references\u002Fmashup-preview.md#preview-driven-authoring-loop",[4606],{"type":58,"value":584},{"type":58,"value":174},{"type":45,"tag":50,"props":4609,"children":4610},{},[4611,4613,4618,4620,4624,4626,4631],{"type":58,"value":4612},"When the change touches Power Query M (new query, edited mashup, new source, changed parameters), preview the candidate ",{"type":45,"tag":85,"props":4614,"children":4616},{"className":4615},[],[4617],{"type":58,"value":807},{"type":58,"value":4619}," against the dataflow's bound connections ",{"type":45,"tag":54,"props":4621,"children":4622},{},[4623],{"type":58,"value":2008},{"type":58,"value":4625}," persisting. Catches syntax, schema, and credential errors at authoring time. Full ordered steps, bootstrap branch, auto-wrap rule, hard-avoid for unbounded preview, ASCII chart preview, and Apache Arrow handling: ",{"type":45,"tag":210,"props":4627,"children":4628},{"href":4604},[4629],{"type":58,"value":4630},"mashup-preview.md § Preview-Driven Authoring Loop",{"type":58,"value":1057},{"type":45,"tag":46,"props":4633,"children":4634},{},[4635],{"type":45,"tag":50,"props":4636,"children":4637},{},[4638,4643,4645,4650,4652,4657,4659,4664,4666,4671,4672,4677,4679,4688,4689,4694],{"type":45,"tag":54,"props":4639,"children":4640},{},[4641],{"type":58,"value":4642},"Intent split.",{"type":58,"value":4644}," This workflow is for the ",{"type":45,"tag":1983,"props":4646,"children":4647},{},[4648],{"type":58,"value":4649},"pre-save",{"type":58,"value":4651}," intent. To execute a ",{"type":45,"tag":54,"props":4653,"children":4654},{},[4655],{"type":58,"value":4656},"saved",{"type":58,"value":4658}," query (",{"type":45,"tag":85,"props":4660,"children":4662},{"className":4661},[],[4663],{"type":58,"value":1969},{"type":58,"value":4665}," only) or run an ",{"type":45,"tag":54,"props":4667,"children":4668},{},[4669],{"type":58,"value":4670},"ad-hoc read-only",{"type":58,"value":1700},{"type":45,"tag":85,"props":4673,"children":4675},{"className":4674},[],[4676],{"type":58,"value":807},{"type":58,"value":4678}," with no intent to persist, use ",{"type":45,"tag":210,"props":4680,"children":4682},{"href":4681},"..\u002Fdataflows-consumption-cli\u002FSKILL.md#query-evaluation",[4683],{"type":45,"tag":85,"props":4684,"children":4686},{"className":4685},[],[4687],{"type":58,"value":796},{"type":58,"value":2087},{"type":45,"tag":85,"props":4690,"children":4692},{"className":4691},[],[4693],{"type":58,"value":584},{"type":58,"value":4695}," is the shared API reference for both intents.",{"type":45,"tag":50,"props":4697,"children":4698},{},[4699,4701,4706],{"type":58,"value":4700},"Skip the preview only for metadata-only edits (display name, schedule, ",{"type":45,"tag":85,"props":4702,"children":4704},{"className":4703},[],[4705],{"type":58,"value":626},{"type":58,"value":4707}," toggle) or when the agent records an explicit skip reason (bootstrap, prohibitive cost, side-effecting source).",{"type":45,"tag":1067,"props":4709,"children":4711},{"id":4710},"d-output-destination",[4712],{"type":58,"value":1577},{"type":45,"tag":50,"props":4714,"children":4715},{},[4716,4718,4723,4725,4730,4732,4736],{"type":58,"value":4717},"Use this when the dataflow should ",{"type":45,"tag":54,"props":4719,"children":4720},{},[4721],{"type":58,"value":4722},"write query results to an external store",{"type":58,"value":4724}," (Lakehouse table, Lakehouse files, Warehouse, ADX, Azure SQL). Extends Workflow A with ",{"type":45,"tag":85,"props":4726,"children":4728},{"className":4727},[],[4729],{"type":58,"value":618},{"type":58,"value":4731}," annotations and a hidden destination query. Full reference with complete examples: ",{"type":45,"tag":210,"props":4733,"children":4734},{"href":604},[4735],{"type":58,"value":607},{"type":58,"value":1057},{"type":45,"tag":50,"props":4738,"children":4739},{},[4740],{"type":45,"tag":54,"props":4741,"children":4742},{},[4743],{"type":58,"value":4744},"Key requirements:",{"type":45,"tag":119,"props":4746,"children":4747},{},[4748,4766,4800,4832,4848,4904,4919,4936],{"type":45,"tag":74,"props":4749,"children":4750},{},[4751,4756,4758,4764],{"type":45,"tag":54,"props":4752,"children":4753},{},[4754],{"type":58,"value":4755},"Source query",{"type":58,"value":4757}," carries a ",{"type":45,"tag":85,"props":4759,"children":4761},{"className":4760},[],[4762],{"type":58,"value":4763},"[DataDestinations = {[...]}]",{"type":58,"value":4765}," annotation referencing the destination query by name.",{"type":45,"tag":74,"props":4767,"children":4768},{},[4769,4774,4776,4782,4784,4790,4792,4798],{"type":45,"tag":54,"props":4770,"children":4771},{},[4772],{"type":58,"value":4773},"Hidden destination query",{"type":58,"value":4775}," (suffixed ",{"type":45,"tag":85,"props":4777,"children":4779},{"className":4778},[],[4780],{"type":58,"value":4781},"_DataDestination",{"type":58,"value":4783},") navigates to the target storage using null-safe ",{"type":45,"tag":85,"props":4785,"children":4787},{"className":4786},[],[4788],{"type":58,"value":4789},"?[Data]?",{"type":58,"value":4791}," (tables) or ",{"type":45,"tag":85,"props":4793,"children":4795},{"className":4794},[],[4796],{"type":58,"value":4797},"?[Content]?",{"type":58,"value":4799}," (files) operators.",{"type":45,"tag":74,"props":4801,"children":4802},{},[4803,4807,4809,4815,4817,4823,4825,4830],{"type":45,"tag":54,"props":4804,"children":4805},{},[4806],{"type":58,"value":1838},{"type":58,"value":4808}," must set ",{"type":45,"tag":85,"props":4810,"children":4812},{"className":4811},[],[4813],{"type":58,"value":4814},"\"loadEnabled\": false",{"type":58,"value":4816}," on the destination query — refresh fails without it. State this in your summary using the literal part name (e.g., \"set ",{"type":45,"tag":85,"props":4818,"children":4820},{"className":4819},[],[4821],{"type":58,"value":4822},"loadEnabled: false",{"type":58,"value":4824}," on the destination query in ",{"type":45,"tag":85,"props":4826,"children":4828},{"className":4827},[],[4829],{"type":58,"value":1838},{"type":58,"value":4831},"\").",{"type":45,"tag":74,"props":4833,"children":4834},{},[4835,4846],{"type":45,"tag":54,"props":4836,"children":4837},{},[4838,4840],{"type":58,"value":4839},"Always use ",{"type":45,"tag":85,"props":4841,"children":4843},{"className":4842},[],[4844],{"type":58,"value":4845},"IsNewTarget = true",{"type":58,"value":4847}," for API-created dataflows, even for existing tables.",{"type":45,"tag":74,"props":4849,"children":4850},{},[4851,4856,4858,4864,4866,4872,4874,4880,4882,4888,4890,4895,4896,4902],{"type":45,"tag":54,"props":4852,"children":4853},{},[4854],{"type":58,"value":4855},"Bind the appropriate connection",{"type":58,"value":4857}," (Lakehouse: kind ",{"type":45,"tag":85,"props":4859,"children":4861},{"className":4860},[],[4862],{"type":58,"value":4863},"\"Lakehouse\"",{"type":58,"value":4865},"; Warehouse: kind ",{"type":45,"tag":85,"props":4867,"children":4869},{"className":4868},[],[4870],{"type":58,"value":4871},"\"Warehouse\"",{"type":58,"value":4873},"; ADX: kind ",{"type":45,"tag":85,"props":4875,"children":4877},{"className":4876},[],[4878],{"type":58,"value":4879},"\"AzureDataExplorer\"",{"type":58,"value":4881},"; Azure SQL: kind ",{"type":45,"tag":85,"props":4883,"children":4885},{"className":4884},[],[4886],{"type":58,"value":4887},"\"Sql\"",{"type":58,"value":4889},") with composite ",{"type":45,"tag":85,"props":4891,"children":4893},{"className":4892},[],[4894],{"type":58,"value":460},{"type":58,"value":2124},{"type":45,"tag":85,"props":4897,"children":4899},{"className":4898},[],[4900],{"type":58,"value":4901},"DatasourceId",{"type":58,"value":4903}," ID.",{"type":45,"tag":74,"props":4905,"children":4906},{},[4907,4917],{"type":45,"tag":54,"props":4908,"children":4909},{},[4910,4912],{"type":58,"value":4911},"First refresh must use ",{"type":45,"tag":85,"props":4913,"children":4915},{"className":4914},[],[4916],{"type":58,"value":2096},{"type":58,"value":4918}," to publish the draft and reconcile annotations.",{"type":45,"tag":74,"props":4920,"children":4921},{},[4922,4927,4928,4934],{"type":45,"tag":54,"props":4923,"children":4924},{},[4925],{"type":58,"value":4926},"All source columns must be typed",{"type":58,"value":3063},{"type":45,"tag":85,"props":4929,"children":4931},{"className":4930},[],[4932],{"type":58,"value":4933},"Any",{"type":58,"value":4935},"-type columns are rejected by all destination types.",{"type":45,"tag":74,"props":4937,"children":4938},{},[4939,4944,4946,4951,4952,4957,4958,4963,4965,4970,4971,4976,4977,4982,4984,4989,4991,4996,4998,5004],{"type":45,"tag":54,"props":4940,"children":4941},{},[4942],{"type":58,"value":4943},"Name the definition parts in your written summary.",{"type":58,"value":4945}," Because the CLI transcript truncates long command bodies, the final summary (prose, not just shell commands) MUST name the three definition parts by their literal paths — ",{"type":45,"tag":85,"props":4947,"children":4949},{"className":4948},[],[4950],{"type":58,"value":1815},{"type":58,"value":1031},{"type":45,"tag":85,"props":4953,"children":4955},{"className":4954},[],[4956],{"type":58,"value":1838},{"type":58,"value":495},{"type":45,"tag":85,"props":4959,"children":4961},{"className":4960},[],[4962],{"type":58,"value":1870},{"type":58,"value":4964}," — so the part names survive in the answer (e.g., \"Saved ",{"type":45,"tag":85,"props":4966,"children":4968},{"className":4967},[],[4969],{"type":58,"value":1815},{"type":58,"value":226},{"type":45,"tag":85,"props":4972,"children":4974},{"className":4973},[],[4975],{"type":58,"value":1838},{"type":58,"value":226},{"type":45,"tag":85,"props":4978,"children":4980},{"className":4979},[],[4981],{"type":58,"value":1870},{"type":58,"value":4983}," via ",{"type":45,"tag":85,"props":4985,"children":4987},{"className":4986},[],[4988],{"type":58,"value":1564},{"type":58,"value":4990},"\"). Do not abbreviate ",{"type":45,"tag":85,"props":4992,"children":4994},{"className":4993},[],[4995],{"type":58,"value":1838},{"type":58,"value":4997}," to \"query metadata\" or the inner field ",{"type":45,"tag":85,"props":4999,"children":5001},{"className":5000},[],[5002],{"type":58,"value":5003},"queriesMetadata",{"type":58,"value":1057},{"type":45,"tag":50,"props":5006,"children":5007},{},[5008],{"type":45,"tag":54,"props":5009,"children":5010},{},[5011],{"type":58,"value":5012},"Supported destinations:",{"type":45,"tag":176,"props":5014,"children":5015},{},[5016,5041],{"type":45,"tag":180,"props":5017,"children":5018},{},[5019],{"type":45,"tag":184,"props":5020,"children":5021},{},[5022,5027,5032,5037],{"type":45,"tag":188,"props":5023,"children":5024},{},[5025],{"type":58,"value":5026},"Destination",{"type":45,"tag":188,"props":5028,"children":5029},{},[5030],{"type":58,"value":5031},"Connection Kind",{"type":45,"tag":188,"props":5033,"children":5034},{},[5035],{"type":58,"value":5036},"Destination Query Function",{"type":45,"tag":188,"props":5038,"children":5039},{},[5040],{"type":58,"value":197},{"type":45,"tag":199,"props":5042,"children":5043},{},[5044,5080,5119,5155,5186],{"type":45,"tag":184,"props":5045,"children":5046},{},[5047,5052,5061,5070],{"type":45,"tag":206,"props":5048,"children":5049},{},[5050],{"type":58,"value":5051},"Lakehouse Table",{"type":45,"tag":206,"props":5053,"children":5054},{},[5055],{"type":45,"tag":85,"props":5056,"children":5058},{"className":5057},[],[5059],{"type":58,"value":5060},"Lakehouse",{"type":45,"tag":206,"props":5062,"children":5063},{},[5064],{"type":45,"tag":85,"props":5065,"children":5067},{"className":5066},[],[5068],{"type":58,"value":5069},"Lakehouse.Contents(...)",{"type":45,"tag":206,"props":5071,"children":5072},{},[5073,5075],{"type":58,"value":5074},"Path: ",{"type":45,"tag":85,"props":5076,"children":5078},{"className":5077},[],[5079],{"type":58,"value":4863},{"type":45,"tag":184,"props":5081,"children":5082},{},[5083,5088,5096,5104],{"type":45,"tag":206,"props":5084,"children":5085},{},[5086],{"type":58,"value":5087},"Lakehouse Files",{"type":45,"tag":206,"props":5089,"children":5090},{},[5091],{"type":45,"tag":85,"props":5092,"children":5094},{"className":5093},[],[5095],{"type":58,"value":5060},{"type":45,"tag":206,"props":5097,"children":5098},{},[5099],{"type":45,"tag":85,"props":5100,"children":5102},{"className":5101},[],[5103],{"type":58,"value":5069},{"type":45,"tag":206,"props":5105,"children":5106},{},[5107,5113,5114],{"type":45,"tag":85,"props":5108,"children":5110},{"className":5109},[],[5111],{"type":58,"value":5112},"TypeSettings = [Kind = \"File\"]",{"type":58,"value":1031},{"type":45,"tag":85,"props":5115,"children":5117},{"className":5116},[],[5118],{"type":58,"value":4797},{"type":45,"tag":184,"props":5120,"children":5121},{},[5122,5127,5135,5144],{"type":45,"tag":206,"props":5123,"children":5124},{},[5125],{"type":58,"value":5126},"Warehouse",{"type":45,"tag":206,"props":5128,"children":5129},{},[5130],{"type":45,"tag":85,"props":5131,"children":5133},{"className":5132},[],[5134],{"type":58,"value":5126},{"type":45,"tag":206,"props":5136,"children":5137},{},[5138],{"type":45,"tag":85,"props":5139,"children":5141},{"className":5140},[],[5142],{"type":58,"value":5143},"Fabric.Warehouse(...)",{"type":45,"tag":206,"props":5145,"children":5146},{},[5147,5148,5153],{"type":58,"value":5074},{"type":45,"tag":85,"props":5149,"children":5151},{"className":5150},[],[5152],{"type":58,"value":4871},{"type":58,"value":5154},", Schema\u002FItem navigation",{"type":45,"tag":184,"props":5156,"children":5157},{},[5158,5163,5172,5181],{"type":45,"tag":206,"props":5159,"children":5160},{},[5161],{"type":58,"value":5162},"Azure Data Explorer",{"type":45,"tag":206,"props":5164,"children":5165},{},[5166],{"type":45,"tag":85,"props":5167,"children":5169},{"className":5168},[],[5170],{"type":58,"value":5171},"AzureDataExplorer",{"type":45,"tag":206,"props":5173,"children":5174},{},[5175],{"type":45,"tag":85,"props":5176,"children":5178},{"className":5177},[],[5179],{"type":58,"value":5180},"AzureDataExplorer.Contents(...)",{"type":45,"tag":206,"props":5182,"children":5183},{},[5184],{"type":58,"value":5185},"Path must match connection exactly (trailing slash!)",{"type":45,"tag":184,"props":5187,"children":5188},{},[5189,5194,5203,5212],{"type":45,"tag":206,"props":5190,"children":5191},{},[5192],{"type":58,"value":5193},"Azure SQL",{"type":45,"tag":206,"props":5195,"children":5196},{},[5197],{"type":45,"tag":85,"props":5198,"children":5200},{"className":5199},[],[5201],{"type":58,"value":5202},"Sql",{"type":45,"tag":206,"props":5204,"children":5205},{},[5206],{"type":45,"tag":85,"props":5207,"children":5209},{"className":5208},[],[5210],{"type":58,"value":5211},"Sql.Database(...)",{"type":45,"tag":206,"props":5213,"children":5214},{},[5215,5216],{"type":58,"value":5074},{"type":45,"tag":85,"props":5217,"children":5219},{"className":5218},[],[5220],{"type":58,"value":5221},"\"server;database\"",{"type":45,"tag":50,"props":5223,"children":5224},{},[5225,5230],{"type":45,"tag":54,"props":5226,"children":5227},{},[5228],{"type":58,"value":5229},"Minimal steps:",{"type":58,"value":5231}," Create dataflow → Find\u002Fcreate connection → Resolve ClusterId → Save definition with OD annotations → Verify → Refresh.",{"type":45,"tag":1085,"props":5233,"children":5235},{"className":1087,"code":5234,"language":1089,"meta":1090,"style":1090},"# Skeleton — full PowerShell recipe: references\u002Foutput-destinations.md § Complete Example\nWS_ID=\"\u003CworkspaceId>\"; LH_ID=\"\u003ClakehouseId>\"; RES=\"https:\u002F\u002Fapi.fabric.microsoft.com\"\n\n# M pattern (two queries):\n# 1. Source with [DataDestinations] annotation\n# 2. Hidden _DataDestination query with ?[Data]? null-safe navigation\n# queryMetadata: source loadEnabled=true, destination loadEnabled=false + isHidden=true\n# Refresh: {\"executionData\":{\"executeOption\":\"ApplyChangesIfNeeded\"}}\n",[5236],{"type":45,"tag":85,"props":5237,"children":5238},{"__ignoreMap":1090},[5239,5247,5321,5328,5336,5344,5352,5360],{"type":45,"tag":1096,"props":5240,"children":5241},{"class":1098,"line":1099},[5242],{"type":45,"tag":1096,"props":5243,"children":5244},{"style":1103},[5245],{"type":58,"value":5246},"# Skeleton — full PowerShell recipe: references\u002Foutput-destinations.md § Complete Example\n",{"type":45,"tag":1096,"props":5248,"children":5249},{"class":1098,"line":1109},[5250,5254,5258,5262,5266,5270,5274,5279,5283,5287,5292,5296,5300,5305,5309,5313,5317],{"type":45,"tag":1096,"props":5251,"children":5252},{"style":1134},[5253],{"type":58,"value":1252},{"type":45,"tag":1096,"props":5255,"children":5256},{"style":1149},[5257],{"type":58,"value":1257},{"type":45,"tag":1096,"props":5259,"children":5260},{"style":1149},[5261],{"type":58,"value":1162},{"type":45,"tag":1096,"props":5263,"children":5264},{"style":1118},[5265],{"type":58,"value":1266},{"type":45,"tag":1096,"props":5267,"children":5268},{"style":1149},[5269],{"type":58,"value":1162},{"type":45,"tag":1096,"props":5271,"children":5272},{"style":1149},[5273],{"type":58,"value":2189},{"type":45,"tag":1096,"props":5275,"children":5276},{"style":1134},[5277],{"type":58,"value":5278}," LH_ID",{"type":45,"tag":1096,"props":5280,"children":5281},{"style":1149},[5282],{"type":58,"value":1257},{"type":45,"tag":1096,"props":5284,"children":5285},{"style":1149},[5286],{"type":58,"value":1162},{"type":45,"tag":1096,"props":5288,"children":5289},{"style":1118},[5290],{"type":58,"value":5291},"\u003ClakehouseId>",{"type":45,"tag":1096,"props":5293,"children":5294},{"style":1149},[5295],{"type":58,"value":1162},{"type":45,"tag":1096,"props":5297,"children":5298},{"style":1149},[5299],{"type":58,"value":2189},{"type":45,"tag":1096,"props":5301,"children":5302},{"style":1134},[5303],{"type":58,"value":5304}," RES",{"type":45,"tag":1096,"props":5306,"children":5307},{"style":1149},[5308],{"type":58,"value":1257},{"type":45,"tag":1096,"props":5310,"children":5311},{"style":1149},[5312],{"type":58,"value":1162},{"type":45,"tag":1096,"props":5314,"children":5315},{"style":1118},[5316],{"type":58,"value":1157},{"type":45,"tag":1096,"props":5318,"children":5319},{"style":1149},[5320],{"type":58,"value":1271},{"type":45,"tag":1096,"props":5322,"children":5323},{"class":1098,"line":1140},[5324],{"type":45,"tag":1096,"props":5325,"children":5326},{"emptyLinePlaceholder":1231},[5327],{"type":58,"value":1234},{"type":45,"tag":1096,"props":5329,"children":5330},{"class":1098,"line":1169},[5331],{"type":45,"tag":1096,"props":5332,"children":5333},{"style":1103},[5334],{"type":58,"value":5335},"# M pattern (two queries):\n",{"type":45,"tag":1096,"props":5337,"children":5338},{"class":1098,"line":1195},[5339],{"type":45,"tag":1096,"props":5340,"children":5341},{"style":1103},[5342],{"type":58,"value":5343},"# 1. Source with [DataDestinations] annotation\n",{"type":45,"tag":1096,"props":5345,"children":5346},{"class":1098,"line":1227},[5347],{"type":45,"tag":1096,"props":5348,"children":5349},{"style":1103},[5350],{"type":58,"value":5351},"# 2. Hidden _DataDestination query with ?[Data]? null-safe navigation\n",{"type":45,"tag":1096,"props":5353,"children":5354},{"class":1098,"line":1237},[5355],{"type":45,"tag":1096,"props":5356,"children":5357},{"style":1103},[5358],{"type":58,"value":5359},"# queryMetadata: source loadEnabled=true, destination loadEnabled=false + isHidden=true\n",{"type":45,"tag":1096,"props":5361,"children":5362},{"class":1098,"line":1246},[5363],{"type":45,"tag":1096,"props":5364,"children":5365},{"style":1103},[5366],{"type":58,"value":5367},"# Refresh: {\"executionData\":{\"executeOption\":\"ApplyChangesIfNeeded\"}}\n",{"type":45,"tag":811,"props":5369,"children":5370},{},[],{"type":45,"tag":153,"props":5372,"children":5374},{"id":5373},"gotchas-rules-troubleshooting",[5375],{"type":58,"value":5376},"Gotchas, Rules, Troubleshooting",{"type":45,"tag":50,"props":5378,"children":5379},{},[5380,5382,5386,5388,5392,5394,5400],{"type":58,"value":5381},"For full authoring gotchas: ",{"type":45,"tag":210,"props":5383,"children":5384},{"href":746},[5385],{"type":58,"value":749},{"type":58,"value":5387}," Gotchas and Troubleshooting.\nFor CLI-specific issues: ",{"type":45,"tag":210,"props":5389,"children":5390},{"href":676},[5391],{"type":58,"value":679},{"type":58,"value":5393}," Gotchas & Troubleshooting (CLI-Specific).\nFor connection discovery: ",{"type":45,"tag":210,"props":5395,"children":5397},{"href":5396},"references\u002Fauthoring-cli-quickref.md#connection-discovery-and-validation",[5398],{"type":58,"value":5399},"authoring-cli-quickref.md § Connection Discovery and Validation",{"type":58,"value":1057},{"type":45,"tag":1067,"props":5402,"children":5404},{"id":5403},"must-do",[5405],{"type":58,"value":5406},"MUST DO",{"type":45,"tag":70,"props":5408,"children":5409},{},[5410,5447,5469,5514,5556,5599,5638,5695,5756,5799,5881,5942,5973,6028,6079,6121,6165,6201,6222,6293],{"type":45,"tag":74,"props":5411,"children":5412},{},[5413,5418,5420,5425,5427,5432,5434,5439,5441,5445],{"type":45,"tag":54,"props":5414,"children":5415},{},[5416],{"type":58,"value":5417},"Offer to preview every entity before the first refresh of a new dataflow",{"type":58,"value":5419}," — after creating the shell and binding connections via ",{"type":45,"tag":85,"props":5421,"children":5423},{"className":5422},[],[5424],{"type":58,"value":1564},{"type":58,"value":5426}," (which persists the definition), ask the user if they want to see preview charts before materializing via refresh. In the ",{"type":45,"tag":210,"props":5428,"children":5429},{"href":1546},[5430],{"type":58,"value":5431},"preview-driven loop",{"type":58,"value":5433}," the preview instead precedes the persisting ",{"type":45,"tag":85,"props":5435,"children":5437},{"className":5436},[],[5438],{"type":58,"value":1564},{"type":58,"value":5440},". If accepted, follow ",{"type":45,"tag":210,"props":5442,"children":5443},{"href":2056},[5444],{"type":58,"value":2059},{"type":58,"value":5446},". Skip only for metadata-only edits (display name, schedule) or when the agent records an explicit skip reason.",{"type":45,"tag":74,"props":5448,"children":5449},{},[5450,5460,5462,5467],{"type":45,"tag":54,"props":5451,"children":5452},{},[5453,5458],{"type":45,"tag":85,"props":5454,"children":5456},{"className":5455},[],[5457],{"type":58,"value":688},{"type":58,"value":5459}," first",{"type":58,"value":5461}," — all ",{"type":45,"tag":85,"props":5463,"children":5465},{"className":5464},[],[5466],{"type":58,"value":696},{"type":58,"value":5468}," calls use the active session. No session → 401.",{"type":45,"tag":74,"props":5470,"children":5471},{},[5472,5485,5487,5492,5494,5499,5500,5505,5507,5513],{"type":45,"tag":54,"props":5473,"children":5474},{},[5475,5477,5483],{"type":58,"value":5476},"Use ",{"type":45,"tag":85,"props":5478,"children":5480},{"className":5479},[],[5481],{"type":58,"value":5482},"--resource \"https:\u002F\u002Fapi.fabric.microsoft.com\"",{"type":58,"value":5484}," for Fabric APIs.",{"type":58,"value":5486}," For Power BI v2 (",{"type":45,"tag":85,"props":5488,"children":5490},{"className":5489},[],[5491],{"type":58,"value":1948},{"type":58,"value":5493},"), use ",{"type":45,"tag":85,"props":5495,"children":5497},{"className":5496},[],[5498],{"type":58,"value":1722},{"type":58,"value":1700},{"type":45,"tag":54,"props":5501,"children":5502},{},[5503],{"type":58,"value":5504},"without a trailing slash",{"type":58,"value":5506}," — the slashed form fails ",{"type":45,"tag":85,"props":5508,"children":5510},{"className":5509},[],[5511],{"type":58,"value":5512},"AADSTS500011 invalid_resource",{"type":58,"value":1057},{"type":45,"tag":74,"props":5515,"children":5516},{},[5517,5522,5523,5528,5529,5534,5535,5540,5542,5548,5549,5554],{"type":45,"tag":54,"props":5518,"children":5519},{},[5520],{"type":58,"value":5521},"Base64-encode all 3 definition parts",{"type":58,"value":3063},{"type":45,"tag":85,"props":5524,"children":5526},{"className":5525},[],[5527],{"type":58,"value":1815},{"type":58,"value":226},{"type":45,"tag":85,"props":5530,"children":5532},{"className":5531},[],[5533],{"type":58,"value":1838},{"type":58,"value":226},{"type":45,"tag":85,"props":5536,"children":5538},{"className":5537},[],[5539],{"type":58,"value":1870},{"type":58,"value":5541},", each ",{"type":45,"tag":85,"props":5543,"children":5545},{"className":5544},[],[5546],{"type":58,"value":5547},"payloadType: \"InlineBase64\"",{"type":58,"value":2087},{"type":45,"tag":85,"props":5550,"children":5552},{"className":5551},[],[5553],{"type":58,"value":1564},{"type":58,"value":5555}," is a full replacement; sending 1 or 2 parts silently drops queries.",{"type":45,"tag":74,"props":5557,"children":5558},{},[5559,5564,5565,5571,5572,5577,5578,5583,5585,5590,5592,5598],{"type":45,"tag":54,"props":5560,"children":5561},{},[5562],{"type":58,"value":5563},"Handle sync AND async responses.",{"type":58,"value":1700},{"type":45,"tag":85,"props":5566,"children":5568},{"className":5567},[],[5569],{"type":58,"value":5570},"POST \u002Fdataflows",{"type":58,"value":1031},{"type":45,"tag":85,"props":5573,"children":5575},{"className":5574},[],[5576],{"type":58,"value":1564},{"type":58,"value":495},{"type":45,"tag":85,"props":5579,"children":5581},{"className":5580},[],[5582],{"type":58,"value":1896},{"type":58,"value":5584}," typically return sync (200\u002F201) but may return 202 + LRO ",{"type":45,"tag":85,"props":5586,"children":5588},{"className":5587},[],[5589],{"type":58,"value":1878},{"type":58,"value":5591}," on large bodies — handle both. See ",{"type":45,"tag":210,"props":5593,"children":5595},{"href":5594},"references\u002Fauthoring-script-templates.md#fabric-lro-polling-pattern",[5596],{"type":58,"value":5597},"authoring-script-templates.md § Fabric LRO Polling Pattern",{"type":58,"value":1057},{"type":45,"tag":74,"props":5600,"children":5601},{},[5602,5613,5615,5620,5622,5628,5630,5636],{"type":45,"tag":54,"props":5603,"children":5604},{},[5605,5607],{"type":58,"value":5606},"Set ",{"type":45,"tag":85,"props":5608,"children":5610},{"className":5609},[],[5611],{"type":58,"value":5612},"formatVersion: \"202502\"",{"type":58,"value":5614}," in ",{"type":45,"tag":85,"props":5616,"children":5618},{"className":5617},[],[5619],{"type":58,"value":1838},{"type":58,"value":5621}," and include a top-level ",{"type":45,"tag":85,"props":5623,"children":5625},{"className":5624},[],[5626],{"type":58,"value":5627},"name",{"type":58,"value":5629}," matching ",{"type":45,"tag":85,"props":5631,"children":5633},{"className":5632},[],[5634],{"type":58,"value":5635},"displayName",{"type":58,"value":5637}," — omitting either causes save-time failures or stale display-name state.",{"type":45,"tag":74,"props":5639,"children":5640},{},[5641,5651,5653,5658,5660,5666,5668,5673,5675,5680,5682,5687,5689,5694],{"type":45,"tag":54,"props":5642,"children":5643},{},[5644,5649],{"type":45,"tag":85,"props":5645,"children":5647},{"className":5646},[],[5648],{"type":58,"value":626},{"type":58,"value":5650}," is opt-out, not opt-in.",{"type":58,"value":5652}," Fabric auto-loads every query to the staging Lakehouse by default; set ",{"type":45,"tag":85,"props":5654,"children":5656},{"className":5655},[],[5657],{"type":58,"value":4822},{"type":58,"value":5659}," only on helper queries you do not want written. Note: ",{"type":45,"tag":85,"props":5661,"children":5663},{"className":5662},[],[5664],{"type":58,"value":5665},"loadEnabled: true",{"type":58,"value":5667}," is also stripped from ",{"type":45,"tag":85,"props":5669,"children":5671},{"className":5670},[],[5672],{"type":58,"value":1838},{"type":58,"value":5674}," on round-trip via ",{"type":45,"tag":85,"props":5676,"children":5678},{"className":5677},[],[5679],{"type":58,"value":1896},{"type":58,"value":5681}," (it's the default) — its absence on read-back is ",{"type":45,"tag":54,"props":5683,"children":5684},{},[5685],{"type":58,"value":5686},"not",{"type":58,"value":5688}," a bug. Detail: ",{"type":45,"tag":210,"props":5690,"children":5691},{"href":746},[5692],{"type":58,"value":5693},"DATAFLOWS-AUTHORING-CORE.md § loadEnabled semantics",{"type":58,"value":1057},{"type":45,"tag":74,"props":5696,"children":5697},{},[5698,5703,5705,5711,5713,5718,5720,5726,5728,5734,5736,5741,5742,5747,5749,5755],{"type":45,"tag":54,"props":5699,"children":5700},{},[5701],{"type":58,"value":5702},"Use the right ID format per context.",{"type":58,"value":5704}," REST ",{"type":45,"tag":85,"props":5706,"children":5708},{"className":5707},[],[5709],{"type":58,"value":5710},"\u002Fv1\u002Fconnections",{"type":58,"value":5712}," operations take the ",{"type":45,"tag":54,"props":5714,"children":5715},{},[5716],{"type":58,"value":5717},"plain GUID",{"type":58,"value":5719}," from ",{"type":45,"tag":85,"props":5721,"children":5723},{"className":5722},[],[5724],{"type":58,"value":5725},"connection.id",{"type":58,"value":5727},"; ",{"type":45,"tag":85,"props":5729,"children":5731},{"className":5730},[],[5732],{"type":58,"value":5733},"queryMetadata.json connections[].connectionId",{"type":58,"value":5735}," takes the ",{"type":45,"tag":54,"props":5737,"children":5738},{},[5739],{"type":58,"value":5740},"stringified composite",{"type":58,"value":1700},{"type":45,"tag":85,"props":5743,"children":5745},{"className":5744},[],[5746],{"type":58,"value":1862},{"type":58,"value":5748},". See ",{"type":45,"tag":210,"props":5750,"children":5752},{"href":5751},"references\u002Fconnection-management.md#connection-id-format-cheat-sheet",[5753],{"type":58,"value":5754},"connection-management.md § Connection ID Format Cheat Sheet",{"type":58,"value":1057},{"type":45,"tag":74,"props":5757,"children":5758},{},[5759,5770,5771,5777,5779,5785,5787,5792,5794,5798],{"type":45,"tag":54,"props":5760,"children":5761},{},[5762,5763,5768],{"type":58,"value":1691},{"type":45,"tag":85,"props":5764,"children":5766},{"className":5765},[],[5767],{"type":58,"value":460},{"type":58,"value":5769}," via list+filter.",{"type":58,"value":1700},{"type":45,"tag":85,"props":5772,"children":5774},{"className":5773},[],[5775],{"type":58,"value":5776},"GET ...\u002FgatewayClusterDatasources",{"type":58,"value":5778}," filtered by ",{"type":45,"tag":85,"props":5780,"children":5782},{"className":5781},[],[5783],{"type":58,"value":5784},"value[?id=='$CONN_ID']",{"type":58,"value":5786},". The per-id route returns ",{"type":45,"tag":85,"props":5788,"children":5790},{"className":5789},[],[5791],{"type":58,"value":1730},{"type":58,"value":5793}," for cloud connections; newly-created connections may need a 5-15 s retry. See ",{"type":45,"tag":210,"props":5795,"children":5796},{"href":1735},[5797],{"type":58,"value":1738},{"type":58,"value":1057},{"type":45,"tag":74,"props":5800,"children":5801},{},[5802,5819,5821,5827,5829,5835,5837,5842,5844,5850,5852,5857,5859,5865,5867,5873,5875,5880],{"type":45,"tag":54,"props":5803,"children":5804},{},[5805,5810,5812,5817],{"type":45,"tag":85,"props":5806,"children":5808},{"className":5807},[],[5809],{"type":58,"value":593},{"type":58,"value":5811}," body uses a top-level ",{"type":45,"tag":85,"props":5813,"children":5815},{"className":5814},[],[5816],{"type":58,"value":1969},{"type":58,"value":5818}," field",{"type":58,"value":5820}," (PascalCase canonical; the field name itself is case-insensitive on the wire — lowercase ",{"type":45,"tag":85,"props":5822,"children":5824},{"className":5823},[],[5825],{"type":58,"value":5826},"queryName",{"type":58,"value":5828}," also evaluates). Value must name a ",{"type":45,"tag":85,"props":5830,"children":5832},{"className":5831},[],[5833],{"type":58,"value":5834},"shared",{"type":58,"value":5836}," member from the persisted M or the supplied ",{"type":45,"tag":85,"props":5838,"children":5840},{"className":5839},[],[5841],{"type":58,"value":807},{"type":58,"value":5843},". The ",{"type":45,"tag":85,"props":5845,"children":5847},{"className":5846},[],[5848],{"type":58,"value":5849},"{\"queries\":[…]}",{"type":58,"value":5851}," array shape ",{"type":45,"tag":54,"props":5853,"children":5854},{},[5855],{"type":58,"value":5856},"always",{"type":58,"value":5858}," fails with ",{"type":45,"tag":85,"props":5860,"children":5862},{"className":5861},[],[5863],{"type":58,"value":5864},"DataflowExecuteQueryError: Invalid query name",{"type":58,"value":5866},"; a wrong query name returns ",{"type":45,"tag":85,"props":5868,"children":5870},{"className":5869},[],[5871],{"type":58,"value":5872},"QueryNotFound",{"type":58,"value":5874},". Full contract: ",{"type":45,"tag":210,"props":5876,"children":5877},{"href":581},[5878],{"type":58,"value":5879},"mashup-preview.md § Request body",{"type":58,"value":1057},{"type":45,"tag":74,"props":5882,"children":5883},{},[5884,5889,5891,5896,5898,5904,5906,5911,5913,5919,5921,5926,5928,5933,5935,5941],{"type":45,"tag":54,"props":5885,"children":5886},{},[5887],{"type":58,"value":5888},"Use the exact, case-sensitive API names.",{"type":58,"value":5890}," The endpoint is ",{"type":45,"tag":85,"props":5892,"children":5894},{"className":5893},[],[5895],{"type":58,"value":593},{"type":58,"value":5897}," (singular, never ",{"type":45,"tag":85,"props":5899,"children":5901},{"className":5900},[],[5902],{"type":58,"value":5903},"executeQueries",{"type":58,"value":5905},") and the request-body field is ",{"type":45,"tag":85,"props":5907,"children":5909},{"className":5908},[],[5910],{"type":58,"value":807},{"type":58,"value":5912}," (never ",{"type":45,"tag":85,"props":5914,"children":5916},{"className":5915},[],[5917],{"type":58,"value":5918},"mashupDocument",{"type":58,"value":5920},", never base64-encoded — it is a plain UTF-8 M string). The same M body becomes the saved ",{"type":45,"tag":85,"props":5922,"children":5924},{"className":5923},[],[5925],{"type":58,"value":1815},{"type":58,"value":5927}," part referenced as ",{"type":45,"tag":85,"props":5929,"children":5931},{"className":5930},[],[5932],{"type":58,"value":807},{"type":58,"value":5934},". Vocabulary table: ",{"type":45,"tag":210,"props":5936,"children":5938},{"href":5937},"references\u002Fmashup-preview.md#vocabulary----name-the-things-you-send",[5939],{"type":58,"value":5940},"mashup-preview.md § Vocabulary",{"type":58,"value":1057},{"type":45,"tag":74,"props":5943,"children":5944},{},[5945,5964,5966,5971],{"type":45,"tag":54,"props":5946,"children":5947},{},[5948,5950,5955,5957,5963],{"type":58,"value":5949},"First refresh after any ",{"type":45,"tag":85,"props":5951,"children":5953},{"className":5952},[],[5954],{"type":58,"value":1564},{"type":58,"value":5956}," MUST use ",{"type":45,"tag":85,"props":5958,"children":5960},{"className":5959},[],[5961],{"type":58,"value":5962},"executeOption: \"ApplyChangesIfNeeded\"",{"type":58,"value":1057},{"type":58,"value":5965}," Body: ",{"type":45,"tag":85,"props":5967,"children":5969},{"className":5968},[],[5970],{"type":58,"value":2085},{"type":58,"value":5972},". Without it, Fabric refreshes the previously-applied definition.",{"type":45,"tag":74,"props":5974,"children":5975},{},[5976,5981,5983,5988,5989,5994,5996,6001,6003,6008,6010,6014,6016,6020,6021,6026],{"type":45,"tag":54,"props":5977,"children":5978},{},[5979],{"type":58,"value":5980},"Treat a terminal refresh failure as a stop condition — do not debug-loop.",{"type":58,"value":5982}," When a refresh\u002FLRO job reaches terminal ",{"type":45,"tag":85,"props":5984,"children":5986},{"className":5985},[],[5987],{"type":58,"value":2122},{"type":58,"value":2124},{"type":45,"tag":85,"props":5990,"children":5992},{"className":5991},[],[5993],{"type":58,"value":2130},{"type":58,"value":5995},", or a backend error carries ",{"type":45,"tag":85,"props":5997,"children":5999},{"className":5998},[],[6000],{"type":58,"value":3113},{"type":58,"value":6002}," (or a workspace-wide ",{"type":45,"tag":85,"props":6004,"children":6006},{"className":6005},[],[6007],{"type":58,"value":3121},{"type":58,"value":6009},"), report the raw error verbatim and ",{"type":45,"tag":54,"props":6011,"children":6012},{},[6013],{"type":58,"value":3128},{"type":58,"value":6015},". These are backend\u002Finfra outcomes the agent cannot fix by retrying — do not re-trigger the refresh, keep re-polling, or open an extended investigation. At most, make ",{"type":45,"tag":54,"props":6017,"children":6018},{},[6019],{"type":58,"value":3099},{"type":58,"value":1700},{"type":45,"tag":85,"props":6022,"children":6024},{"className":6023},[],[6025],{"type":58,"value":593},{"type":58,"value":6027}," isolation attempt to localize a fixable M\u002Fsource cause; if that does not reveal a definition-side issue, end and surface the error.",{"type":45,"tag":74,"props":6029,"children":6030},{},[6031,6048,6050,6056,6058,6063,6065,6070,6072,6077],{"type":45,"tag":54,"props":6032,"children":6033},{},[6034,6036,6041,6043],{"type":58,"value":6035},"Call ",{"type":45,"tag":85,"props":6037,"children":6039},{"className":6038},[],[6040],{"type":58,"value":1668},{"type":58,"value":6042}," before ",{"type":45,"tag":85,"props":6044,"children":6046},{"className":6045},[],[6047],{"type":58,"value":1676},{"type":58,"value":6049}," -- never guess parameter names or credential types; they vary by connector, tenant, and time. When summarizing a connector's required parameters or ",{"type":45,"tag":85,"props":6051,"children":6053},{"className":6052},[],[6054],{"type":58,"value":6055},"credentialType",{"type":58,"value":6057}," set for a user, use the exact, case-sensitive endpoint path ",{"type":45,"tag":85,"props":6059,"children":6061},{"className":6060},[],[6062],{"type":58,"value":1668},{"type":58,"value":6064},". This applies even to a pure lookup (\"which parameters\u002FcredentialType does connector X support?\"): run the live ",{"type":45,"tag":85,"props":6066,"children":6068},{"className":6067},[],[6069],{"type":58,"value":1668},{"type":58,"value":6071}," against the tenant. The bundled ",{"type":45,"tag":85,"props":6073,"children":6075},{"className":6074},[],[6076],{"type":58,"value":441},{"type":58,"value":6078}," reference guides the response shape but is not a substitute for the tenant-specific, case-sensitive values, which vary by connector and over time.",{"type":45,"tag":74,"props":6080,"children":6081},{},[6082,6087,6089,6094,6095,6100,6101,6106,6108,6114,6116,6120],{"type":45,"tag":54,"props":6083,"children":6084},{},[6085],{"type":58,"value":6086},"Validate referenced connections before refresh.",{"type":58,"value":6088}," For each ",{"type":45,"tag":85,"props":6090,"children":6092},{"className":6091},[],[6093],{"type":58,"value":1854},{"type":58,"value":5614},{"type":45,"tag":85,"props":6096,"children":6098},{"className":6097},[],[6099],{"type":58,"value":1838},{"type":58,"value":1031},{"type":45,"tag":85,"props":6102,"children":6104},{"className":6103},[],[6105],{"type":58,"value":3035},{"type":58,"value":6107}," (plain GUID extracted from the composite). Cryptic ",{"type":45,"tag":85,"props":6109,"children":6111},{"className":6110},[],[6112],{"type":58,"value":6113},"EntityUserFailure",{"type":58,"value":6115}," at refresh time is often a missing\u002Finaccessible connection. See ",{"type":45,"tag":210,"props":6117,"children":6118},{"href":438},[6119],{"type":58,"value":441},{"type":58,"value":1057},{"type":45,"tag":74,"props":6122,"children":6123},{},[6124,6129,6131,6136,6138,6142,6144,6149,6151,6156,6158,6164],{"type":45,"tag":54,"props":6125,"children":6126},{},[6127],{"type":58,"value":6128},"Bootstrap-bind connections before previewing credentialed M.",{"type":58,"value":6130}," A ",{"type":45,"tag":85,"props":6132,"children":6134},{"className":6133},[],[6135],{"type":58,"value":1846},{"type":58,"value":6137}," array in the initial create payload is ",{"type":45,"tag":54,"props":6139,"children":6140},{},[6141],{"type":58,"value":5686},{"type":58,"value":6143}," yet visible to ",{"type":45,"tag":85,"props":6145,"children":6147},{"className":6146},[],[6148],{"type":58,"value":593},{"type":58,"value":6150},"; persist it through at least one ",{"type":45,"tag":85,"props":6152,"children":6154},{"className":6153},[],[6155],{"type":58,"value":1564},{"type":58,"value":6157}," first. Detail: ",{"type":45,"tag":210,"props":6159,"children":6161},{"href":6160},"references\u002Fmashup-preview.md#bootstrap-branch--new-dataflow--new-credentialed-source",[6162],{"type":58,"value":6163},"mashup-preview.md § Bootstrap branch",{"type":58,"value":1057},{"type":45,"tag":74,"props":6166,"children":6167},{},[6168,6186,6187,6192,6194,6200],{"type":45,"tag":54,"props":6169,"children":6170},{},[6171,6173,6179,6181],{"type":58,"value":6172},"Send a full ",{"type":45,"tag":85,"props":6174,"children":6176},{"className":6175},[],[6177],{"type":58,"value":6178},"section Section1; ...",{"type":58,"value":6180}," document in ",{"type":45,"tag":85,"props":6182,"children":6184},{"className":6183},[],[6185],{"type":58,"value":807},{"type":58,"value":3063},{"type":45,"tag":85,"props":6188,"children":6190},{"className":6189},[],[6191],{"type":58,"value":593},{"type":58,"value":6193}," does not auto-wrap raw expressions. See ",{"type":45,"tag":210,"props":6195,"children":6197},{"href":6196},"references\u002Fmashup-preview.md#custommashupdocument-format",[6198],{"type":58,"value":6199},"mashup-preview.md § customMashupDocument format",{"type":58,"value":1057},{"type":45,"tag":74,"props":6202,"children":6203},{},[6204,6220],{"type":45,"tag":54,"props":6205,"children":6206},{},[6207,6209,6214,6215],{"type":58,"value":6208},"Preview candidate M via ",{"type":45,"tag":85,"props":6210,"children":6212},{"className":6211},[],[6213],{"type":58,"value":593},{"type":58,"value":6042},{"type":45,"tag":85,"props":6216,"children":6218},{"className":6217},[],[6219],{"type":58,"value":1564},{"type":58,"value":6221}," — unless the change is metadata-only or the agent records an explicit skip reason. Treat preview success as \"M evaluates\"; treat the next refresh as the real go\u002Fno-go.",{"type":45,"tag":74,"props":6223,"children":6224},{},[6225,6238,6240,6246,6248,6253,6254,6260,6262,6268,6270,6276,6278,6284,6286,6292],{"type":45,"tag":54,"props":6226,"children":6227},{},[6228,6230,6236],{"type":58,"value":6229},"Pass JSON bodies via ",{"type":45,"tag":85,"props":6231,"children":6233},{"className":6232},[],[6234],{"type":58,"value":6235},"--body \"@\u003Cfile>\"",{"type":58,"value":6237},", not inline.",{"type":58,"value":6239}," Write to ",{"type":45,"tag":85,"props":6241,"children":6243},{"className":6242},[],[6244],{"type":58,"value":6245},"$env:TEMP\\\u003Cname>.json",{"type":58,"value":6247}," (PowerShell, UTF-8 ",{"type":45,"tag":54,"props":6249,"children":6250},{},[6251],{"type":58,"value":6252},"no-BOM",{"type":58,"value":4983},{"type":45,"tag":85,"props":6255,"children":6257},{"className":6256},[],[6258],{"type":58,"value":6259},"[IO.File]::WriteAllText",{"type":58,"value":6261},") or ",{"type":45,"tag":85,"props":6263,"children":6265},{"className":6264},[],[6266],{"type":58,"value":6267},"\u002Ftmp\u002F\u003Cname>.json",{"type":58,"value":6269}," (bash). Inline ",{"type":45,"tag":85,"props":6271,"children":6273},{"className":6272},[],[6274],{"type":58,"value":6275},"--body \"\u003Cjson>\"",{"type":58,"value":6277}," is fragile in bash and broken on Windows because ",{"type":45,"tag":85,"props":6279,"children":6281},{"className":6280},[],[6282],{"type":58,"value":6283},"cmd.exe",{"type":58,"value":6285},"'s argument parser mangles embedded quotes. See ",{"type":45,"tag":210,"props":6287,"children":6289},{"href":6288},"references\u002Fauthoring-script-templates.md#powershell--create-dataflow-with-definition",[6290],{"type":58,"value":6291},"authoring-script-templates.md § PowerShell — Create Dataflow with Definition",{"type":58,"value":1057},{"type":45,"tag":74,"props":6294,"children":6295},{},[6296,6316,6317,6323,6324,6330,6332,6337,6339,6344],{"type":45,"tag":54,"props":6297,"children":6298},{},[6299,6301,6307,6308,6314],{"type":58,"value":6300},"Prefer ",{"type":45,"tag":85,"props":6302,"children":6304},{"className":6303},[],[6305],{"type":58,"value":6306},"WorkspaceIdentity",{"type":58,"value":487},{"type":45,"tag":85,"props":6309,"children":6311},{"className":6310},[],[6312],{"type":58,"value":6313},"ServicePrincipal",{"type":58,"value":6315}," credentials for unattended refresh.",{"type":58,"value":1700},{"type":45,"tag":85,"props":6318,"children":6320},{"className":6319},[],[6321],{"type":58,"value":6322},"OAuth2",{"type":58,"value":226},{"type":45,"tag":85,"props":6325,"children":6327},{"className":6326},[],[6328],{"type":58,"value":6329},"singleSignOnType: None",{"type":58,"value":6331}," works for interactive ",{"type":45,"tag":85,"props":6333,"children":6335},{"className":6334},[],[6336],{"type":58,"value":593},{"type":58,"value":6338}," but is fragile under tenant Conditional Access for service-context refresh. Check supported types via ",{"type":45,"tag":85,"props":6340,"children":6342},{"className":6341},[],[6343],{"type":58,"value":452},{"type":58,"value":1057},{"type":45,"tag":1067,"props":6346,"children":6348},{"id":6347},"avoid",[6349],{"type":58,"value":1933},{"type":45,"tag":70,"props":6351,"children":6352},{},[6353,6370,6416,6426,6464,6487,6512,6537,6579,6608,6625,6642,6652,6683,6712,6751,6768,6778,6811,6856,6905],{"type":45,"tag":74,"props":6354,"children":6355},{},[6356,6361,6363,6368],{"type":45,"tag":54,"props":6357,"children":6358},{},[6359],{"type":58,"value":6360},"Materializing a new dataflow (first refresh) without offering the user a preview",{"type":58,"value":6362}," — the user cannot validate that the M code matches their intent by reading code alone. Always offer to preview each entity's output as an ASCII chart before the first refresh (and, in the preview-driven loop, before the persisting ",{"type":45,"tag":85,"props":6364,"children":6366},{"className":6365},[],[6367],{"type":58,"value":1564},{"type":58,"value":6369},"). The user may decline, but the offer should always be made.",{"type":45,"tag":74,"props":6371,"children":6372},{},[6373,6391,6393,6399,6401,6407,6409,6415],{"type":45,"tag":54,"props":6374,"children":6375},{},[6376,6378,6384,6386],{"type":58,"value":6377},"Adding a ",{"type":45,"tag":85,"props":6379,"children":6381},{"className":6380},[],[6382],{"type":58,"value":6383},"format",{"type":58,"value":6385}," property to ",{"type":45,"tag":85,"props":6387,"children":6389},{"className":6388},[],[6390],{"type":58,"value":1769},{"type":58,"value":6392}," — Items API uses ",{"type":45,"tag":85,"props":6394,"children":6396},{"className":6395},[],[6397],{"type":58,"value":6398},"parts[]",{"type":58,"value":6400}," only; ",{"type":45,"tag":85,"props":6402,"children":6404},{"className":6403},[],[6405],{"type":58,"value":6406},"\"format\": \"json\"",{"type":58,"value":6408}," returns ",{"type":45,"tag":85,"props":6410,"children":6412},{"className":6411},[],[6413],{"type":58,"value":6414},"400 InvalidDefinitionFormat",{"type":58,"value":1057},{"type":45,"tag":74,"props":6417,"children":6418},{},[6419,6424],{"type":45,"tag":54,"props":6420,"children":6421},{},[6422],{"type":58,"value":6423},"Hardcoded workspace\u002Fdataflow GUIDs",{"type":58,"value":6425}," — discover via REST API (Connection section).",{"type":45,"tag":74,"props":6427,"children":6428},{},[6429,6442,6444,6448,6450,6455,6457,6463],{"type":45,"tag":54,"props":6430,"children":6431},{},[6432,6434,6440],{"type":58,"value":6433},"Using ",{"type":45,"tag":85,"props":6435,"children":6437},{"className":6436},[],[6438],{"type":58,"value":6439},"GET \u002Fv1\u002Fworkspaces\u002F{ws}\u002Fitems\u002F{itemId}\u002Fconnections",{"type":58,"value":6441}," to verify a freshly-bound dataflow.",{"type":58,"value":6443}," It reflects refresh-materialized state, ",{"type":45,"tag":54,"props":6445,"children":6446},{},[6447],{"type":58,"value":5686},{"type":58,"value":6449}," the persisted definition, and returns 0 after a successful bind. Verify via ",{"type":45,"tag":85,"props":6451,"children":6453},{"className":6452},[],[6454],{"type":58,"value":1896},{"type":58,"value":6456}," + decode ",{"type":45,"tag":85,"props":6458,"children":6460},{"className":6459},[],[6461],{"type":58,"value":6462},"queryMetadata.json.connections[]",{"type":58,"value":1057},{"type":45,"tag":74,"props":6465,"children":6466},{},[6467,6485],{"type":45,"tag":54,"props":6468,"children":6469},{},[6470,6472,6477,6478,6483],{"type":58,"value":6471},"Assuming ",{"type":45,"tag":85,"props":6473,"children":6475},{"className":6474},[],[6476],{"type":58,"value":1564},{"type":58,"value":487},{"type":45,"tag":85,"props":6479,"children":6481},{"className":6480},[],[6482],{"type":58,"value":5570},{"type":58,"value":6484}," is always LRO.",{"type":58,"value":6486}," Typical responses are sync (200\u002F201); handle both shapes — see MUST DO above.",{"type":45,"tag":74,"props":6488,"children":6489},{},[6490,6495,6497,6503,6505,6510],{"type":45,"tag":54,"props":6491,"children":6492},{},[6493],{"type":58,"value":6494},"Requesting the PBI v2 token with a trailing slash",{"type":58,"value":6496}," (",{"type":45,"tag":85,"props":6498,"children":6500},{"className":6499},[],[6501],{"type":58,"value":6502},"--resource \"https:\u002F\u002Fanalysis.windows.net\u002Fpowerbi\u002Fapi\u002F\"",{"type":58,"value":6504},") — fails ",{"type":45,"tag":85,"props":6506,"children":6508},{"className":6507},[],[6509],{"type":58,"value":5512},{"type":58,"value":6511},". Use the no-slash form.",{"type":45,"tag":74,"props":6513,"children":6514},{},[6515,6528,6530,6535],{"type":45,"tag":54,"props":6516,"children":6517},{},[6518,6520,6526],{"type":58,"value":6519},"Per-id ",{"type":45,"tag":85,"props":6521,"children":6523},{"className":6522},[],[6524],{"type":58,"value":6525},"gatewayClusterDatasources\u002F{id}",{"type":58,"value":6527}," for cloud connections",{"type":58,"value":6529}," — returns ",{"type":45,"tag":85,"props":6531,"children":6533},{"className":6532},[],[6534],{"type":58,"value":1730},{"type":58,"value":6536},". Use list+filter (MUST DO above).",{"type":45,"tag":74,"props":6538,"children":6539},{},[6540,6555,6557,6563,6565,6570,6572,6577],{"type":45,"tag":54,"props":6541,"children":6542},{},[6543,6548,6550],{"type":45,"tag":85,"props":6544,"children":6546},{"className":6545},[],[6547],{"type":58,"value":5849},{"type":58,"value":6549}," array body shape for ",{"type":45,"tag":85,"props":6551,"children":6553},{"className":6552},[],[6554],{"type":58,"value":593},{"type":58,"value":6556}," — always returns ",{"type":45,"tag":85,"props":6558,"children":6560},{"className":6559},[],[6561],{"type":58,"value":6562},"400 DataflowExecuteQueryError: Invalid query name",{"type":58,"value":6564}," regardless of inner casing. Use a top-level ",{"type":45,"tag":85,"props":6566,"children":6568},{"className":6567},[],[6569],{"type":58,"value":1969},{"type":58,"value":6571}," (or ",{"type":45,"tag":85,"props":6573,"children":6575},{"className":6574},[],[6576],{"type":58,"value":5826},{"type":58,"value":6578}," — the field is case-insensitive); pick exactly one query per call.",{"type":45,"tag":74,"props":6580,"children":6581},{},[6582,6599,6601,6606],{"type":45,"tag":54,"props":6583,"children":6584},{},[6585,6586,6592,6594],{"type":58,"value":6433},{"type":45,"tag":85,"props":6587,"children":6589},{"className":6588},[],[6590],{"type":58,"value":6591},"GET",{"type":58,"value":6593}," for ",{"type":45,"tag":85,"props":6595,"children":6597},{"className":6596},[],[6598],{"type":58,"value":1896},{"type":58,"value":6600}," — it's a POST endpoint; ",{"type":45,"tag":85,"props":6602,"children":6604},{"className":6603},[],[6605],{"type":58,"value":6591},{"type":58,"value":6607}," returns 405.",{"type":45,"tag":74,"props":6609,"children":6610},{},[6611,6616,6618,6623],{"type":45,"tag":54,"props":6612,"children":6613},{},[6614],{"type":58,"value":6615},"Constructing operation URLs manually",{"type":58,"value":6617}," — always follow the ",{"type":45,"tag":85,"props":6619,"children":6621},{"className":6620},[],[6622],{"type":58,"value":1878},{"type":58,"value":6624}," header from a 202 response.",{"type":45,"tag":74,"props":6626,"children":6627},{},[6628,6640],{"type":45,"tag":54,"props":6629,"children":6630},{},[6631,6633,6638],{"type":58,"value":6632},"Duplicate ",{"type":45,"tag":85,"props":6634,"children":6636},{"className":6635},[],[6637],{"type":58,"value":5635},{"type":58,"value":6639}," values",{"type":58,"value":6641}," — not enforced but causes confusion.",{"type":45,"tag":74,"props":6643,"children":6644},{},[6645,6650],{"type":45,"tag":54,"props":6646,"children":6647},{},[6648],{"type":58,"value":6649},"Binding connections by display name",{"type":58,"value":6651}," — connection IDs are the source of truth; names can change.",{"type":45,"tag":74,"props":6653,"children":6654},{},[6655,6660,6662,6667,6669,6674,6676,6681],{"type":45,"tag":54,"props":6656,"children":6657},{},[6658],{"type":58,"value":6659},"Assuming all connections are accessible to all users.",{"type":58,"value":6661}," Visibility is ",{"type":45,"tag":54,"props":6663,"children":6664},{},[6665],{"type":58,"value":6666},"per-caller",{"type":58,"value":6668},": ",{"type":45,"tag":85,"props":6670,"children":6672},{"className":6671},[],[6673],{"type":58,"value":3035},{"type":58,"value":6675}," may return 403\u002F404 for callers without access. An empty ",{"type":45,"tag":85,"props":6677,"children":6679},{"className":6678},[],[6680],{"type":58,"value":1650},{"type":58,"value":6682}," is not proof a connection is absent.",{"type":45,"tag":74,"props":6684,"children":6685},{},[6686,6696,6698,6704,6705,6711],{"type":45,"tag":54,"props":6687,"children":6688},{},[6689,6691],{"type":58,"value":6690},"Hand-crafting connection request bodies without ",{"type":45,"tag":85,"props":6692,"children":6694},{"className":6693},[],[6695],{"type":58,"value":452},{"type":58,"value":6697}," — guessing produces ",{"type":45,"tag":85,"props":6699,"children":6701},{"className":6700},[],[6702],{"type":58,"value":6703},"400 InvalidConnectionDetails",{"type":58,"value":487},{"type":45,"tag":85,"props":6706,"children":6708},{"className":6707},[],[6709],{"type":58,"value":6710},"400 InvalidCredentialDetails",{"type":58,"value":1057},{"type":45,"tag":74,"props":6713,"children":6714},{},[6715,6720,6722,6728,6729,6735,6736,6742,6743,6749],{"type":45,"tag":54,"props":6716,"children":6717},{},[6718],{"type":58,"value":6719},"Plaintext credentials in generated examples or committed scripts",{"type":58,"value":6721}," — never render or commit plaintext credential values. Show only ",{"type":45,"tag":85,"props":6723,"children":6725},{"className":6724},[],[6726],{"type":58,"value":6727},"passwordReference",{"type":58,"value":487},{"type":45,"tag":85,"props":6730,"children":6732},{"className":6731},[],[6733],{"type":58,"value":6734},"keyReference",{"type":58,"value":487},{"type":45,"tag":85,"props":6737,"children":6739},{"className":6738},[],[6740],{"type":58,"value":6741},"tokenReference",{"type":58,"value":487},{"type":45,"tag":85,"props":6744,"children":6746},{"className":6745},[],[6747],{"type":58,"value":6748},"servicePrincipalSecretReference",{"type":58,"value":6750}," in generated connection bodies.",{"type":45,"tag":74,"props":6752,"children":6753},{},[6754,6759,6760,6766],{"type":45,"tag":54,"props":6755,"children":6756},{},[6757],{"type":58,"value":6758},"Templating on-prem gateway connection bodies as plaintext",{"type":58,"value":3063},{"type":45,"tag":85,"props":6761,"children":6763},{"className":6762},[],[6764],{"type":58,"value":6765},"OnPremisesGateway",{"type":58,"value":6767}," needs RSA-encrypted credentials per gateway member.",{"type":45,"tag":74,"props":6769,"children":6770},{},[6771,6776],{"type":45,"tag":54,"props":6772,"children":6773},{},[6774],{"type":58,"value":6775},"Converting a published single-source dataflow to multi-source in place",{"type":58,"value":6777}," — bindings drift into inconsistent state; create fresh and retire the old.",{"type":45,"tag":74,"props":6779,"children":6780},{},[6781,6791,6792,6797,6799,6804,6806,6810],{"type":45,"tag":54,"props":6782,"children":6783},{},[6784,6786],{"type":58,"value":6785},"Persisting un-previewed candidate M via ",{"type":45,"tag":85,"props":6787,"children":6789},{"className":6788},[],[6790],{"type":58,"value":1564},{"type":58,"value":3063},{"type":45,"tag":85,"props":6793,"children":6795},{"className":6794},[],[6796],{"type":58,"value":593},{"type":58,"value":6798}," is significantly faster than the ",{"type":45,"tag":85,"props":6800,"children":6802},{"className":6801},[],[6803],{"type":58,"value":1564},{"type":58,"value":6805},"-then-debug-refresh loop. See ",{"type":45,"tag":210,"props":6807,"children":6808},{"href":581},[6809],{"type":58,"value":584},{"type":58,"value":1057},{"type":45,"tag":74,"props":6812,"children":6813},{},[6814,6819,6820,6825,6827,6832,6834,6840,6841,6847,6849,6855],{"type":45,"tag":54,"props":6815,"children":6816},{},[6817],{"type":58,"value":6818},"Unbounded preview against production-volume sources",{"type":58,"value":3063},{"type":45,"tag":85,"props":6821,"children":6823},{"className":6822},[],[6824],{"type":58,"value":593},{"type":58,"value":6826}," returns the ",{"type":45,"tag":54,"props":6828,"children":6829},{},[6830],{"type":58,"value":6831},"full",{"type":58,"value":6833}," evaluated dataset. Inject ",{"type":45,"tag":85,"props":6835,"children":6837},{"className":6836},[],[6838],{"type":58,"value":6839},"Table.FirstN",{"type":58,"value":487},{"type":45,"tag":85,"props":6842,"children":6844},{"className":6843},[],[6845],{"type":58,"value":6846},"TOP N",{"type":58,"value":6848}," \u002F date predicate into the preview-only document; strip before saving. See ",{"type":45,"tag":210,"props":6850,"children":6852},{"href":6851},"references\u002Fmashup-preview.md#hard-avoid-unbounded-production-volume-preview",[6853],{"type":58,"value":6854},"mashup-preview.md § Hard avoid",{"type":58,"value":1057},{"type":45,"tag":74,"props":6857,"children":6858},{},[6859,6877,6878,6883,6885,6890,6891,6896,6898,6903],{"type":45,"tag":54,"props":6860,"children":6861},{},[6862,6864,6869,6870,6876],{"type":58,"value":6863},"Confusing ",{"type":45,"tag":85,"props":6865,"children":6867},{"className":6866},[],[6868],{"type":58,"value":593},{"type":58,"value":1708},{"type":45,"tag":85,"props":6871,"children":6873},{"className":6872},[],[6874],{"type":58,"value":6875},"EvaluateQuery",{"type":58,"value":1057},{"type":58,"value":1700},{"type":45,"tag":85,"props":6879,"children":6881},{"className":6880},[],[6882],{"type":58,"value":6875},{"type":58,"value":6884}," requires a prior successful refresh; ",{"type":45,"tag":85,"props":6886,"children":6888},{"className":6887},[],[6889],{"type":58,"value":593},{"type":58,"value":226},{"type":45,"tag":85,"props":6892,"children":6894},{"className":6893},[],[6895],{"type":58,"value":807},{"type":58,"value":6897}," does not. Use ",{"type":45,"tag":85,"props":6899,"children":6901},{"className":6900},[],[6902],{"type":58,"value":593},{"type":58,"value":6904}," for the authoring preview loop.",{"type":45,"tag":74,"props":6906,"children":6907},{},[6908,6921,6922,6927,6929,6935],{"type":45,"tag":54,"props":6909,"children":6910},{},[6911,6913,6919],{"type":58,"value":6912},"Inline ",{"type":45,"tag":85,"props":6914,"children":6916},{"className":6915},[],[6917],{"type":58,"value":6918},"--body",{"type":58,"value":6920}," on Windows\u002FPowerShell",{"type":58,"value":3063},{"type":45,"tag":85,"props":6923,"children":6925},{"className":6924},[],[6926],{"type":58,"value":6283},{"type":58,"value":6928}," mangles quotes; always use ",{"type":45,"tag":85,"props":6930,"children":6932},{"className":6931},[],[6933],{"type":58,"value":6934},"--body \"@$env:TEMP\\\u003Cname>.json\"",{"type":58,"value":1057},{"type":45,"tag":1067,"props":6937,"children":6939},{"id":6938},"prefer",[6940],{"type":58,"value":2971},{"type":45,"tag":70,"props":6942,"children":6943},{},[6944,6972,7013,7039,7067,7082,7098,7132,7164],{"type":45,"tag":74,"props":6945,"children":6946},{},[6947,6964,6966,6970],{"type":45,"tag":54,"props":6948,"children":6949},{},[6950,6952,6957,6959],{"type":58,"value":6951},"One-shot ",{"type":45,"tag":85,"props":6953,"children":6955},{"className":6954},[],[6956],{"type":58,"value":1564},{"type":58,"value":6958}," carrying real M + ",{"type":45,"tag":85,"props":6960,"children":6962},{"className":6961},[],[6963],{"type":58,"value":1846},{"type":58,"value":6965}," over a bootstrap-bind + save pair — saves an HTTP round trip; both are functionally equivalent. Use the two-step form for didactic walk-throughs or when the bootstrap M needs to differ from the production M (e.g., the bootstrap branch in ",{"type":45,"tag":210,"props":6967,"children":6968},{"href":6160},[6969],{"type":58,"value":584},{"type":58,"value":6971},").",{"type":45,"tag":74,"props":6973,"children":6974},{},[6975,6990,6992,6997,6999,7004,7006,7011],{"type":45,"tag":54,"props":6976,"children":6977},{},[6978,6983,6985],{"type":45,"tag":85,"props":6979,"children":6981},{"className":6980},[],[6982],{"type":58,"value":696},{"type":58,"value":6984}," over raw ",{"type":45,"tag":85,"props":6986,"children":6988},{"className":6987},[],[6989],{"type":58,"value":246},{"type":58,"value":6991}," — handles token acquisition and refresh automatically. Fall back to ",{"type":45,"tag":85,"props":6993,"children":6995},{"className":6994},[],[6996],{"type":58,"value":246},{"type":58,"value":6998}," only when you need to capture response headers (e.g., 202 LRO ",{"type":45,"tag":85,"props":7000,"children":7002},{"className":7001},[],[7003],{"type":58,"value":1878},{"type":58,"value":7005},") — ",{"type":45,"tag":85,"props":7007,"children":7009},{"className":7008},[],[7010],{"type":58,"value":696},{"type":58,"value":7012}," cannot.",{"type":45,"tag":74,"props":7014,"children":7015},{},[7016,7030,7032,7037],{"type":45,"tag":54,"props":7017,"children":7018},{},[7019,7024,7025],{"type":45,"tag":85,"props":7020,"children":7022},{"className":7021},[],[7023],{"type":58,"value":1896},{"type":58,"value":6042},{"type":45,"tag":85,"props":7026,"children":7028},{"className":7027},[],[7029],{"type":58,"value":1564},{"type":58,"value":7031}," — read-modify-write prevents accidental data loss; ",{"type":45,"tag":85,"props":7033,"children":7035},{"className":7034},[],[7036],{"type":58,"value":1564},{"type":58,"value":7038}," is a full replacement.",{"type":45,"tag":74,"props":7040,"children":7041},{},[7042,7058,7060,7065],{"type":45,"tag":54,"props":7043,"children":7044},{},[7045,7051,7053],{"type":45,"tag":85,"props":7046,"children":7048},{"className":7047},[],[7049],{"type":58,"value":7050},"?updateMetadata=true",{"type":58,"value":7052}," on ",{"type":45,"tag":85,"props":7054,"children":7056},{"className":7055},[],[7057],{"type":58,"value":1564},{"type":58,"value":7059}," — ensures ",{"type":45,"tag":85,"props":7061,"children":7063},{"className":7062},[],[7064],{"type":58,"value":1870},{"type":58,"value":7066}," changes (display name) are applied.",{"type":45,"tag":74,"props":7068,"children":7069},{},[7070,7080],{"type":45,"tag":54,"props":7071,"children":7072},{},[7073,7078],{"type":45,"tag":85,"props":7074,"children":7076},{"className":7075},[],[7077],{"type":58,"value":232},{"type":58,"value":7079}," for JSON manipulation",{"type":58,"value":7081}," — build definition payloads programmatically.",{"type":45,"tag":74,"props":7083,"children":7084},{},[7085,7096],{"type":45,"tag":54,"props":7086,"children":7087},{},[7088,7094],{"type":45,"tag":85,"props":7089,"children":7091},{"className":7090},[],[7092],{"type":58,"value":7093},"\"Automatic\"",{"type":58,"value":7095}," for parameter type in job execution",{"type":58,"value":7097}," — lets the engine infer from definition.",{"type":45,"tag":74,"props":7099,"children":7100},{},[7101,7130],{"type":45,"tag":54,"props":7102,"children":7103},{},[7104,7106,7111,7112,7117,7118,7123,7124,7129],{"type":58,"value":7105},"Env vars (",{"type":45,"tag":85,"props":7107,"children":7109},{"className":7108},[],[7110],{"type":58,"value":1252},{"type":58,"value":1031},{"type":45,"tag":85,"props":7113,"children":7115},{"className":7114},[],[7116],{"type":58,"value":1427},{"type":58,"value":1031},{"type":45,"tag":85,"props":7119,"children":7121},{"className":7120},[],[7122],{"type":58,"value":1452},{"type":58,"value":1031},{"type":45,"tag":85,"props":7125,"children":7127},{"className":7126},[],[7128],{"type":58,"value":1477},{"type":58,"value":174},{"type":58,"value":7131}," for script reuse.",{"type":45,"tag":74,"props":7133,"children":7134},{},[7135,7140,7142,7148,7149,7154,7156,7162],{"type":45,"tag":54,"props":7136,"children":7137},{},[7138],{"type":58,"value":7139},"Batch connection validation",{"type":58,"value":7141}," — loop over ",{"type":45,"tag":85,"props":7143,"children":7145},{"className":7144},[],[7146],{"type":58,"value":7147},"queryMetadata.json connections[]",{"type":58,"value":990},{"type":45,"tag":85,"props":7150,"children":7152},{"className":7151},[],[7153],{"type":58,"value":3035},{"type":58,"value":7155}," in one pass before refresh; optionally ",{"type":45,"tag":85,"props":7157,"children":7159},{"className":7158},[],[7160],{"type":58,"value":7161},"POST \u002Fv1\u002Fconnections\u002F{id}\u002FtestConnection",{"type":58,"value":7163}," to catch rotated credentials.",{"type":45,"tag":74,"props":7165,"children":7166},{},[7167,7172],{"type":45,"tag":54,"props":7168,"children":7169},{},[7170],{"type":58,"value":7171},"Offer preview charts",{"type":58,"value":7173}," before committing a new dataflow — render sample data as an ASCII chart so the user can validate the output shape and values.",{"type":45,"tag":1067,"props":7175,"children":7177},{"id":7176},"troubleshooting",[7178],{"type":58,"value":7179},"TROUBLESHOOTING",{"type":45,"tag":176,"props":7181,"children":7182},{},[7183,7199],{"type":45,"tag":180,"props":7184,"children":7185},{},[7186],{"type":45,"tag":184,"props":7187,"children":7188},{},[7189,7194],{"type":45,"tag":188,"props":7190,"children":7191},{},[7192],{"type":58,"value":7193},"Symptom",{"type":45,"tag":188,"props":7195,"children":7196},{},[7197],{"type":58,"value":7198},"Fix",{"type":45,"tag":199,"props":7200,"children":7201},{},[7202,7241,7259,7295,7333,7390,7420,7470,7497,7537,7574,7614,7644,7677,7697,7718,7739,7791],{"type":45,"tag":184,"props":7203,"children":7204},{},[7205,7210],{"type":45,"tag":206,"props":7206,"children":7207},{},[7208],{"type":58,"value":7209},"401 Unauthorized",{"type":45,"tag":206,"props":7211,"children":7212},{},[7213,7215,7220,7222,7227,7228,7233,7234,7239],{"type":58,"value":7214},"Verify ",{"type":45,"tag":85,"props":7216,"children":7218},{"className":7217},[],[7219],{"type":58,"value":688},{"type":58,"value":7221}," is active; check ",{"type":45,"tag":85,"props":7223,"children":7225},{"className":7224},[],[7226],{"type":58,"value":5482},{"type":58,"value":6571},{"type":45,"tag":85,"props":7229,"children":7231},{"className":7230},[],[7232],{"type":58,"value":2287},{"type":58,"value":1700},{"type":45,"tag":54,"props":7235,"children":7236},{},[7237],{"type":58,"value":7238},"no trailing slash",{"type":58,"value":7240}," for PBI v2).",{"type":45,"tag":184,"props":7242,"children":7243},{},[7244,7254],{"type":45,"tag":206,"props":7245,"children":7246},{},[7247,7249],{"type":58,"value":7248},"405 Method Not Allowed on ",{"type":45,"tag":85,"props":7250,"children":7252},{"className":7251},[],[7253],{"type":58,"value":1896},{"type":45,"tag":206,"props":7255,"children":7256},{},[7257],{"type":58,"value":7258},"Use POST, not GET.",{"type":45,"tag":184,"props":7260,"children":7261},{},[7262,7272],{"type":45,"tag":206,"props":7263,"children":7264},{},[7265,7270],{"type":45,"tag":85,"props":7266,"children":7268},{"className":7267},[],[7269],{"type":58,"value":1564},{"type":58,"value":7271}," silently drops queries",{"type":45,"tag":206,"props":7273,"children":7274},{},[7275,7277,7282,7283,7288,7289,7294],{"type":58,"value":7276},"Send all 3 parts (",{"type":45,"tag":85,"props":7278,"children":7280},{"className":7279},[],[7281],{"type":58,"value":1815},{"type":58,"value":1031},{"type":45,"tag":85,"props":7284,"children":7286},{"className":7285},[],[7287],{"type":58,"value":1838},{"type":58,"value":1031},{"type":45,"tag":85,"props":7290,"children":7292},{"className":7291},[],[7293],{"type":58,"value":1870},{"type":58,"value":6971},{"type":45,"tag":184,"props":7296,"children":7297},{},[7298,7313],{"type":45,"tag":206,"props":7299,"children":7300},{},[7301,7306,7308],{"type":45,"tag":85,"props":7302,"children":7304},{"className":7303},[],[7305],{"type":58,"value":593},{"type":58,"value":7307}," → 400 ",{"type":45,"tag":85,"props":7309,"children":7311},{"className":7310},[],[7312],{"type":58,"value":5864},{"type":45,"tag":206,"props":7314,"children":7315},{},[7316,7318,7323,7325,7331],{"type":58,"value":7317},"Body uses the ",{"type":45,"tag":85,"props":7319,"children":7321},{"className":7320},[],[7322],{"type":58,"value":5849},{"type":58,"value":7324}," array shape — that always fails. Switch to a top-level ",{"type":45,"tag":85,"props":7326,"children":7328},{"className":7327},[],[7329],{"type":58,"value":7330},"{\"QueryName\":\"\u003Cshared>\"}",{"type":58,"value":7332}," (PascalCase canonical; the field is case-insensitive on the wire).",{"type":45,"tag":184,"props":7334,"children":7335},{},[7336,7351],{"type":45,"tag":206,"props":7337,"children":7338},{},[7339,7344,7345],{"type":45,"tag":85,"props":7340,"children":7342},{"className":7341},[],[7343],{"type":58,"value":593},{"type":58,"value":7307},{"type":45,"tag":85,"props":7346,"children":7348},{"className":7347},[],[7349],{"type":58,"value":7350},"DataflowExecuteQueryError: ErrorCode: QueryNotFound",{"type":45,"tag":206,"props":7352,"children":7353},{},[7354,7356,7361,7363,7368,7370,7375,7377,7382,7384,7389],{"type":58,"value":7355},"The value of ",{"type":45,"tag":85,"props":7357,"children":7359},{"className":7358},[],[7360],{"type":58,"value":1969},{"type":58,"value":7362}," doesn't match any ",{"type":45,"tag":85,"props":7364,"children":7366},{"className":7365},[],[7367],{"type":58,"value":5834},{"type":58,"value":7369}," member of the persisted M or supplied ",{"type":45,"tag":85,"props":7371,"children":7373},{"className":7372},[],[7374],{"type":58,"value":807},{"type":58,"value":7376},". List queries via ",{"type":45,"tag":85,"props":7378,"children":7380},{"className":7379},[],[7381],{"type":58,"value":1896},{"type":58,"value":7383}," → decode ",{"type":45,"tag":85,"props":7385,"children":7387},{"className":7386},[],[7388],{"type":58,"value":1815},{"type":58,"value":1057},{"type":45,"tag":184,"props":7391,"children":7392},{},[7393,7403],{"type":45,"tag":206,"props":7394,"children":7395},{},[7396,7401],{"type":45,"tag":85,"props":7397,"children":7399},{"className":7398},[],[7400],{"type":58,"value":1925},{"type":58,"value":7402}," returns 0 after a successful bind",{"type":45,"tag":206,"props":7404,"children":7405},{},[7406,7408,7413,7414,7419],{"type":58,"value":7407},"That endpoint reflects refresh-materialized state, not the definition. Verify via ",{"type":45,"tag":85,"props":7409,"children":7411},{"className":7410},[],[7412],{"type":58,"value":1896},{"type":58,"value":7383},{"type":45,"tag":85,"props":7415,"children":7417},{"className":7416},[],[7418],{"type":58,"value":6462},{"type":58,"value":1057},{"type":45,"tag":184,"props":7421,"children":7422},{},[7423,7446],{"type":45,"tag":206,"props":7424,"children":7425},{},[7426,7428,7433,7435,7440,7441],{"type":58,"value":7427},"404 \u002F ",{"type":45,"tag":85,"props":7429,"children":7431},{"className":7430},[],[7432],{"type":58,"value":1730},{"type":58,"value":7434}," fetching ",{"type":45,"tag":85,"props":7436,"children":7438},{"className":7437},[],[7439],{"type":58,"value":460},{"type":58,"value":5719},{"type":45,"tag":85,"props":7442,"children":7444},{"className":7443},[],[7445],{"type":58,"value":6525},{"type":45,"tag":206,"props":7447,"children":7448},{},[7449,7451,7457,7458,7463,7465,7469],{"type":58,"value":7450},"Per-id route does not resolve cloud connections. Use list + filter: ",{"type":45,"tag":85,"props":7452,"children":7454},{"className":7453},[],[7455],{"type":58,"value":7456},"GET ...\u002FgatewayClusterDatasources --query \"value[?id=='$CONN_ID'] | [0].clusterId\"",{"type":58,"value":1716},{"type":45,"tag":85,"props":7459,"children":7461},{"className":7460},[],[7462],{"type":58,"value":2287},{"type":58,"value":7464}," (no slash). Newly-created connections may need 5-15 s to surface — retry. See ",{"type":45,"tag":210,"props":7466,"children":7467},{"href":1735},[7468],{"type":58,"value":1738},{"type":58,"value":1057},{"type":45,"tag":184,"props":7471,"children":7472},{},[7473,7485],{"type":45,"tag":206,"props":7474,"children":7475},{},[7476,7478,7483],{"type":58,"value":7477},"Refresh fails on first run after ",{"type":45,"tag":85,"props":7479,"children":7481},{"className":7480},[],[7482],{"type":58,"value":1564},{"type":58,"value":7484}," (stale data, missing changes)",{"type":45,"tag":206,"props":7486,"children":7487},{},[7488,7490,7495],{"type":58,"value":7489},"Body must include ",{"type":45,"tag":85,"props":7491,"children":7493},{"className":7492},[],[7494],{"type":58,"value":2085},{"type":58,"value":7496}," on the first refresh after any definition change.",{"type":45,"tag":184,"props":7498,"children":7499},{},[7500,7505],{"type":45,"tag":206,"props":7501,"children":7502},{},[7503],{"type":58,"value":7504},"Refresh fails with \"Connection not found\"",{"type":45,"tag":206,"props":7506,"children":7507},{},[7508,7510,7515,7517,7522,7524,7529,7531,7536],{"type":58,"value":7509},"Extract ",{"type":45,"tag":85,"props":7511,"children":7513},{"className":7512},[],[7514],{"type":58,"value":1854},{"type":58,"value":7516}," (composite) from ",{"type":45,"tag":85,"props":7518,"children":7520},{"className":7519},[],[7521],{"type":58,"value":1838},{"type":58,"value":7523},", parse ",{"type":45,"tag":85,"props":7525,"children":7527},{"className":7526},[],[7528],{"type":58,"value":4901},{"type":58,"value":7530},", confirm via ",{"type":45,"tag":85,"props":7532,"children":7534},{"className":7533},[],[7535],{"type":58,"value":3035},{"type":58,"value":1057},{"type":45,"tag":184,"props":7538,"children":7539},{},[7540,7555],{"type":45,"tag":206,"props":7541,"children":7542},{},[7543,7548,7550],{"type":45,"tag":85,"props":7544,"children":7546},{"className":7545},[],[7547],{"type":58,"value":1846},{"type":58,"value":7549}," missing after ",{"type":45,"tag":85,"props":7551,"children":7553},{"className":7552},[],[7554],{"type":58,"value":1564},{"type":45,"tag":206,"props":7556,"children":7557},{},[7558,7560,7565,7567,7572],{"type":58,"value":7559},"Read-modify-write rebuilt ",{"type":45,"tag":85,"props":7561,"children":7563},{"className":7562},[],[7564],{"type":58,"value":1838},{"type":58,"value":7566}," from a snapshot without bindings. Re-bind and ",{"type":45,"tag":85,"props":7568,"children":7570},{"className":7569},[],[7571],{"type":58,"value":1564},{"type":58,"value":7573}," again before refresh.",{"type":45,"tag":184,"props":7575,"children":7576},{},[7577,7582],{"type":45,"tag":206,"props":7578,"children":7579},{},[7580],{"type":58,"value":7581},"Refresh reports \"connection not found\" after create+bind",{"type":45,"tag":206,"props":7583,"children":7584},{},[7585,7587,7592,7594,7600,7602,7607,7608,7613],{"type":58,"value":7586},"Wrong ID format in ",{"type":45,"tag":85,"props":7588,"children":7590},{"className":7589},[],[7591],{"type":58,"value":1838},{"type":58,"value":7593},". REST ",{"type":45,"tag":85,"props":7595,"children":7597},{"className":7596},[],[7598],{"type":58,"value":7599},"id",{"type":58,"value":7601}," is plain GUID; ",{"type":45,"tag":85,"props":7603,"children":7605},{"className":7604},[],[7606],{"type":58,"value":1854},{"type":58,"value":1856},{"type":45,"tag":85,"props":7609,"children":7611},{"className":7610},[],[7612],{"type":58,"value":1862},{"type":58,"value":1057},{"type":45,"tag":184,"props":7615,"children":7616},{},[7617,7628],{"type":45,"tag":206,"props":7618,"children":7619},{},[7620,7626],{"type":45,"tag":85,"props":7621,"children":7623},{"className":7622},[],[7624],{"type":58,"value":7625},"formatVersion",{"type":58,"value":7627}," mismatch error",{"type":45,"tag":206,"props":7629,"children":7630},{},[7631,7632,7637,7638,7643],{"type":58,"value":5606},{"type":45,"tag":85,"props":7633,"children":7635},{"className":7634},[],[7636],{"type":58,"value":5612},{"type":58,"value":5614},{"type":45,"tag":85,"props":7639,"children":7641},{"className":7640},[],[7642],{"type":58,"value":1838},{"type":58,"value":1057},{"type":45,"tag":184,"props":7645,"children":7646},{},[7647,7652],{"type":45,"tag":206,"props":7648,"children":7649},{},[7650],{"type":58,"value":7651},"Fast copy not engaged",{"type":45,"tag":206,"props":7653,"children":7654},{},[7655,7657,7663,7664,7670,7671,7676],{"type":58,"value":7656},"Add ",{"type":45,"tag":85,"props":7658,"children":7660},{"className":7659},[],[7661],{"type":58,"value":7662},"[StagingDefinition = [Kind = \"FastCopy\"]]",{"type":58,"value":6042},{"type":45,"tag":85,"props":7665,"children":7667},{"className":7666},[],[7668],{"type":58,"value":7669},"section",{"type":58,"value":5614},{"type":45,"tag":85,"props":7672,"children":7674},{"className":7673},[],[7675],{"type":58,"value":1815},{"type":58,"value":1057},{"type":45,"tag":184,"props":7678,"children":7679},{},[7680,7685],{"type":45,"tag":206,"props":7681,"children":7682},{},[7683],{"type":58,"value":7684},"LRO polling returns 404",{"type":45,"tag":206,"props":7686,"children":7687},{},[7688,7690,7695],{"type":58,"value":7689},"Use the ",{"type":45,"tag":85,"props":7691,"children":7693},{"className":7692},[],[7694],{"type":58,"value":1878},{"type":58,"value":7696}," header URL — don't construct operation URLs manually.",{"type":45,"tag":184,"props":7698,"children":7699},{},[7700,7705],{"type":45,"tag":206,"props":7701,"children":7702},{},[7703],{"type":58,"value":7704},"429 Too Many Requests",{"type":45,"tag":206,"props":7706,"children":7707},{},[7708,7710,7716],{"type":58,"value":7709},"Respect ",{"type":45,"tag":85,"props":7711,"children":7713},{"className":7712},[],[7714],{"type":58,"value":7715},"Retry-After",{"type":58,"value":7717},"; exponential backoff.",{"type":45,"tag":184,"props":7719,"children":7720},{},[7721,7726],{"type":45,"tag":206,"props":7722,"children":7723},{},[7724],{"type":58,"value":7725},"Base64 decode produces garbage",{"type":45,"tag":206,"props":7727,"children":7728},{},[7729,7731,7737],{"type":58,"value":7730},"Strip trailing newlines; use ",{"type":45,"tag":85,"props":7732,"children":7734},{"className":7733},[],[7735],{"type":58,"value":7736},"base64 -w0",{"type":58,"value":7738}," (Linux).",{"type":45,"tag":184,"props":7740,"children":7741},{},[7742,7753],{"type":45,"tag":206,"props":7743,"children":7744},{},[7745,7746,7751],{"type":58,"value":6912},{"type":45,"tag":85,"props":7747,"children":7749},{"className":7748},[],[7750],{"type":58,"value":6275},{"type":58,"value":7752}," returns 400 \u002F empty body on Windows",{"type":45,"tag":206,"props":7754,"children":7755},{},[7756,7761,7763,7769,7771,7777,7779,7785,7786,7790],{"type":45,"tag":85,"props":7757,"children":7759},{"className":7758},[],[7760],{"type":58,"value":6283},{"type":58,"value":7762}," arg parser mangles quotes when launching ",{"type":45,"tag":85,"props":7764,"children":7766},{"className":7765},[],[7767],{"type":58,"value":7768},"az.exe",{"type":58,"value":7770},". Write to ",{"type":45,"tag":85,"props":7772,"children":7774},{"className":7773},[],[7775],{"type":58,"value":7776},"$env:TEMP\\body.json",{"type":58,"value":7778}," (UTF-8, no BOM) and pass ",{"type":45,"tag":85,"props":7780,"children":7782},{"className":7781},[],[7783],{"type":58,"value":7784},"--body \"@$env:TEMP\\body.json\"",{"type":58,"value":5748},{"type":45,"tag":210,"props":7787,"children":7788},{"href":6288},[7789],{"type":58,"value":6291},{"type":58,"value":1057},{"type":45,"tag":184,"props":7792,"children":7793},{},[7794,7806],{"type":45,"tag":206,"props":7795,"children":7796},{},[7797,7799,7804],{"type":58,"value":7798},"Refresh fails with ",{"type":45,"tag":85,"props":7800,"children":7802},{"className":7801},[],[7803],{"type":58,"value":6113},{"type":58,"value":7805}," \u002F \"Something went wrong\" and no detail",{"type":45,"tag":206,"props":7807,"children":7808},{},[7809,7811,7816,7818,7823,7825,7830,7832,7837,7838,7843,7845,7850,7852,7858],{"type":58,"value":7810},"(1) Confirm ",{"type":45,"tag":85,"props":7812,"children":7814},{"className":7813},[],[7815],{"type":58,"value":1564},{"type":58,"value":7817}," was called after create; (2) check credential type — ",{"type":45,"tag":85,"props":7819,"children":7821},{"className":7820},[],[7822],{"type":58,"value":6322},{"type":58,"value":7824},"+",{"type":45,"tag":85,"props":7826,"children":7828},{"className":7827},[],[7829],{"type":58,"value":6329},{"type":58,"value":7831}," often fails under tenant Conditional Access for unattended refresh; prefer ",{"type":45,"tag":85,"props":7833,"children":7835},{"className":7834},[],[7836],{"type":58,"value":6306},{"type":58,"value":2124},{"type":45,"tag":85,"props":7839,"children":7841},{"className":7840},[],[7842],{"type":58,"value":6313},{"type":58,"value":7844},"; (3) ",{"type":45,"tag":85,"props":7846,"children":7848},{"className":7847},[],[7849],{"type":58,"value":593},{"type":58,"value":7851}," against the dataflow to isolate M+source; (4) ",{"type":45,"tag":85,"props":7853,"children":7855},{"className":7854},[],[7856],{"type":58,"value":7857},"GET https:\u002F\u002Fapi.powerbi.com\u002Fv1.0\u002Fmyorg\u002Fgroups\u002F{ws}\u002Fdataflows\u002F{df}\u002Ftransactions",{"type":58,"value":7859}," (PBI v1.0) sometimes returns richer per-entity errors.",{"type":45,"tag":811,"props":7861,"children":7862},{},[],{"type":45,"tag":153,"props":7864,"children":7866},{"id":7865},"examples",[7867],{"type":58,"value":331},{"type":45,"tag":46,"props":7869,"children":7870},{},[7871],{"type":45,"tag":50,"props":7872,"children":7873},{},[7874,7879,7881,7887,7889,7895,7896,7902,7904,7909,7911,7916,7918,7923,7925,7931,7933,7939,7941,7946,7948,7954,7956,7961],{"type":45,"tag":54,"props":7875,"children":7876},{},[7877],{"type":58,"value":7878},"Platform note",{"type":58,"value":7880}," — examples below are bash. On Windows \u002F PowerShell the bash patterns (",{"type":45,"tag":85,"props":7882,"children":7884},{"className":7883},[],[7885],{"type":58,"value":7886},"MASHUP='...'",{"type":58,"value":7888}," heredoc, ",{"type":45,"tag":85,"props":7890,"children":7892},{"className":7891},[],[7893],{"type":58,"value":7894},"echo -n | base64 -w0",{"type":58,"value":1031},{"type":45,"tag":85,"props":7897,"children":7899},{"className":7898},[],[7900],{"type":58,"value":7901},"tr -d '\\r' | grep -i location | awk",{"type":58,"value":7903},") cause real escaping pain and refresh-pattern flakes. ",{"type":45,"tag":54,"props":7905,"children":7906},{},[7907],{"type":58,"value":7908},"PowerShell variants",{"type":58,"value":7910}," are linked from the two highest-friction examples (Create and Refresh) below. For full PowerShell templates (Create, Refresh, Validate Connections, Bind Connection, Create Cloud Connection): ",{"type":45,"tag":210,"props":7912,"children":7913},{"href":421},[7914],{"type":58,"value":7915},"authoring-script-templates.md § PowerShell",{"type":58,"value":7917},". On PowerShell, prefer ",{"type":45,"tag":85,"props":7919,"children":7921},{"className":7920},[],[7922],{"type":58,"value":7784},{"type":58,"value":7924}," and write the body via ",{"type":45,"tag":85,"props":7926,"children":7928},{"className":7927},[],[7929],{"type":58,"value":7930},"[IO.File]::WriteAllText($path, $body, [System.Text.UTF8Encoding]::new($false))",{"type":58,"value":7932}," over ",{"type":45,"tag":85,"props":7934,"children":7936},{"className":7935},[],[7937],{"type":58,"value":7938},"Out-File",{"type":58,"value":7940}," (which writes a UTF-8 BOM on Windows PowerShell 5.1 and breaks ",{"type":45,"tag":85,"props":7942,"children":7944},{"className":7943},[],[7945],{"type":58,"value":7768},{"type":58,"value":7947}," body parsing) and over inline ",{"type":45,"tag":85,"props":7949,"children":7951},{"className":7950},[],[7952],{"type":58,"value":7953},"--body \"{...}\"",{"type":58,"value":7955}," (which ",{"type":45,"tag":85,"props":7957,"children":7959},{"className":7958},[],[7960],{"type":58,"value":6283},{"type":58,"value":7962}," mangles).",{"type":45,"tag":1067,"props":7964,"children":7966},{"id":7965},"example-1-create-a-dataflow-gen2-from-scratch",[7967],{"type":58,"value":7968},"Example 1: Create a Dataflow Gen2 from Scratch",{"type":45,"tag":50,"props":7970,"children":7971},{},[7972,7977],{"type":45,"tag":54,"props":7973,"children":7974},{},[7975],{"type":58,"value":7976},"Prompt",{"type":58,"value":7978},": \"Create a new Dataflow Gen2 that reads a public CSV via the Web connector, and verify it.\"",{"type":45,"tag":50,"props":7980,"children":7981},{},[7982,7987,7989,7993,7995,8001],{"type":45,"tag":54,"props":7983,"children":7984},{},[7985],{"type":58,"value":7986},"Agent response",{"type":58,"value":7988}," — runnable bash implementation of ",{"type":45,"tag":210,"props":7990,"children":7991},{"href":1518},[7992],{"type":58,"value":2987},{"type":58,"value":7994},". PowerShell variant: ",{"type":45,"tag":210,"props":7996,"children":7998},{"href":7997},"references\u002Fauthoring-script-templates.md#end-to-end-smoke-test",[7999],{"type":58,"value":8000},"authoring-script-templates.md § End-to-End Smoke Test",{"type":58,"value":1057},{"type":45,"tag":1085,"props":8003,"children":8005},{"className":1087,"code":8004,"language":1089,"meta":1090,"style":1090},"# Prereqs: az login, jq, base64, uuidgen. Workspace must support Dataflow Gen2.\nWS_ID=\"\u003CworkspaceId>\"\nDF_NAME=\"my-titanic-df\"\nCONN_NAME=\"my-titanic-web-conn\"\nURL=\"https:\u002F\u002Fraw.githubusercontent.com\u002Fdatasciencedojo\u002Fdatasets\u002Fmaster\u002Ftitanic.csv\"\nRES=\"https:\u002F\u002Fapi.fabric.microsoft.com\"; API=\"$RES\u002Fv1\"\nPBI=\"https:\u002F\u002Fanalysis.windows.net\u002Fpowerbi\u002Fapi\"   # NO trailing slash\n\n# Step 1: List existing connections, try to reuse by name.\nCONN_ID=$(az rest --method get --resource \"$RES\" --url \"$API\u002Fconnections\" \\\n  --query \"value[?displayName=='$CONN_NAME'] | [0].id\" -o tsv)\n\n# Step 2: Create if missing (Web + Anonymous; see connection-management.md for other shapes).\nif [ -z \"$CONN_ID\" ] || [ \"$CONN_ID\" = \"null\" ]; then\n  BODY_FILE=$(mktemp --suffix=.json 2>\u002Fdev\u002Fnull || mktemp)  # GNU + BSD\u002FmacOS compatible\n  cat > \"$BODY_FILE\" \u003C\u003CEOF\n{\n  \"displayName\": \"$CONN_NAME\",\n  \"connectivityType\": \"ShareableCloud\",\n  \"connectionDetails\": {\n    \"type\": \"Web\", \"creationMethod\": \"Web\",\n    \"parameters\": [{\"name\": \"url\", \"dataType\": \"Text\", \"value\": \"$URL\"}]\n  },\n  \"privacyLevel\": \"Organizational\",\n  \"credentialDetails\": {\n    \"singleSignOnType\": \"None\", \"connectionEncryption\": \"NotEncrypted\",\n    \"skipTestConnection\": false,\n    \"credentials\": {\"credentialType\": \"Anonymous\"}\n  }\n}\nEOF\n  CONN_ID=$(az rest --method post --resource \"$RES\" --url \"$API\u002Fconnections\" \\\n    --headers \"Content-Type=application\u002Fjson\" --body \"@$BODY_FILE\" --query id -o tsv)\n  rm -f \"$BODY_FILE\"\nfi\n\n# Step 3: Resolve ClusterId via list+filter; retry — PBI v2 lags by 5-15s on new conns.\nfor i in 1 2 3 4 5 6 7 8; do\n  CLUSTER_ID=$(az rest --method get --resource \"$PBI\" \\\n    --url \"https:\u002F\u002Fapi.powerbi.com\u002Fv2.0\u002Fmyorg\u002Fme\u002FgatewayClusterDatasources\" \\\n    --query \"value[?id=='$CONN_ID'] | [0].clusterId\" -o tsv 2>\u002Fdev\u002Fnull)\n  [ -n \"$CLUSTER_ID\" ] && [ \"$CLUSTER_ID\" != \"null\" ] && break\n  sleep $((i*3))\ndone\n# Fail-fast: an empty ClusterId silently corrupts the composite connectionId and the\n# resulting updateDefinition \u002F refresh failures are hard to debug. Stop here instead.\nif [ -z \"$CLUSTER_ID\" ] || [ \"$CLUSTER_ID\" = \"null\" ]; then\n  echo \"FAIL: ClusterId not resolved for $CONN_ID after retries. Verify the connection is visible at PBI v2 (api.powerbi.com\u002Fv2.0\u002Fmyorg\u002Fme\u002FgatewayClusterDatasources).\" >&2\n  exit 1\nfi\n\n# Step 4: Create empty dataflow shell (sync 201).\nSHELL_BODY=$(mktemp --suffix=.json 2>\u002Fdev\u002Fnull || mktemp)\nprintf '{\"displayName\":\"%s\"}' \"$DF_NAME\" > \"$SHELL_BODY\"\nDF_ID=$(az rest --method post --resource \"$RES\" \\\n  --url \"$API\u002Fworkspaces\u002F$WS_ID\u002Fdataflows\" \\\n  --headers \"Content-Type=application\u002Fjson\" \\\n  --body \"@$SHELL_BODY\" --query id -o tsv)\nrm -f \"$SHELL_BODY\"\n\n# Step 5: One-shot updateDefinition — real M + composite-bound connections[] + .platform.\nMASHUP='section Section1;\nshared Titanic = let\n    Source = Csv.Document(Web.Contents(\"'\"$URL\"'\"), [Delimiter=\",\", Encoding=65001, QuoteStyle=QuoteStyle.Csv]),\n    Headers = Table.PromoteHeaders(Source, [PromoteAllScalars=true])\nin Headers;'\n\nCOMPOSITE_ID=\"{\\\"ClusterId\\\":\\\"$CLUSTER_ID\\\",\\\"DatasourceId\\\":\\\"$CONN_ID\\\"}\"\nQUERY_META=$(jq -n --arg name \"$DF_NAME\" --arg cid \"$COMPOSITE_ID\" --arg url \"$URL\" --arg qid \"$(uuidgen)\" '{\n  formatVersion: \"202502\",\n  name: $name,\n  queriesMetadata: { Titanic: { queryId: $qid, queryName: \"Titanic\" } },\n  connections: [ { connectionId: $cid, kind: \"Web\", path: $url } ]\n}')\nPLATFORM=$(jq -n --arg name \"$DF_NAME\" --arg lid \"$(uuidgen)\" '{\n  \"$schema\": \"https:\u002F\u002Fdeveloper.microsoft.com\u002Fjson-schemas\u002Ffabric\u002FgitIntegration\u002FplatformProperties\u002F2.0.0\u002Fschema.json\",\n  metadata: { type: \"Dataflow\", displayName: $name },\n  config: { version: \"2.0\", logicalId: $lid }\n}')\n\nMASHUP_B64=$(echo -n \"$MASHUP\" | base64 -w0)\nMETA_B64=$(echo -n \"$QUERY_META\" | base64 -w0)\nPLAT_B64=$(echo -n \"$PLATFORM\" | base64 -w0)\n\nBODY_FILE=$(mktemp --suffix=.json 2>\u002Fdev\u002Fnull || mktemp)  # GNU + BSD\u002FmacOS compatible\ncat > \"$BODY_FILE\" \u003C\u003CEOF\n{\"definition\":{\"parts\":[\n  {\"path\":\"mashup.pq\",          \"payload\":\"${MASHUP_B64}\", \"payloadType\":\"InlineBase64\"},\n  {\"path\":\"queryMetadata.json\", \"payload\":\"${META_B64}\",   \"payloadType\":\"InlineBase64\"},\n  {\"path\":\".platform\",          \"payload\":\"${PLAT_B64}\",   \"payloadType\":\"InlineBase64\"}\n]}}\nEOF\naz rest --method post --resource \"$RES\" \\\n  --url \"$API\u002Fworkspaces\u002F$WS_ID\u002Fdataflows\u002F$DF_ID\u002FupdateDefinition?updateMetadata=true\" \\\n  --headers \"Content-Type=application\u002Fjson\" --body \"@$BODY_FILE\"\nrm -f \"$BODY_FILE\"\n\n# Step 6: Verify connections[] persisted via getDefinition (NOT \u002Fitems\u002F{id}\u002Fconnections).\n# Assumes the sync 200 fast-path (typical, ~1s). If the call ever returns 202 LRO,\n# az rest can't expose the Location header — switch to the curl + poll pattern from\n# Example 3 \u002F authoring-script-templates.md and decode the polled 200 body instead.\nPERSISTED=$(az rest --method post --resource \"$RES\" \\\n  --url \"$API\u002Fworkspaces\u002F$WS_ID\u002Fdataflows\u002F$DF_ID\u002FgetDefinition\" \\\n  --headers \"Content-Length=0\" \\\n  | jq -r '.definition.parts[] | select(.path==\"queryMetadata.json\") | .payload' | base64 -d \\\n  | jq -r '.connections | length')\n[ \"${PERSISTED:-0}\" -gt 0 ] && echo \"OK: connections[] persisted.\" || { echo \"FAIL: bind missing (or getDefinition returned a 202 LRO body — see note above).\" >&2; exit 1; }\n\n# Step 7 (optional): Validate the M evaluates — top-level QueryName, PascalCase.\nEQ_BODY=$(mktemp --suffix=.json 2>\u002Fdev\u002Fnull || mktemp)\nprintf '{\"QueryName\":\"Titanic\"}' > \"$EQ_BODY\"\naz rest --method post --resource \"$RES\" \\\n  --url \"$API\u002Fworkspaces\u002F$WS_ID\u002Fdataflows\u002F$DF_ID\u002FexecuteQuery\" \\\n  --headers \"Content-Type=application\u002Fjson\" \\\n  --body \"@$EQ_BODY\" --output-file \u002Ftmp\u002Ftitanic.arrow\nrm -f \"$EQ_BODY\"\n# Apache Arrow stream — embedded {\"Error\":\"...\"} means failure even on HTTP 200.\ngrep -q '\"Error\":\"' \u002Ftmp\u002Ftitanic.arrow && { echo \"executeQuery surfaced an error.\" >&2; exit 1; }\n\n# Step 8 (optional): Trigger refresh with ApplyChangesIfNeeded on first run — see Example 2.\n",[8006],{"type":45,"tag":85,"props":8007,"children":8008},{"__ignoreMap":1090},[8009,8017,8040,8065,8090,8115,8166,8194,8201,8209,8276,8317,8324,8332,8408,8453,8488,8496,8513,8521,8529,8537,8554,8562,8570,8578,8586,8594,8602,8610,8617,8624,8692,8753,8777,8784,8791,8799,8865,8914,8939,8988,9068,9092,9100,9109,9118,9194,9230,9244,9252,9260,9269,9309,9359,9407,9443,9467,9511,9535,9543,9552,9574,9583,9611,9620,9634,9642,9722,9837,9846,9855,9864,9873,9889,9959,9968,9977,9986,10002,10010,10061,10110,10160,10168,10213,10245,10254,10281,10307,10333,10342,10350,10390,10435,10475,10499,10507,10516,10525,10534,10543,10592,10636,10661,10706,10739,10852,10860,10869,10910,10948,10988,11033,11057,11091,11115,11124,11201,11209],{"type":45,"tag":1096,"props":8010,"children":8011},{"class":1098,"line":1099},[8012],{"type":45,"tag":1096,"props":8013,"children":8014},{"style":1103},[8015],{"type":58,"value":8016},"# Prereqs: az login, jq, base64, uuidgen. Workspace must support Dataflow Gen2.\n",{"type":45,"tag":1096,"props":8018,"children":8019},{"class":1098,"line":1109},[8020,8024,8028,8032,8036],{"type":45,"tag":1096,"props":8021,"children":8022},{"style":1134},[8023],{"type":58,"value":1252},{"type":45,"tag":1096,"props":8025,"children":8026},{"style":1149},[8027],{"type":58,"value":1257},{"type":45,"tag":1096,"props":8029,"children":8030},{"style":1149},[8031],{"type":58,"value":1162},{"type":45,"tag":1096,"props":8033,"children":8034},{"style":1118},[8035],{"type":58,"value":1266},{"type":45,"tag":1096,"props":8037,"children":8038},{"style":1149},[8039],{"type":58,"value":1271},{"type":45,"tag":1096,"props":8041,"children":8042},{"class":1098,"line":1140},[8043,8048,8052,8056,8061],{"type":45,"tag":1096,"props":8044,"children":8045},{"style":1134},[8046],{"type":58,"value":8047},"DF_NAME",{"type":45,"tag":1096,"props":8049,"children":8050},{"style":1149},[8051],{"type":58,"value":1257},{"type":45,"tag":1096,"props":8053,"children":8054},{"style":1149},[8055],{"type":58,"value":1162},{"type":45,"tag":1096,"props":8057,"children":8058},{"style":1118},[8059],{"type":58,"value":8060},"my-titanic-df",{"type":45,"tag":1096,"props":8062,"children":8063},{"style":1149},[8064],{"type":58,"value":1271},{"type":45,"tag":1096,"props":8066,"children":8067},{"class":1098,"line":1169},[8068,8073,8077,8081,8086],{"type":45,"tag":1096,"props":8069,"children":8070},{"style":1134},[8071],{"type":58,"value":8072},"CONN_NAME",{"type":45,"tag":1096,"props":8074,"children":8075},{"style":1149},[8076],{"type":58,"value":1257},{"type":45,"tag":1096,"props":8078,"children":8079},{"style":1149},[8080],{"type":58,"value":1162},{"type":45,"tag":1096,"props":8082,"children":8083},{"style":1118},[8084],{"type":58,"value":8085},"my-titanic-web-conn",{"type":45,"tag":1096,"props":8087,"children":8088},{"style":1149},[8089],{"type":58,"value":1271},{"type":45,"tag":1096,"props":8091,"children":8092},{"class":1098,"line":1195},[8093,8098,8102,8106,8111],{"type":45,"tag":1096,"props":8094,"children":8095},{"style":1134},[8096],{"type":58,"value":8097},"URL",{"type":45,"tag":1096,"props":8099,"children":8100},{"style":1149},[8101],{"type":58,"value":1257},{"type":45,"tag":1096,"props":8103,"children":8104},{"style":1149},[8105],{"type":58,"value":1162},{"type":45,"tag":1096,"props":8107,"children":8108},{"style":1118},[8109],{"type":58,"value":8110},"https:\u002F\u002Fraw.githubusercontent.com\u002Fdatasciencedojo\u002Fdatasets\u002Fmaster\u002Ftitanic.csv",{"type":45,"tag":1096,"props":8112,"children":8113},{"style":1149},[8114],{"type":58,"value":1271},{"type":45,"tag":1096,"props":8116,"children":8117},{"class":1098,"line":1227},[8118,8122,8126,8130,8134,8138,8142,8146,8150,8154,8158,8162],{"type":45,"tag":1096,"props":8119,"children":8120},{"style":1134},[8121],{"type":58,"value":2219},{"type":45,"tag":1096,"props":8123,"children":8124},{"style":1149},[8125],{"type":58,"value":1257},{"type":45,"tag":1096,"props":8127,"children":8128},{"style":1149},[8129],{"type":58,"value":1162},{"type":45,"tag":1096,"props":8131,"children":8132},{"style":1118},[8133],{"type":58,"value":1157},{"type":45,"tag":1096,"props":8135,"children":8136},{"style":1149},[8137],{"type":58,"value":1162},{"type":45,"tag":1096,"props":8139,"children":8140},{"style":1149},[8141],{"type":58,"value":2189},{"type":45,"tag":1096,"props":8143,"children":8144},{"style":1134},[8145],{"type":58,"value":2244},{"type":45,"tag":1096,"props":8147,"children":8148},{"style":1149},[8149],{"type":58,"value":1257},{"type":45,"tag":1096,"props":8151,"children":8152},{"style":1149},[8153],{"type":58,"value":1162},{"type":45,"tag":1096,"props":8155,"children":8156},{"style":1134},[8157],{"type":58,"value":2257},{"type":45,"tag":1096,"props":8159,"children":8160},{"style":1118},[8161],{"type":58,"value":2262},{"type":45,"tag":1096,"props":8163,"children":8164},{"style":1149},[8165],{"type":58,"value":1271},{"type":45,"tag":1096,"props":8167,"children":8168},{"class":1098,"line":1237},[8169,8173,8177,8181,8185,8189],{"type":45,"tag":1096,"props":8170,"children":8171},{"style":1134},[8172],{"type":58,"value":2274},{"type":45,"tag":1096,"props":8174,"children":8175},{"style":1149},[8176],{"type":58,"value":1257},{"type":45,"tag":1096,"props":8178,"children":8179},{"style":1149},[8180],{"type":58,"value":1162},{"type":45,"tag":1096,"props":8182,"children":8183},{"style":1118},[8184],{"type":58,"value":2287},{"type":45,"tag":1096,"props":8186,"children":8187},{"style":1149},[8188],{"type":58,"value":1162},{"type":45,"tag":1096,"props":8190,"children":8191},{"style":1103},[8192],{"type":58,"value":8193},"   # NO trailing slash\n",{"type":45,"tag":1096,"props":8195,"children":8196},{"class":1098,"line":1246},[8197],{"type":45,"tag":1096,"props":8198,"children":8199},{"emptyLinePlaceholder":1231},[8200],{"type":58,"value":1234},{"type":45,"tag":1096,"props":8202,"children":8203},{"class":1098,"line":1274},[8204],{"type":45,"tag":1096,"props":8205,"children":8206},{"style":1103},[8207],{"type":58,"value":8208},"# Step 1: List existing connections, try to reuse by name.\n",{"type":45,"tag":1096,"props":8210,"children":8211},{"class":1098,"line":1298},[8212,8216,8220,8224,8228,8232,8236,8240,8244,8248,8252,8256,8260,8264,8268,8272],{"type":45,"tag":1096,"props":8213,"children":8214},{"style":1134},[8215],{"type":58,"value":2314},{"type":45,"tag":1096,"props":8217,"children":8218},{"style":1149},[8219],{"type":58,"value":2319},{"type":45,"tag":1096,"props":8221,"children":8222},{"style":1113},[8223],{"type":58,"value":224},{"type":45,"tag":1096,"props":8225,"children":8226},{"style":1118},[8227],{"type":58,"value":1121},{"type":45,"tag":1096,"props":8229,"children":8230},{"style":1118},[8231],{"type":58,"value":1126},{"type":45,"tag":1096,"props":8233,"children":8234},{"style":1118},[8235],{"type":58,"value":1131},{"type":45,"tag":1096,"props":8237,"children":8238},{"style":1118},[8239],{"type":58,"value":2340},{"type":45,"tag":1096,"props":8241,"children":8242},{"style":1149},[8243],{"type":58,"value":1152},{"type":45,"tag":1096,"props":8245,"children":8246},{"style":1134},[8247],{"type":58,"value":2257},{"type":45,"tag":1096,"props":8249,"children":8250},{"style":1149},[8251],{"type":58,"value":1162},{"type":45,"tag":1096,"props":8253,"children":8254},{"style":1118},[8255],{"type":58,"value":2357},{"type":45,"tag":1096,"props":8257,"children":8258},{"style":1149},[8259],{"type":58,"value":1152},{"type":45,"tag":1096,"props":8261,"children":8262},{"style":1134},[8263],{"type":58,"value":2366},{"type":45,"tag":1096,"props":8265,"children":8266},{"style":1118},[8267],{"type":58,"value":2371},{"type":45,"tag":1096,"props":8269,"children":8270},{"style":1149},[8271],{"type":58,"value":1162},{"type":45,"tag":1096,"props":8273,"children":8274},{"style":1134},[8275],{"type":58,"value":1137},{"type":45,"tag":1096,"props":8277,"children":8278},{"class":1098,"line":1322},[8279,8283,8287,8292,8297,8301,8305,8309,8313],{"type":45,"tag":1096,"props":8280,"children":8281},{"style":1118},[8282],{"type":58,"value":1201},{"type":45,"tag":1096,"props":8284,"children":8285},{"style":1149},[8286],{"type":58,"value":1152},{"type":45,"tag":1096,"props":8288,"children":8289},{"style":1118},[8290],{"type":58,"value":8291},"value[?displayName=='",{"type":45,"tag":1096,"props":8293,"children":8294},{"style":1134},[8295],{"type":58,"value":8296},"$CONN_NAME",{"type":45,"tag":1096,"props":8298,"children":8299},{"style":1118},[8300],{"type":58,"value":2405},{"type":45,"tag":1096,"props":8302,"children":8303},{"style":1149},[8304],{"type":58,"value":1162},{"type":45,"tag":1096,"props":8306,"children":8307},{"style":1118},[8308],{"type":58,"value":2414},{"type":45,"tag":1096,"props":8310,"children":8311},{"style":1118},[8312],{"type":58,"value":2419},{"type":45,"tag":1096,"props":8314,"children":8315},{"style":1149},[8316],{"type":58,"value":2424},{"type":45,"tag":1096,"props":8318,"children":8319},{"class":1098,"line":1357},[8320],{"type":45,"tag":1096,"props":8321,"children":8322},{"emptyLinePlaceholder":1231},[8323],{"type":58,"value":1234},{"type":45,"tag":1096,"props":8325,"children":8326},{"class":1098,"line":2442},[8327],{"type":45,"tag":1096,"props":8328,"children":8329},{"style":1103},[8330],{"type":58,"value":8331},"# Step 2: Create if missing (Web + Anonymous; see connection-management.md for other shapes).\n",{"type":45,"tag":1096,"props":8333,"children":8334},{"class":1098,"line":2451},[8335,8339,8343,8347,8351,8355,8359,8363,8367,8371,8375,8379,8383,8387,8391,8396,8400,8404],{"type":45,"tag":1096,"props":8336,"children":8337},{"style":3442},[8338],{"type":58,"value":3445},{"type":45,"tag":1096,"props":8340,"children":8341},{"style":1149},[8342],{"type":58,"value":3450},{"type":45,"tag":1096,"props":8344,"children":8345},{"style":1149},[8346],{"type":58,"value":4501},{"type":45,"tag":1096,"props":8348,"children":8349},{"style":1149},[8350],{"type":58,"value":1152},{"type":45,"tag":1096,"props":8352,"children":8353},{"style":1134},[8354],{"type":58,"value":2545},{"type":45,"tag":1096,"props":8356,"children":8357},{"style":1149},[8358],{"type":58,"value":1162},{"type":45,"tag":1096,"props":8360,"children":8361},{"style":1149},[8362],{"type":58,"value":4519},{"type":45,"tag":1096,"props":8364,"children":8365},{"style":1149},[8366],{"type":58,"value":2621},{"type":45,"tag":1096,"props":8368,"children":8369},{"style":1149},[8370],{"type":58,"value":3450},{"type":45,"tag":1096,"props":8372,"children":8373},{"style":1149},[8374],{"type":58,"value":1152},{"type":45,"tag":1096,"props":8376,"children":8377},{"style":1134},[8378],{"type":58,"value":2545},{"type":45,"tag":1096,"props":8380,"children":8381},{"style":1149},[8382],{"type":58,"value":1162},{"type":45,"tag":1096,"props":8384,"children":8385},{"style":1149},[8386],{"type":58,"value":3468},{"type":45,"tag":1096,"props":8388,"children":8389},{"style":1149},[8390],{"type":58,"value":1152},{"type":45,"tag":1096,"props":8392,"children":8393},{"style":1118},[8394],{"type":58,"value":8395},"null",{"type":45,"tag":1096,"props":8397,"children":8398},{"style":1149},[8399],{"type":58,"value":1162},{"type":45,"tag":1096,"props":8401,"children":8402},{"style":1149},[8403],{"type":58,"value":3486},{"type":45,"tag":1096,"props":8405,"children":8406},{"style":3442},[8407],{"type":58,"value":3491},{"type":45,"tag":1096,"props":8409,"children":8410},{"class":1098,"line":2501},[8411,8416,8420,8424,8428,8432,8436,8440,8444,8448],{"type":45,"tag":1096,"props":8412,"children":8413},{"style":1134},[8414],{"type":58,"value":8415},"  BODY_FILE",{"type":45,"tag":1096,"props":8417,"children":8418},{"style":1149},[8419],{"type":58,"value":2319},{"type":45,"tag":1096,"props":8421,"children":8422},{"style":1113},[8423],{"type":58,"value":2601},{"type":45,"tag":1096,"props":8425,"children":8426},{"style":1118},[8427],{"type":58,"value":2606},{"type":45,"tag":1096,"props":8429,"children":8430},{"style":1149},[8431],{"type":58,"value":2611},{"type":45,"tag":1096,"props":8433,"children":8434},{"style":1118},[8435],{"type":58,"value":2616},{"type":45,"tag":1096,"props":8437,"children":8438},{"style":1149},[8439],{"type":58,"value":2621},{"type":45,"tag":1096,"props":8441,"children":8442},{"style":1113},[8443],{"type":58,"value":2626},{"type":45,"tag":1096,"props":8445,"children":8446},{"style":1149},[8447],{"type":58,"value":174},{"type":45,"tag":1096,"props":8449,"children":8450},{"style":1103},[8451],{"type":58,"value":8452},"  # GNU + BSD\u002FmacOS compatible\n",{"type":45,"tag":1096,"props":8454,"children":8455},{"class":1098,"line":2526},[8456,8461,8465,8469,8474,8478,8483],{"type":45,"tag":1096,"props":8457,"children":8458},{"style":1113},[8459],{"type":58,"value":8460},"  cat",{"type":45,"tag":1096,"props":8462,"children":8463},{"style":1149},[8464],{"type":58,"value":2660},{"type":45,"tag":1096,"props":8466,"children":8467},{"style":1149},[8468],{"type":58,"value":1152},{"type":45,"tag":1096,"props":8470,"children":8471},{"style":1134},[8472],{"type":58,"value":8473},"$BODY_FILE",{"type":45,"tag":1096,"props":8475,"children":8476},{"style":1149},[8477],{"type":58,"value":1162},{"type":45,"tag":1096,"props":8479,"children":8480},{"style":1149},[8481],{"type":58,"value":8482}," \u003C\u003C",{"type":45,"tag":1096,"props":8484,"children":8485},{"style":1149},[8486],{"type":58,"value":8487},"EOF\n",{"type":45,"tag":1096,"props":8489,"children":8490},{"class":1098,"line":2569},[8491],{"type":45,"tag":1096,"props":8492,"children":8493},{"style":1118},[8494],{"type":58,"value":8495},"{\n",{"type":45,"tag":1096,"props":8497,"children":8498},{"class":1098,"line":2577},[8499,8504,8508],{"type":45,"tag":1096,"props":8500,"children":8501},{"style":1118},[8502],{"type":58,"value":8503},"  \"displayName\": \"",{"type":45,"tag":1096,"props":8505,"children":8506},{"style":1134},[8507],{"type":58,"value":8296},{"type":45,"tag":1096,"props":8509,"children":8510},{"style":1118},[8511],{"type":58,"value":8512},"\",\n",{"type":45,"tag":1096,"props":8514,"children":8515},{"class":1098,"line":2586},[8516],{"type":45,"tag":1096,"props":8517,"children":8518},{"style":1118},[8519],{"type":58,"value":8520},"  \"connectivityType\": \"ShareableCloud\",\n",{"type":45,"tag":1096,"props":8522,"children":8523},{"class":1098,"line":2633},[8524],{"type":45,"tag":1096,"props":8525,"children":8526},{"style":1118},[8527],{"type":58,"value":8528},"  \"connectionDetails\": {\n",{"type":45,"tag":1096,"props":8530,"children":8531},{"class":1098,"line":2676},[8532],{"type":45,"tag":1096,"props":8533,"children":8534},{"style":1118},[8535],{"type":58,"value":8536},"    \"type\": \"Web\", \"creationMethod\": \"Web\",\n",{"type":45,"tag":1096,"props":8538,"children":8539},{"class":1098,"line":2725},[8540,8545,8549],{"type":45,"tag":1096,"props":8541,"children":8542},{"style":1118},[8543],{"type":58,"value":8544},"    \"parameters\": [{\"name\": \"url\", \"dataType\": \"Text\", \"value\": \"",{"type":45,"tag":1096,"props":8546,"children":8547},{"style":1134},[8548],{"type":58,"value":2400},{"type":45,"tag":1096,"props":8550,"children":8551},{"style":1118},[8552],{"type":58,"value":8553},"\"}]\n",{"type":45,"tag":1096,"props":8555,"children":8556},{"class":1098,"line":2762},[8557],{"type":45,"tag":1096,"props":8558,"children":8559},{"style":1118},[8560],{"type":58,"value":8561},"  },\n",{"type":45,"tag":1096,"props":8563,"children":8564},{"class":1098,"line":2788},[8565],{"type":45,"tag":1096,"props":8566,"children":8567},{"style":1118},[8568],{"type":58,"value":8569},"  \"privacyLevel\": \"Organizational\",\n",{"type":45,"tag":1096,"props":8571,"children":8572},{"class":1098,"line":2836},[8573],{"type":45,"tag":1096,"props":8574,"children":8575},{"style":1118},[8576],{"type":58,"value":8577},"  \"credentialDetails\": {\n",{"type":45,"tag":1096,"props":8579,"children":8580},{"class":1098,"line":2862},[8581],{"type":45,"tag":1096,"props":8582,"children":8583},{"style":1118},[8584],{"type":58,"value":8585},"    \"singleSignOnType\": \"None\", \"connectionEncryption\": \"NotEncrypted\",\n",{"type":45,"tag":1096,"props":8587,"children":8588},{"class":1098,"line":2870},[8589],{"type":45,"tag":1096,"props":8590,"children":8591},{"style":1118},[8592],{"type":58,"value":8593},"    \"skipTestConnection\": false,\n",{"type":45,"tag":1096,"props":8595,"children":8596},{"class":1098,"line":2879},[8597],{"type":45,"tag":1096,"props":8598,"children":8599},{"style":1118},[8600],{"type":58,"value":8601},"    \"credentials\": {\"credentialType\": \"Anonymous\"}\n",{"type":45,"tag":1096,"props":8603,"children":8604},{"class":1098,"line":2888},[8605],{"type":45,"tag":1096,"props":8606,"children":8607},{"style":1118},[8608],{"type":58,"value":8609},"  }\n",{"type":45,"tag":1096,"props":8611,"children":8612},{"class":1098,"line":2897},[8613],{"type":45,"tag":1096,"props":8614,"children":8615},{"style":1118},[8616],{"type":58,"value":3723},{"type":45,"tag":1096,"props":8618,"children":8619},{"class":1098,"line":2906},[8620],{"type":45,"tag":1096,"props":8621,"children":8622},{"style":1149},[8623],{"type":58,"value":8487},{"type":45,"tag":1096,"props":8625,"children":8626},{"class":1098,"line":2914},[8627,8632,8636,8640,8644,8648,8652,8656,8660,8664,8668,8672,8676,8680,8684,8688],{"type":45,"tag":1096,"props":8628,"children":8629},{"style":1134},[8630],{"type":58,"value":8631},"  CONN_ID",{"type":45,"tag":1096,"props":8633,"children":8634},{"style":1149},[8635],{"type":58,"value":2319},{"type":45,"tag":1096,"props":8637,"children":8638},{"style":1113},[8639],{"type":58,"value":224},{"type":45,"tag":1096,"props":8641,"children":8642},{"style":1118},[8643],{"type":58,"value":1121},{"type":45,"tag":1096,"props":8645,"children":8646},{"style":1118},[8647],{"type":58,"value":1126},{"type":45,"tag":1096,"props":8649,"children":8650},{"style":1118},[8651],{"type":58,"value":2702},{"type":45,"tag":1096,"props":8653,"children":8654},{"style":1118},[8655],{"type":58,"value":2340},{"type":45,"tag":1096,"props":8657,"children":8658},{"style":1149},[8659],{"type":58,"value":1152},{"type":45,"tag":1096,"props":8661,"children":8662},{"style":1134},[8663],{"type":58,"value":2257},{"type":45,"tag":1096,"props":8665,"children":8666},{"style":1149},[8667],{"type":58,"value":1162},{"type":45,"tag":1096,"props":8669,"children":8670},{"style":1118},[8671],{"type":58,"value":2357},{"type":45,"tag":1096,"props":8673,"children":8674},{"style":1149},[8675],{"type":58,"value":1152},{"type":45,"tag":1096,"props":8677,"children":8678},{"style":1134},[8679],{"type":58,"value":2366},{"type":45,"tag":1096,"props":8681,"children":8682},{"style":1118},[8683],{"type":58,"value":2371},{"type":45,"tag":1096,"props":8685,"children":8686},{"style":1149},[8687],{"type":58,"value":1162},{"type":45,"tag":1096,"props":8689,"children":8690},{"style":1134},[8691],{"type":58,"value":1137},{"type":45,"tag":1096,"props":8693,"children":8694},{"class":1098,"line":2923},[8695,8700,8704,8708,8712,8717,8721,8725,8729,8733,8737,8741,8745,8749],{"type":45,"tag":1096,"props":8696,"children":8697},{"style":1118},[8698],{"type":58,"value":8699},"    --headers",{"type":45,"tag":1096,"props":8701,"children":8702},{"style":1149},[8703],{"type":58,"value":1152},{"type":45,"tag":1096,"props":8705,"children":8706},{"style":1118},[8707],{"type":58,"value":2777},{"type":45,"tag":1096,"props":8709,"children":8710},{"style":1149},[8711],{"type":58,"value":1162},{"type":45,"tag":1096,"props":8713,"children":8714},{"style":1118},[8715],{"type":58,"value":8716}," --body",{"type":45,"tag":1096,"props":8718,"children":8719},{"style":1149},[8720],{"type":58,"value":1152},{"type":45,"tag":1096,"props":8722,"children":8723},{"style":1118},[8724],{"type":58,"value":2803},{"type":45,"tag":1096,"props":8726,"children":8727},{"style":1134},[8728],{"type":58,"value":8473},{"type":45,"tag":1096,"props":8730,"children":8731},{"style":1149},[8732],{"type":58,"value":1162},{"type":45,"tag":1096,"props":8734,"children":8735},{"style":1118},[8736],{"type":58,"value":2816},{"type":45,"tag":1096,"props":8738,"children":8739},{"style":1118},[8740],{"type":58,"value":2821},{"type":45,"tag":1096,"props":8742,"children":8743},{"style":1118},[8744],{"type":58,"value":2414},{"type":45,"tag":1096,"props":8746,"children":8747},{"style":1118},[8748],{"type":58,"value":2419},{"type":45,"tag":1096,"props":8750,"children":8751},{"style":1149},[8752],{"type":58,"value":2424},{"type":45,"tag":1096,"props":8754,"children":8755},{"class":1098,"line":2932},[8756,8761,8765,8769,8773],{"type":45,"tag":1096,"props":8757,"children":8758},{"style":1113},[8759],{"type":58,"value":8760},"  rm",{"type":45,"tag":1096,"props":8762,"children":8763},{"style":1118},[8764],{"type":58,"value":2847},{"type":45,"tag":1096,"props":8766,"children":8767},{"style":1149},[8768],{"type":58,"value":1152},{"type":45,"tag":1096,"props":8770,"children":8771},{"style":1134},[8772],{"type":58,"value":8473},{"type":45,"tag":1096,"props":8774,"children":8775},{"style":1149},[8776],{"type":58,"value":1271},{"type":45,"tag":1096,"props":8778,"children":8779},{"class":1098,"line":4571},[8780],{"type":45,"tag":1096,"props":8781,"children":8782},{"style":3442},[8783],{"type":58,"value":4156},{"type":45,"tag":1096,"props":8785,"children":8786},{"class":1098,"line":4580},[8787],{"type":45,"tag":1096,"props":8788,"children":8789},{"emptyLinePlaceholder":1231},[8790],{"type":58,"value":1234},{"type":45,"tag":1096,"props":8792,"children":8793},{"class":1098,"line":4589},[8794],{"type":45,"tag":1096,"props":8795,"children":8796},{"style":1103},[8797],{"type":58,"value":8798},"# Step 3: Resolve ClusterId via list+filter; retry — PBI v2 lags by 5-15s on new conns.\n",{"type":45,"tag":1096,"props":8800,"children":8802},{"class":1098,"line":8801},38,[8803,8808,8813,8818,8822,8827,8832,8837,8842,8847,8852,8857,8861],{"type":45,"tag":1096,"props":8804,"children":8805},{"style":3442},[8806],{"type":58,"value":8807},"for",{"type":45,"tag":1096,"props":8809,"children":8810},{"style":1134},[8811],{"type":58,"value":8812}," i ",{"type":45,"tag":1096,"props":8814,"children":8815},{"style":3442},[8816],{"type":58,"value":8817},"in",{"type":45,"tag":1096,"props":8819,"children":8820},{"style":1118},[8821],{"type":58,"value":4087},{"type":45,"tag":1096,"props":8823,"children":8824},{"style":1118},[8825],{"type":58,"value":8826}," 2",{"type":45,"tag":1096,"props":8828,"children":8829},{"style":1118},[8830],{"type":58,"value":8831}," 3",{"type":45,"tag":1096,"props":8833,"children":8834},{"style":1118},[8835],{"type":58,"value":8836}," 4",{"type":45,"tag":1096,"props":8838,"children":8839},{"style":1118},[8840],{"type":58,"value":8841}," 5",{"type":45,"tag":1096,"props":8843,"children":8844},{"style":1118},[8845],{"type":58,"value":8846}," 6",{"type":45,"tag":1096,"props":8848,"children":8849},{"style":1118},[8850],{"type":58,"value":8851}," 7",{"type":45,"tag":1096,"props":8853,"children":8854},{"style":1118},[8855],{"type":58,"value":8856}," 8",{"type":45,"tag":1096,"props":8858,"children":8859},{"style":1149},[8860],{"type":58,"value":2189},{"type":45,"tag":1096,"props":8862,"children":8863},{"style":3442},[8864],{"type":58,"value":3745},{"type":45,"tag":1096,"props":8866,"children":8868},{"class":1098,"line":8867},39,[8869,8874,8878,8882,8886,8890,8894,8898,8902,8906,8910],{"type":45,"tag":1096,"props":8870,"children":8871},{"style":1134},[8872],{"type":58,"value":8873},"  CLUSTER_ID",{"type":45,"tag":1096,"props":8875,"children":8876},{"style":1149},[8877],{"type":58,"value":2319},{"type":45,"tag":1096,"props":8879,"children":8880},{"style":1113},[8881],{"type":58,"value":224},{"type":45,"tag":1096,"props":8883,"children":8884},{"style":1118},[8885],{"type":58,"value":1121},{"type":45,"tag":1096,"props":8887,"children":8888},{"style":1118},[8889],{"type":58,"value":1126},{"type":45,"tag":1096,"props":8891,"children":8892},{"style":1118},[8893],{"type":58,"value":1131},{"type":45,"tag":1096,"props":8895,"children":8896},{"style":1118},[8897],{"type":58,"value":2340},{"type":45,"tag":1096,"props":8899,"children":8900},{"style":1149},[8901],{"type":58,"value":1152},{"type":45,"tag":1096,"props":8903,"children":8904},{"style":1134},[8905],{"type":58,"value":2490},{"type":45,"tag":1096,"props":8907,"children":8908},{"style":1149},[8909],{"type":58,"value":1162},{"type":45,"tag":1096,"props":8911,"children":8912},{"style":1134},[8913],{"type":58,"value":1137},{"type":45,"tag":1096,"props":8915,"children":8917},{"class":1098,"line":8916},40,[8918,8923,8927,8931,8935],{"type":45,"tag":1096,"props":8919,"children":8920},{"style":1118},[8921],{"type":58,"value":8922},"    --url",{"type":45,"tag":1096,"props":8924,"children":8925},{"style":1149},[8926],{"type":58,"value":1152},{"type":45,"tag":1096,"props":8928,"children":8929},{"style":1118},[8930],{"type":58,"value":2515},{"type":45,"tag":1096,"props":8932,"children":8933},{"style":1149},[8934],{"type":58,"value":1162},{"type":45,"tag":1096,"props":8936,"children":8937},{"style":1134},[8938],{"type":58,"value":1137},{"type":45,"tag":1096,"props":8940,"children":8942},{"class":1098,"line":8941},41,[8943,8948,8952,8956,8960,8964,8968,8972,8976,8980,8984],{"type":45,"tag":1096,"props":8944,"children":8945},{"style":1118},[8946],{"type":58,"value":8947},"    --query",{"type":45,"tag":1096,"props":8949,"children":8950},{"style":1149},[8951],{"type":58,"value":1152},{"type":45,"tag":1096,"props":8953,"children":8954},{"style":1118},[8955],{"type":58,"value":2540},{"type":45,"tag":1096,"props":8957,"children":8958},{"style":1134},[8959],{"type":58,"value":2545},{"type":45,"tag":1096,"props":8961,"children":8962},{"style":1118},[8963],{"type":58,"value":2550},{"type":45,"tag":1096,"props":8965,"children":8966},{"style":1149},[8967],{"type":58,"value":1162},{"type":45,"tag":1096,"props":8969,"children":8970},{"style":1118},[8971],{"type":58,"value":2414},{"type":45,"tag":1096,"props":8973,"children":8974},{"style":1118},[8975],{"type":58,"value":2419},{"type":45,"tag":1096,"props":8977,"children":8978},{"style":1149},[8979],{"type":58,"value":2611},{"type":45,"tag":1096,"props":8981,"children":8982},{"style":1118},[8983],{"type":58,"value":2616},{"type":45,"tag":1096,"props":8985,"children":8986},{"style":1149},[8987],{"type":58,"value":2424},{"type":45,"tag":1096,"props":8989,"children":8991},{"class":1098,"line":8990},42,[8992,8996,9001,9005,9010,9014,9018,9022,9026,9030,9034,9038,9043,9047,9051,9055,9059,9063],{"type":45,"tag":1096,"props":8993,"children":8994},{"style":1149},[8995],{"type":58,"value":4496},{"type":45,"tag":1096,"props":8997,"children":8998},{"style":1149},[8999],{"type":58,"value":9000}," -n",{"type":45,"tag":1096,"props":9002,"children":9003},{"style":1149},[9004],{"type":58,"value":1152},{"type":45,"tag":1096,"props":9006,"children":9007},{"style":1134},[9008],{"type":58,"value":9009},"$CLUSTER_ID",{"type":45,"tag":1096,"props":9011,"children":9012},{"style":1149},[9013],{"type":58,"value":1162},{"type":45,"tag":1096,"props":9015,"children":9016},{"style":1149},[9017],{"type":58,"value":4519},{"type":45,"tag":1096,"props":9019,"children":9020},{"style":1149},[9021],{"type":58,"value":4524},{"type":45,"tag":1096,"props":9023,"children":9024},{"style":1149},[9025],{"type":58,"value":3450},{"type":45,"tag":1096,"props":9027,"children":9028},{"style":1149},[9029],{"type":58,"value":1152},{"type":45,"tag":1096,"props":9031,"children":9032},{"style":1134},[9033],{"type":58,"value":9009},{"type":45,"tag":1096,"props":9035,"children":9036},{"style":1149},[9037],{"type":58,"value":1162},{"type":45,"tag":1096,"props":9039,"children":9040},{"style":1149},[9041],{"type":58,"value":9042}," !=",{"type":45,"tag":1096,"props":9044,"children":9045},{"style":1149},[9046],{"type":58,"value":1152},{"type":45,"tag":1096,"props":9048,"children":9049},{"style":1118},[9050],{"type":58,"value":8395},{"type":45,"tag":1096,"props":9052,"children":9053},{"style":1149},[9054],{"type":58,"value":1162},{"type":45,"tag":1096,"props":9056,"children":9057},{"style":1149},[9058],{"type":58,"value":4519},{"type":45,"tag":1096,"props":9060,"children":9061},{"style":1149},[9062],{"type":58,"value":4524},{"type":45,"tag":1096,"props":9064,"children":9065},{"style":3442},[9066],{"type":58,"value":9067}," break\n",{"type":45,"tag":1096,"props":9069,"children":9071},{"class":1098,"line":9070},43,[9072,9077,9082,9087],{"type":45,"tag":1096,"props":9073,"children":9074},{"style":1113},[9075],{"type":58,"value":9076},"  sleep",{"type":45,"tag":1096,"props":9078,"children":9079},{"style":1149},[9080],{"type":58,"value":9081}," $((",{"type":45,"tag":1096,"props":9083,"children":9084},{"style":1113},[9085],{"type":58,"value":9086},"i*3",{"type":45,"tag":1096,"props":9088,"children":9089},{"style":1149},[9090],{"type":58,"value":9091},"))\n",{"type":45,"tag":1096,"props":9093,"children":9095},{"class":1098,"line":9094},44,[9096],{"type":45,"tag":1096,"props":9097,"children":9098},{"style":3442},[9099],{"type":58,"value":4561},{"type":45,"tag":1096,"props":9101,"children":9103},{"class":1098,"line":9102},45,[9104],{"type":45,"tag":1096,"props":9105,"children":9106},{"style":1103},[9107],{"type":58,"value":9108},"# Fail-fast: an empty ClusterId silently corrupts the composite connectionId and the\n",{"type":45,"tag":1096,"props":9110,"children":9112},{"class":1098,"line":9111},46,[9113],{"type":45,"tag":1096,"props":9114,"children":9115},{"style":1103},[9116],{"type":58,"value":9117},"# resulting updateDefinition \u002F refresh failures are hard to debug. Stop here instead.\n",{"type":45,"tag":1096,"props":9119,"children":9121},{"class":1098,"line":9120},47,[9122,9126,9130,9134,9138,9142,9146,9150,9154,9158,9162,9166,9170,9174,9178,9182,9186,9190],{"type":45,"tag":1096,"props":9123,"children":9124},{"style":3442},[9125],{"type":58,"value":3445},{"type":45,"tag":1096,"props":9127,"children":9128},{"style":1149},[9129],{"type":58,"value":3450},{"type":45,"tag":1096,"props":9131,"children":9132},{"style":1149},[9133],{"type":58,"value":4501},{"type":45,"tag":1096,"props":9135,"children":9136},{"style":1149},[9137],{"type":58,"value":1152},{"type":45,"tag":1096,"props":9139,"children":9140},{"style":1134},[9141],{"type":58,"value":9009},{"type":45,"tag":1096,"props":9143,"children":9144},{"style":1149},[9145],{"type":58,"value":1162},{"type":45,"tag":1096,"props":9147,"children":9148},{"style":1149},[9149],{"type":58,"value":4519},{"type":45,"tag":1096,"props":9151,"children":9152},{"style":1149},[9153],{"type":58,"value":2621},{"type":45,"tag":1096,"props":9155,"children":9156},{"style":1149},[9157],{"type":58,"value":3450},{"type":45,"tag":1096,"props":9159,"children":9160},{"style":1149},[9161],{"type":58,"value":1152},{"type":45,"tag":1096,"props":9163,"children":9164},{"style":1134},[9165],{"type":58,"value":9009},{"type":45,"tag":1096,"props":9167,"children":9168},{"style":1149},[9169],{"type":58,"value":1162},{"type":45,"tag":1096,"props":9171,"children":9172},{"style":1149},[9173],{"type":58,"value":3468},{"type":45,"tag":1096,"props":9175,"children":9176},{"style":1149},[9177],{"type":58,"value":1152},{"type":45,"tag":1096,"props":9179,"children":9180},{"style":1118},[9181],{"type":58,"value":8395},{"type":45,"tag":1096,"props":9183,"children":9184},{"style":1149},[9185],{"type":58,"value":1162},{"type":45,"tag":1096,"props":9187,"children":9188},{"style":1149},[9189],{"type":58,"value":3486},{"type":45,"tag":1096,"props":9191,"children":9192},{"style":3442},[9193],{"type":58,"value":3491},{"type":45,"tag":1096,"props":9195,"children":9197},{"class":1098,"line":9196},48,[9198,9203,9207,9212,9216,9221,9225],{"type":45,"tag":1096,"props":9199,"children":9200},{"style":2637},[9201],{"type":58,"value":9202},"  echo",{"type":45,"tag":1096,"props":9204,"children":9205},{"style":1149},[9206],{"type":58,"value":1152},{"type":45,"tag":1096,"props":9208,"children":9209},{"style":1118},[9210],{"type":58,"value":9211},"FAIL: ClusterId not resolved for ",{"type":45,"tag":1096,"props":9213,"children":9214},{"style":1134},[9215],{"type":58,"value":2545},{"type":45,"tag":1096,"props":9217,"children":9218},{"style":1118},[9219],{"type":58,"value":9220}," after retries. Verify the connection is visible at PBI v2 (api.powerbi.com\u002Fv2.0\u002Fmyorg\u002Fme\u002FgatewayClusterDatasources).",{"type":45,"tag":1096,"props":9222,"children":9223},{"style":1149},[9224],{"type":58,"value":1162},{"type":45,"tag":1096,"props":9226,"children":9227},{"style":1149},[9228],{"type":58,"value":9229}," >&2\n",{"type":45,"tag":1096,"props":9231,"children":9233},{"class":1098,"line":9232},49,[9234,9239],{"type":45,"tag":1096,"props":9235,"children":9236},{"style":2637},[9237],{"type":58,"value":9238},"  exit",{"type":45,"tag":1096,"props":9240,"children":9241},{"style":4084},[9242],{"type":58,"value":9243}," 1\n",{"type":45,"tag":1096,"props":9245,"children":9247},{"class":1098,"line":9246},50,[9248],{"type":45,"tag":1096,"props":9249,"children":9250},{"style":3442},[9251],{"type":58,"value":4156},{"type":45,"tag":1096,"props":9253,"children":9255},{"class":1098,"line":9254},51,[9256],{"type":45,"tag":1096,"props":9257,"children":9258},{"emptyLinePlaceholder":1231},[9259],{"type":58,"value":1234},{"type":45,"tag":1096,"props":9261,"children":9263},{"class":1098,"line":9262},52,[9264],{"type":45,"tag":1096,"props":9265,"children":9266},{"style":1103},[9267],{"type":58,"value":9268},"# Step 4: Create empty dataflow shell (sync 201).\n",{"type":45,"tag":1096,"props":9270,"children":9272},{"class":1098,"line":9271},53,[9273,9277,9281,9285,9289,9293,9297,9301,9305],{"type":45,"tag":1096,"props":9274,"children":9275},{"style":1134},[9276],{"type":58,"value":2592},{"type":45,"tag":1096,"props":9278,"children":9279},{"style":1149},[9280],{"type":58,"value":2319},{"type":45,"tag":1096,"props":9282,"children":9283},{"style":1113},[9284],{"type":58,"value":2601},{"type":45,"tag":1096,"props":9286,"children":9287},{"style":1118},[9288],{"type":58,"value":2606},{"type":45,"tag":1096,"props":9290,"children":9291},{"style":1149},[9292],{"type":58,"value":2611},{"type":45,"tag":1096,"props":9294,"children":9295},{"style":1118},[9296],{"type":58,"value":2616},{"type":45,"tag":1096,"props":9298,"children":9299},{"style":1149},[9300],{"type":58,"value":2621},{"type":45,"tag":1096,"props":9302,"children":9303},{"style":1113},[9304],{"type":58,"value":2626},{"type":45,"tag":1096,"props":9306,"children":9307},{"style":1149},[9308],{"type":58,"value":2424},{"type":45,"tag":1096,"props":9310,"children":9312},{"class":1098,"line":9311},54,[9313,9317,9321,9326,9330,9334,9339,9343,9347,9351,9355],{"type":45,"tag":1096,"props":9314,"children":9315},{"style":2637},[9316],{"type":58,"value":2640},{"type":45,"tag":1096,"props":9318,"children":9319},{"style":1149},[9320],{"type":58,"value":2645},{"type":45,"tag":1096,"props":9322,"children":9323},{"style":1118},[9324],{"type":58,"value":9325},"{\"displayName\":\"%s\"}",{"type":45,"tag":1096,"props":9327,"children":9328},{"style":1149},[9329],{"type":58,"value":2655},{"type":45,"tag":1096,"props":9331,"children":9332},{"style":1149},[9333],{"type":58,"value":1152},{"type":45,"tag":1096,"props":9335,"children":9336},{"style":1134},[9337],{"type":58,"value":9338},"$DF_NAME",{"type":45,"tag":1096,"props":9340,"children":9341},{"style":1149},[9342],{"type":58,"value":1162},{"type":45,"tag":1096,"props":9344,"children":9345},{"style":1149},[9346],{"type":58,"value":2660},{"type":45,"tag":1096,"props":9348,"children":9349},{"style":1149},[9350],{"type":58,"value":1152},{"type":45,"tag":1096,"props":9352,"children":9353},{"style":1134},[9354],{"type":58,"value":2669},{"type":45,"tag":1096,"props":9356,"children":9357},{"style":1149},[9358],{"type":58,"value":1271},{"type":45,"tag":1096,"props":9360,"children":9362},{"class":1098,"line":9361},55,[9363,9367,9371,9375,9379,9383,9387,9391,9395,9399,9403],{"type":45,"tag":1096,"props":9364,"children":9365},{"style":1134},[9366],{"type":58,"value":1427},{"type":45,"tag":1096,"props":9368,"children":9369},{"style":1149},[9370],{"type":58,"value":2319},{"type":45,"tag":1096,"props":9372,"children":9373},{"style":1113},[9374],{"type":58,"value":224},{"type":45,"tag":1096,"props":9376,"children":9377},{"style":1118},[9378],{"type":58,"value":1121},{"type":45,"tag":1096,"props":9380,"children":9381},{"style":1118},[9382],{"type":58,"value":1126},{"type":45,"tag":1096,"props":9384,"children":9385},{"style":1118},[9386],{"type":58,"value":2702},{"type":45,"tag":1096,"props":9388,"children":9389},{"style":1118},[9390],{"type":58,"value":2340},{"type":45,"tag":1096,"props":9392,"children":9393},{"style":1149},[9394],{"type":58,"value":1152},{"type":45,"tag":1096,"props":9396,"children":9397},{"style":1134},[9398],{"type":58,"value":2257},{"type":45,"tag":1096,"props":9400,"children":9401},{"style":1149},[9402],{"type":58,"value":1162},{"type":45,"tag":1096,"props":9404,"children":9405},{"style":1134},[9406],{"type":58,"value":1137},{"type":45,"tag":1096,"props":9408,"children":9410},{"class":1098,"line":9409},56,[9411,9415,9419,9423,9427,9431,9435,9439],{"type":45,"tag":1096,"props":9412,"children":9413},{"style":1118},[9414],{"type":58,"value":1175},{"type":45,"tag":1096,"props":9416,"children":9417},{"style":1149},[9418],{"type":58,"value":1152},{"type":45,"tag":1096,"props":9420,"children":9421},{"style":1134},[9422],{"type":58,"value":2366},{"type":45,"tag":1096,"props":9424,"children":9425},{"style":1118},[9426],{"type":58,"value":2743},{"type":45,"tag":1096,"props":9428,"children":9429},{"style":1134},[9430],{"type":58,"value":1341},{"type":45,"tag":1096,"props":9432,"children":9433},{"style":1118},[9434],{"type":58,"value":1346},{"type":45,"tag":1096,"props":9436,"children":9437},{"style":1149},[9438],{"type":58,"value":1162},{"type":45,"tag":1096,"props":9440,"children":9441},{"style":1134},[9442],{"type":58,"value":1137},{"type":45,"tag":1096,"props":9444,"children":9446},{"class":1098,"line":9445},57,[9447,9451,9455,9459,9463],{"type":45,"tag":1096,"props":9448,"children":9449},{"style":1118},[9450],{"type":58,"value":2768},{"type":45,"tag":1096,"props":9452,"children":9453},{"style":1149},[9454],{"type":58,"value":1152},{"type":45,"tag":1096,"props":9456,"children":9457},{"style":1118},[9458],{"type":58,"value":2777},{"type":45,"tag":1096,"props":9460,"children":9461},{"style":1149},[9462],{"type":58,"value":1162},{"type":45,"tag":1096,"props":9464,"children":9465},{"style":1134},[9466],{"type":58,"value":1137},{"type":45,"tag":1096,"props":9468,"children":9470},{"class":1098,"line":9469},58,[9471,9475,9479,9483,9487,9491,9495,9499,9503,9507],{"type":45,"tag":1096,"props":9472,"children":9473},{"style":1118},[9474],{"type":58,"value":2794},{"type":45,"tag":1096,"props":9476,"children":9477},{"style":1149},[9478],{"type":58,"value":1152},{"type":45,"tag":1096,"props":9480,"children":9481},{"style":1118},[9482],{"type":58,"value":2803},{"type":45,"tag":1096,"props":9484,"children":9485},{"style":1134},[9486],{"type":58,"value":2669},{"type":45,"tag":1096,"props":9488,"children":9489},{"style":1149},[9490],{"type":58,"value":1162},{"type":45,"tag":1096,"props":9492,"children":9493},{"style":1118},[9494],{"type":58,"value":2816},{"type":45,"tag":1096,"props":9496,"children":9497},{"style":1118},[9498],{"type":58,"value":2821},{"type":45,"tag":1096,"props":9500,"children":9501},{"style":1118},[9502],{"type":58,"value":2414},{"type":45,"tag":1096,"props":9504,"children":9505},{"style":1118},[9506],{"type":58,"value":2419},{"type":45,"tag":1096,"props":9508,"children":9509},{"style":1149},[9510],{"type":58,"value":2424},{"type":45,"tag":1096,"props":9512,"children":9514},{"class":1098,"line":9513},59,[9515,9519,9523,9527,9531],{"type":45,"tag":1096,"props":9516,"children":9517},{"style":1113},[9518],{"type":58,"value":2842},{"type":45,"tag":1096,"props":9520,"children":9521},{"style":1118},[9522],{"type":58,"value":2847},{"type":45,"tag":1096,"props":9524,"children":9525},{"style":1149},[9526],{"type":58,"value":1152},{"type":45,"tag":1096,"props":9528,"children":9529},{"style":1134},[9530],{"type":58,"value":2669},{"type":45,"tag":1096,"props":9532,"children":9533},{"style":1149},[9534],{"type":58,"value":1271},{"type":45,"tag":1096,"props":9536,"children":9538},{"class":1098,"line":9537},60,[9539],{"type":45,"tag":1096,"props":9540,"children":9541},{"emptyLinePlaceholder":1231},[9542],{"type":58,"value":1234},{"type":45,"tag":1096,"props":9544,"children":9546},{"class":1098,"line":9545},61,[9547],{"type":45,"tag":1096,"props":9548,"children":9549},{"style":1103},[9550],{"type":58,"value":9551},"# Step 5: One-shot updateDefinition — real M + composite-bound connections[] + .platform.\n",{"type":45,"tag":1096,"props":9553,"children":9555},{"class":1098,"line":9554},62,[9556,9561,9565,9569],{"type":45,"tag":1096,"props":9557,"children":9558},{"style":1134},[9559],{"type":58,"value":9560},"MASHUP",{"type":45,"tag":1096,"props":9562,"children":9563},{"style":1149},[9564],{"type":58,"value":1257},{"type":45,"tag":1096,"props":9566,"children":9567},{"style":1149},[9568],{"type":58,"value":2655},{"type":45,"tag":1096,"props":9570,"children":9571},{"style":1118},[9572],{"type":58,"value":9573},"section Section1;\n",{"type":45,"tag":1096,"props":9575,"children":9577},{"class":1098,"line":9576},63,[9578],{"type":45,"tag":1096,"props":9579,"children":9580},{"style":1118},[9581],{"type":58,"value":9582},"shared Titanic = let\n",{"type":45,"tag":1096,"props":9584,"children":9586},{"class":1098,"line":9585},64,[9587,9592,9597,9601,9606],{"type":45,"tag":1096,"props":9588,"children":9589},{"style":1118},[9590],{"type":58,"value":9591},"    Source = Csv.Document(Web.Contents(\"",{"type":45,"tag":1096,"props":9593,"children":9594},{"style":1149},[9595],{"type":58,"value":9596},"'\"",{"type":45,"tag":1096,"props":9598,"children":9599},{"style":1134},[9600],{"type":58,"value":2400},{"type":45,"tag":1096,"props":9602,"children":9603},{"style":1149},[9604],{"type":58,"value":9605},"\"'",{"type":45,"tag":1096,"props":9607,"children":9608},{"style":1118},[9609],{"type":58,"value":9610},"\"), [Delimiter=\",\", Encoding=65001, QuoteStyle=QuoteStyle.Csv]),\n",{"type":45,"tag":1096,"props":9612,"children":9614},{"class":1098,"line":9613},65,[9615],{"type":45,"tag":1096,"props":9616,"children":9617},{"style":1118},[9618],{"type":58,"value":9619},"    Headers = Table.PromoteHeaders(Source, [PromoteAllScalars=true])\n",{"type":45,"tag":1096,"props":9621,"children":9623},{"class":1098,"line":9622},66,[9624,9629],{"type":45,"tag":1096,"props":9625,"children":9626},{"style":1118},[9627],{"type":58,"value":9628},"in Headers;",{"type":45,"tag":1096,"props":9630,"children":9631},{"style":1149},[9632],{"type":58,"value":9633},"'\n",{"type":45,"tag":1096,"props":9635,"children":9637},{"class":1098,"line":9636},67,[9638],{"type":45,"tag":1096,"props":9639,"children":9640},{"emptyLinePlaceholder":1231},[9641],{"type":58,"value":1234},{"type":45,"tag":1096,"props":9643,"children":9645},{"class":1098,"line":9644},68,[9646,9651,9655,9659,9664,9669,9673,9677,9682,9687,9692,9696,9700,9704,9708,9713,9718],{"type":45,"tag":1096,"props":9647,"children":9648},{"style":1134},[9649],{"type":58,"value":9650},"COMPOSITE_ID",{"type":45,"tag":1096,"props":9652,"children":9653},{"style":1149},[9654],{"type":58,"value":1257},{"type":45,"tag":1096,"props":9656,"children":9657},{"style":1149},[9658],{"type":58,"value":1162},{"type":45,"tag":1096,"props":9660,"children":9661},{"style":1118},[9662],{"type":58,"value":9663},"{",{"type":45,"tag":1096,"props":9665,"children":9666},{"style":1134},[9667],{"type":58,"value":9668},"\\\"",{"type":45,"tag":1096,"props":9670,"children":9671},{"style":1118},[9672],{"type":58,"value":460},{"type":45,"tag":1096,"props":9674,"children":9675},{"style":1134},[9676],{"type":58,"value":9668},{"type":45,"tag":1096,"props":9678,"children":9679},{"style":1118},[9680],{"type":58,"value":9681},":",{"type":45,"tag":1096,"props":9683,"children":9684},{"style":1134},[9685],{"type":58,"value":9686},"\\\"$CLUSTER_ID\\\"",{"type":45,"tag":1096,"props":9688,"children":9689},{"style":1118},[9690],{"type":58,"value":9691},",",{"type":45,"tag":1096,"props":9693,"children":9694},{"style":1134},[9695],{"type":58,"value":9668},{"type":45,"tag":1096,"props":9697,"children":9698},{"style":1118},[9699],{"type":58,"value":4901},{"type":45,"tag":1096,"props":9701,"children":9702},{"style":1134},[9703],{"type":58,"value":9668},{"type":45,"tag":1096,"props":9705,"children":9706},{"style":1118},[9707],{"type":58,"value":9681},{"type":45,"tag":1096,"props":9709,"children":9710},{"style":1134},[9711],{"type":58,"value":9712},"\\\"$CONN_ID\\\"",{"type":45,"tag":1096,"props":9714,"children":9715},{"style":1118},[9716],{"type":58,"value":9717},"}",{"type":45,"tag":1096,"props":9719,"children":9720},{"style":1149},[9721],{"type":58,"value":1271},{"type":45,"tag":1096,"props":9723,"children":9725},{"class":1098,"line":9724},69,[9726,9730,9734,9738,9742,9747,9752,9756,9760,9764,9768,9773,9777,9782,9786,9790,9795,9799,9803,9807,9811,9816,9820,9824,9829,9833],{"type":45,"tag":1096,"props":9727,"children":9728},{"style":1134},[9729],{"type":58,"value":4214},{"type":45,"tag":1096,"props":9731,"children":9732},{"style":1149},[9733],{"type":58,"value":2319},{"type":45,"tag":1096,"props":9735,"children":9736},{"style":1113},[9737],{"type":58,"value":232},{"type":45,"tag":1096,"props":9739,"children":9740},{"style":1118},[9741],{"type":58,"value":9000},{"type":45,"tag":1096,"props":9743,"children":9744},{"style":1118},[9745],{"type":58,"value":9746}," --arg",{"type":45,"tag":1096,"props":9748,"children":9749},{"style":1118},[9750],{"type":58,"value":9751}," name",{"type":45,"tag":1096,"props":9753,"children":9754},{"style":1149},[9755],{"type":58,"value":1152},{"type":45,"tag":1096,"props":9757,"children":9758},{"style":1134},[9759],{"type":58,"value":9338},{"type":45,"tag":1096,"props":9761,"children":9762},{"style":1149},[9763],{"type":58,"value":1162},{"type":45,"tag":1096,"props":9765,"children":9766},{"style":1118},[9767],{"type":58,"value":9746},{"type":45,"tag":1096,"props":9769,"children":9770},{"style":1118},[9771],{"type":58,"value":9772}," cid",{"type":45,"tag":1096,"props":9774,"children":9775},{"style":1149},[9776],{"type":58,"value":1152},{"type":45,"tag":1096,"props":9778,"children":9779},{"style":1134},[9780],{"type":58,"value":9781},"$COMPOSITE_ID",{"type":45,"tag":1096,"props":9783,"children":9784},{"style":1149},[9785],{"type":58,"value":1162},{"type":45,"tag":1096,"props":9787,"children":9788},{"style":1118},[9789],{"type":58,"value":9746},{"type":45,"tag":1096,"props":9791,"children":9792},{"style":1118},[9793],{"type":58,"value":9794}," url",{"type":45,"tag":1096,"props":9796,"children":9797},{"style":1149},[9798],{"type":58,"value":1152},{"type":45,"tag":1096,"props":9800,"children":9801},{"style":1134},[9802],{"type":58,"value":2400},{"type":45,"tag":1096,"props":9804,"children":9805},{"style":1149},[9806],{"type":58,"value":1162},{"type":45,"tag":1096,"props":9808,"children":9809},{"style":1118},[9810],{"type":58,"value":9746},{"type":45,"tag":1096,"props":9812,"children":9813},{"style":1118},[9814],{"type":58,"value":9815}," qid",{"type":45,"tag":1096,"props":9817,"children":9818},{"style":1149},[9819],{"type":58,"value":3844},{"type":45,"tag":1096,"props":9821,"children":9822},{"style":1113},[9823],{"type":58,"value":977},{"type":45,"tag":1096,"props":9825,"children":9826},{"style":1149},[9827],{"type":58,"value":9828},")\"",{"type":45,"tag":1096,"props":9830,"children":9831},{"style":1149},[9832],{"type":58,"value":2645},{"type":45,"tag":1096,"props":9834,"children":9835},{"style":1118},[9836],{"type":58,"value":8495},{"type":45,"tag":1096,"props":9838,"children":9840},{"class":1098,"line":9839},70,[9841],{"type":45,"tag":1096,"props":9842,"children":9843},{"style":1118},[9844],{"type":58,"value":9845},"  formatVersion: \"202502\",\n",{"type":45,"tag":1096,"props":9847,"children":9849},{"class":1098,"line":9848},71,[9850],{"type":45,"tag":1096,"props":9851,"children":9852},{"style":1118},[9853],{"type":58,"value":9854},"  name: $name,\n",{"type":45,"tag":1096,"props":9856,"children":9858},{"class":1098,"line":9857},72,[9859],{"type":45,"tag":1096,"props":9860,"children":9861},{"style":1118},[9862],{"type":58,"value":9863},"  queriesMetadata: { Titanic: { queryId: $qid, queryName: \"Titanic\" } },\n",{"type":45,"tag":1096,"props":9865,"children":9867},{"class":1098,"line":9866},73,[9868],{"type":45,"tag":1096,"props":9869,"children":9870},{"style":1118},[9871],{"type":58,"value":9872},"  connections: [ { connectionId: $cid, kind: \"Web\", path: $url } ]\n",{"type":45,"tag":1096,"props":9874,"children":9876},{"class":1098,"line":9875},74,[9877,9881,9885],{"type":45,"tag":1096,"props":9878,"children":9879},{"style":1118},[9880],{"type":58,"value":9717},{"type":45,"tag":1096,"props":9882,"children":9883},{"style":1149},[9884],{"type":58,"value":2655},{"type":45,"tag":1096,"props":9886,"children":9887},{"style":1149},[9888],{"type":58,"value":2424},{"type":45,"tag":1096,"props":9890,"children":9892},{"class":1098,"line":9891},75,[9893,9898,9902,9906,9910,9914,9918,9922,9926,9930,9934,9939,9943,9947,9951,9955],{"type":45,"tag":1096,"props":9894,"children":9895},{"style":1134},[9896],{"type":58,"value":9897},"PLATFORM",{"type":45,"tag":1096,"props":9899,"children":9900},{"style":1149},[9901],{"type":58,"value":2319},{"type":45,"tag":1096,"props":9903,"children":9904},{"style":1113},[9905],{"type":58,"value":232},{"type":45,"tag":1096,"props":9907,"children":9908},{"style":1118},[9909],{"type":58,"value":9000},{"type":45,"tag":1096,"props":9911,"children":9912},{"style":1118},[9913],{"type":58,"value":9746},{"type":45,"tag":1096,"props":9915,"children":9916},{"style":1118},[9917],{"type":58,"value":9751},{"type":45,"tag":1096,"props":9919,"children":9920},{"style":1149},[9921],{"type":58,"value":1152},{"type":45,"tag":1096,"props":9923,"children":9924},{"style":1134},[9925],{"type":58,"value":9338},{"type":45,"tag":1096,"props":9927,"children":9928},{"style":1149},[9929],{"type":58,"value":1162},{"type":45,"tag":1096,"props":9931,"children":9932},{"style":1118},[9933],{"type":58,"value":9746},{"type":45,"tag":1096,"props":9935,"children":9936},{"style":1118},[9937],{"type":58,"value":9938}," lid",{"type":45,"tag":1096,"props":9940,"children":9941},{"style":1149},[9942],{"type":58,"value":3844},{"type":45,"tag":1096,"props":9944,"children":9945},{"style":1113},[9946],{"type":58,"value":977},{"type":45,"tag":1096,"props":9948,"children":9949},{"style":1149},[9950],{"type":58,"value":9828},{"type":45,"tag":1096,"props":9952,"children":9953},{"style":1149},[9954],{"type":58,"value":2645},{"type":45,"tag":1096,"props":9956,"children":9957},{"style":1118},[9958],{"type":58,"value":8495},{"type":45,"tag":1096,"props":9960,"children":9962},{"class":1098,"line":9961},76,[9963],{"type":45,"tag":1096,"props":9964,"children":9965},{"style":1118},[9966],{"type":58,"value":9967},"  \"$schema\": \"https:\u002F\u002Fdeveloper.microsoft.com\u002Fjson-schemas\u002Ffabric\u002FgitIntegration\u002FplatformProperties\u002F2.0.0\u002Fschema.json\",\n",{"type":45,"tag":1096,"props":9969,"children":9971},{"class":1098,"line":9970},77,[9972],{"type":45,"tag":1096,"props":9973,"children":9974},{"style":1118},[9975],{"type":58,"value":9976},"  metadata: { type: \"Dataflow\", displayName: $name },\n",{"type":45,"tag":1096,"props":9978,"children":9980},{"class":1098,"line":9979},78,[9981],{"type":45,"tag":1096,"props":9982,"children":9983},{"style":1118},[9984],{"type":58,"value":9985},"  config: { version: \"2.0\", logicalId: $lid }\n",{"type":45,"tag":1096,"props":9987,"children":9989},{"class":1098,"line":9988},79,[9990,9994,9998],{"type":45,"tag":1096,"props":9991,"children":9992},{"style":1118},[9993],{"type":58,"value":9717},{"type":45,"tag":1096,"props":9995,"children":9996},{"style":1149},[9997],{"type":58,"value":2655},{"type":45,"tag":1096,"props":9999,"children":10000},{"style":1149},[10001],{"type":58,"value":2424},{"type":45,"tag":1096,"props":10003,"children":10005},{"class":1098,"line":10004},80,[10006],{"type":45,"tag":1096,"props":10007,"children":10008},{"emptyLinePlaceholder":1231},[10009],{"type":58,"value":1234},{"type":45,"tag":1096,"props":10011,"children":10013},{"class":1098,"line":10012},81,[10014,10019,10023,10027,10031,10035,10040,10044,10048,10052,10057],{"type":45,"tag":1096,"props":10015,"children":10016},{"style":1134},[10017],{"type":58,"value":10018},"MASHUP_B64",{"type":45,"tag":1096,"props":10020,"children":10021},{"style":1149},[10022],{"type":58,"value":2319},{"type":45,"tag":1096,"props":10024,"children":10025},{"style":2637},[10026],{"type":58,"value":3849},{"type":45,"tag":1096,"props":10028,"children":10029},{"style":1118},[10030],{"type":58,"value":9000},{"type":45,"tag":1096,"props":10032,"children":10033},{"style":1149},[10034],{"type":58,"value":1152},{"type":45,"tag":1096,"props":10036,"children":10037},{"style":1134},[10038],{"type":58,"value":10039},"$MASHUP",{"type":45,"tag":1096,"props":10041,"children":10042},{"style":1149},[10043],{"type":58,"value":1162},{"type":45,"tag":1096,"props":10045,"children":10046},{"style":1149},[10047],{"type":58,"value":3547},{"type":45,"tag":1096,"props":10049,"children":10050},{"style":1113},[10051],{"type":58,"value":4270},{"type":45,"tag":1096,"props":10053,"children":10054},{"style":1118},[10055],{"type":58,"value":10056}," -w0",{"type":45,"tag":1096,"props":10058,"children":10059},{"style":1149},[10060],{"type":58,"value":2424},{"type":45,"tag":1096,"props":10062,"children":10064},{"class":1098,"line":10063},82,[10065,10070,10074,10078,10082,10086,10090,10094,10098,10102,10106],{"type":45,"tag":1096,"props":10066,"children":10067},{"style":1134},[10068],{"type":58,"value":10069},"META_B64",{"type":45,"tag":1096,"props":10071,"children":10072},{"style":1149},[10073],{"type":58,"value":2319},{"type":45,"tag":1096,"props":10075,"children":10076},{"style":2637},[10077],{"type":58,"value":3849},{"type":45,"tag":1096,"props":10079,"children":10080},{"style":1118},[10081],{"type":58,"value":9000},{"type":45,"tag":1096,"props":10083,"children":10084},{"style":1149},[10085],{"type":58,"value":1152},{"type":45,"tag":1096,"props":10087,"children":10088},{"style":1134},[10089],{"type":58,"value":4294},{"type":45,"tag":1096,"props":10091,"children":10092},{"style":1149},[10093],{"type":58,"value":1162},{"type":45,"tag":1096,"props":10095,"children":10096},{"style":1149},[10097],{"type":58,"value":3547},{"type":45,"tag":1096,"props":10099,"children":10100},{"style":1113},[10101],{"type":58,"value":4270},{"type":45,"tag":1096,"props":10103,"children":10104},{"style":1118},[10105],{"type":58,"value":10056},{"type":45,"tag":1096,"props":10107,"children":10108},{"style":1149},[10109],{"type":58,"value":2424},{"type":45,"tag":1096,"props":10111,"children":10113},{"class":1098,"line":10112},83,[10114,10119,10123,10127,10131,10135,10140,10144,10148,10152,10156],{"type":45,"tag":1096,"props":10115,"children":10116},{"style":1134},[10117],{"type":58,"value":10118},"PLAT_B64",{"type":45,"tag":1096,"props":10120,"children":10121},{"style":1149},[10122],{"type":58,"value":2319},{"type":45,"tag":1096,"props":10124,"children":10125},{"style":2637},[10126],{"type":58,"value":3849},{"type":45,"tag":1096,"props":10128,"children":10129},{"style":1118},[10130],{"type":58,"value":9000},{"type":45,"tag":1096,"props":10132,"children":10133},{"style":1149},[10134],{"type":58,"value":1152},{"type":45,"tag":1096,"props":10136,"children":10137},{"style":1134},[10138],{"type":58,"value":10139},"$PLATFORM",{"type":45,"tag":1096,"props":10141,"children":10142},{"style":1149},[10143],{"type":58,"value":1162},{"type":45,"tag":1096,"props":10145,"children":10146},{"style":1149},[10147],{"type":58,"value":3547},{"type":45,"tag":1096,"props":10149,"children":10150},{"style":1113},[10151],{"type":58,"value":4270},{"type":45,"tag":1096,"props":10153,"children":10154},{"style":1118},[10155],{"type":58,"value":10056},{"type":45,"tag":1096,"props":10157,"children":10158},{"style":1149},[10159],{"type":58,"value":2424},{"type":45,"tag":1096,"props":10161,"children":10163},{"class":1098,"line":10162},84,[10164],{"type":45,"tag":1096,"props":10165,"children":10166},{"emptyLinePlaceholder":1231},[10167],{"type":58,"value":1234},{"type":45,"tag":1096,"props":10169,"children":10171},{"class":1098,"line":10170},85,[10172,10177,10181,10185,10189,10193,10197,10201,10205,10209],{"type":45,"tag":1096,"props":10173,"children":10174},{"style":1134},[10175],{"type":58,"value":10176},"BODY_FILE",{"type":45,"tag":1096,"props":10178,"children":10179},{"style":1149},[10180],{"type":58,"value":2319},{"type":45,"tag":1096,"props":10182,"children":10183},{"style":1113},[10184],{"type":58,"value":2601},{"type":45,"tag":1096,"props":10186,"children":10187},{"style":1118},[10188],{"type":58,"value":2606},{"type":45,"tag":1096,"props":10190,"children":10191},{"style":1149},[10192],{"type":58,"value":2611},{"type":45,"tag":1096,"props":10194,"children":10195},{"style":1118},[10196],{"type":58,"value":2616},{"type":45,"tag":1096,"props":10198,"children":10199},{"style":1149},[10200],{"type":58,"value":2621},{"type":45,"tag":1096,"props":10202,"children":10203},{"style":1113},[10204],{"type":58,"value":2626},{"type":45,"tag":1096,"props":10206,"children":10207},{"style":1149},[10208],{"type":58,"value":174},{"type":45,"tag":1096,"props":10210,"children":10211},{"style":1103},[10212],{"type":58,"value":8452},{"type":45,"tag":1096,"props":10214,"children":10216},{"class":1098,"line":10215},86,[10217,10221,10225,10229,10233,10237,10241],{"type":45,"tag":1096,"props":10218,"children":10219},{"style":1113},[10220],{"type":58,"value":4132},{"type":45,"tag":1096,"props":10222,"children":10223},{"style":1149},[10224],{"type":58,"value":2660},{"type":45,"tag":1096,"props":10226,"children":10227},{"style":1149},[10228],{"type":58,"value":1152},{"type":45,"tag":1096,"props":10230,"children":10231},{"style":1134},[10232],{"type":58,"value":8473},{"type":45,"tag":1096,"props":10234,"children":10235},{"style":1149},[10236],{"type":58,"value":1162},{"type":45,"tag":1096,"props":10238,"children":10239},{"style":1149},[10240],{"type":58,"value":8482},{"type":45,"tag":1096,"props":10242,"children":10243},{"style":1149},[10244],{"type":58,"value":8487},{"type":45,"tag":1096,"props":10246,"children":10248},{"class":1098,"line":10247},87,[10249],{"type":45,"tag":1096,"props":10250,"children":10251},{"style":1118},[10252],{"type":58,"value":10253},"{\"definition\":{\"parts\":[\n",{"type":45,"tag":1096,"props":10255,"children":10257},{"class":1098,"line":10256},88,[10258,10263,10268,10272,10276],{"type":45,"tag":1096,"props":10259,"children":10260},{"style":1118},[10261],{"type":58,"value":10262},"  {\"path\":\"mashup.pq\",          \"payload\":\"",{"type":45,"tag":1096,"props":10264,"children":10265},{"style":1149},[10266],{"type":58,"value":10267},"${",{"type":45,"tag":1096,"props":10269,"children":10270},{"style":1134},[10271],{"type":58,"value":10018},{"type":45,"tag":1096,"props":10273,"children":10274},{"style":1149},[10275],{"type":58,"value":9717},{"type":45,"tag":1096,"props":10277,"children":10278},{"style":1118},[10279],{"type":58,"value":10280},"\", \"payloadType\":\"InlineBase64\"},\n",{"type":45,"tag":1096,"props":10282,"children":10284},{"class":1098,"line":10283},89,[10285,10290,10294,10298,10302],{"type":45,"tag":1096,"props":10286,"children":10287},{"style":1118},[10288],{"type":58,"value":10289},"  {\"path\":\"queryMetadata.json\", \"payload\":\"",{"type":45,"tag":1096,"props":10291,"children":10292},{"style":1149},[10293],{"type":58,"value":10267},{"type":45,"tag":1096,"props":10295,"children":10296},{"style":1134},[10297],{"type":58,"value":10069},{"type":45,"tag":1096,"props":10299,"children":10300},{"style":1149},[10301],{"type":58,"value":9717},{"type":45,"tag":1096,"props":10303,"children":10304},{"style":1118},[10305],{"type":58,"value":10306},"\",   \"payloadType\":\"InlineBase64\"},\n",{"type":45,"tag":1096,"props":10308,"children":10310},{"class":1098,"line":10309},90,[10311,10316,10320,10324,10328],{"type":45,"tag":1096,"props":10312,"children":10313},{"style":1118},[10314],{"type":58,"value":10315},"  {\"path\":\".platform\",          \"payload\":\"",{"type":45,"tag":1096,"props":10317,"children":10318},{"style":1149},[10319],{"type":58,"value":10267},{"type":45,"tag":1096,"props":10321,"children":10322},{"style":1134},[10323],{"type":58,"value":10118},{"type":45,"tag":1096,"props":10325,"children":10326},{"style":1149},[10327],{"type":58,"value":9717},{"type":45,"tag":1096,"props":10329,"children":10330},{"style":1118},[10331],{"type":58,"value":10332},"\",   \"payloadType\":\"InlineBase64\"}\n",{"type":45,"tag":1096,"props":10334,"children":10336},{"class":1098,"line":10335},91,[10337],{"type":45,"tag":1096,"props":10338,"children":10339},{"style":1118},[10340],{"type":58,"value":10341},"]}}\n",{"type":45,"tag":1096,"props":10343,"children":10345},{"class":1098,"line":10344},92,[10346],{"type":45,"tag":1096,"props":10347,"children":10348},{"style":1149},[10349],{"type":58,"value":8487},{"type":45,"tag":1096,"props":10351,"children":10353},{"class":1098,"line":10352},93,[10354,10358,10362,10366,10370,10374,10378,10382,10386],{"type":45,"tag":1096,"props":10355,"children":10356},{"style":1113},[10357],{"type":58,"value":224},{"type":45,"tag":1096,"props":10359,"children":10360},{"style":1118},[10361],{"type":58,"value":1121},{"type":45,"tag":1096,"props":10363,"children":10364},{"style":1118},[10365],{"type":58,"value":1126},{"type":45,"tag":1096,"props":10367,"children":10368},{"style":1118},[10369],{"type":58,"value":2702},{"type":45,"tag":1096,"props":10371,"children":10372},{"style":1118},[10373],{"type":58,"value":2340},{"type":45,"tag":1096,"props":10375,"children":10376},{"style":1149},[10377],{"type":58,"value":1152},{"type":45,"tag":1096,"props":10379,"children":10380},{"style":1134},[10381],{"type":58,"value":2257},{"type":45,"tag":1096,"props":10383,"children":10384},{"style":1149},[10385],{"type":58,"value":1162},{"type":45,"tag":1096,"props":10387,"children":10388},{"style":1134},[10389],{"type":58,"value":1137},{"type":45,"tag":1096,"props":10391,"children":10393},{"class":1098,"line":10392},94,[10394,10398,10402,10406,10410,10414,10418,10422,10427,10431],{"type":45,"tag":1096,"props":10395,"children":10396},{"style":1118},[10397],{"type":58,"value":1175},{"type":45,"tag":1096,"props":10399,"children":10400},{"style":1149},[10401],{"type":58,"value":1152},{"type":45,"tag":1096,"props":10403,"children":10404},{"style":1134},[10405],{"type":58,"value":2366},{"type":45,"tag":1096,"props":10407,"children":10408},{"style":1118},[10409],{"type":58,"value":2743},{"type":45,"tag":1096,"props":10411,"children":10412},{"style":1134},[10413],{"type":58,"value":1341},{"type":45,"tag":1096,"props":10415,"children":10416},{"style":1118},[10417],{"type":58,"value":3358},{"type":45,"tag":1096,"props":10419,"children":10420},{"style":1134},[10421],{"type":58,"value":3363},{"type":45,"tag":1096,"props":10423,"children":10424},{"style":1118},[10425],{"type":58,"value":10426},"\u002FupdateDefinition?updateMetadata=true",{"type":45,"tag":1096,"props":10428,"children":10429},{"style":1149},[10430],{"type":58,"value":1162},{"type":45,"tag":1096,"props":10432,"children":10433},{"style":1134},[10434],{"type":58,"value":1137},{"type":45,"tag":1096,"props":10436,"children":10438},{"class":1098,"line":10437},95,[10439,10443,10447,10451,10455,10459,10463,10467,10471],{"type":45,"tag":1096,"props":10440,"children":10441},{"style":1118},[10442],{"type":58,"value":2768},{"type":45,"tag":1096,"props":10444,"children":10445},{"style":1149},[10446],{"type":58,"value":1152},{"type":45,"tag":1096,"props":10448,"children":10449},{"style":1118},[10450],{"type":58,"value":2777},{"type":45,"tag":1096,"props":10452,"children":10453},{"style":1149},[10454],{"type":58,"value":1162},{"type":45,"tag":1096,"props":10456,"children":10457},{"style":1118},[10458],{"type":58,"value":8716},{"type":45,"tag":1096,"props":10460,"children":10461},{"style":1149},[10462],{"type":58,"value":1152},{"type":45,"tag":1096,"props":10464,"children":10465},{"style":1118},[10466],{"type":58,"value":2803},{"type":45,"tag":1096,"props":10468,"children":10469},{"style":1134},[10470],{"type":58,"value":8473},{"type":45,"tag":1096,"props":10472,"children":10473},{"style":1149},[10474],{"type":58,"value":1271},{"type":45,"tag":1096,"props":10476,"children":10478},{"class":1098,"line":10477},96,[10479,10483,10487,10491,10495],{"type":45,"tag":1096,"props":10480,"children":10481},{"style":1113},[10482],{"type":58,"value":2842},{"type":45,"tag":1096,"props":10484,"children":10485},{"style":1118},[10486],{"type":58,"value":2847},{"type":45,"tag":1096,"props":10488,"children":10489},{"style":1149},[10490],{"type":58,"value":1152},{"type":45,"tag":1096,"props":10492,"children":10493},{"style":1134},[10494],{"type":58,"value":8473},{"type":45,"tag":1096,"props":10496,"children":10497},{"style":1149},[10498],{"type":58,"value":1271},{"type":45,"tag":1096,"props":10500,"children":10502},{"class":1098,"line":10501},97,[10503],{"type":45,"tag":1096,"props":10504,"children":10505},{"emptyLinePlaceholder":1231},[10506],{"type":58,"value":1234},{"type":45,"tag":1096,"props":10508,"children":10510},{"class":1098,"line":10509},98,[10511],{"type":45,"tag":1096,"props":10512,"children":10513},{"style":1103},[10514],{"type":58,"value":10515},"# Step 6: Verify connections[] persisted via getDefinition (NOT \u002Fitems\u002F{id}\u002Fconnections).\n",{"type":45,"tag":1096,"props":10517,"children":10519},{"class":1098,"line":10518},99,[10520],{"type":45,"tag":1096,"props":10521,"children":10522},{"style":1103},[10523],{"type":58,"value":10524},"# Assumes the sync 200 fast-path (typical, ~1s). If the call ever returns 202 LRO,\n",{"type":45,"tag":1096,"props":10526,"children":10528},{"class":1098,"line":10527},100,[10529],{"type":45,"tag":1096,"props":10530,"children":10531},{"style":1103},[10532],{"type":58,"value":10533},"# az rest can't expose the Location header — switch to the curl + poll pattern from\n",{"type":45,"tag":1096,"props":10535,"children":10537},{"class":1098,"line":10536},101,[10538],{"type":45,"tag":1096,"props":10539,"children":10540},{"style":1103},[10541],{"type":58,"value":10542},"# Example 3 \u002F authoring-script-templates.md and decode the polled 200 body instead.\n",{"type":45,"tag":1096,"props":10544,"children":10546},{"class":1098,"line":10545},102,[10547,10552,10556,10560,10564,10568,10572,10576,10580,10584,10588],{"type":45,"tag":1096,"props":10548,"children":10549},{"style":1134},[10550],{"type":58,"value":10551},"PERSISTED",{"type":45,"tag":1096,"props":10553,"children":10554},{"style":1149},[10555],{"type":58,"value":2319},{"type":45,"tag":1096,"props":10557,"children":10558},{"style":1113},[10559],{"type":58,"value":224},{"type":45,"tag":1096,"props":10561,"children":10562},{"style":1118},[10563],{"type":58,"value":1121},{"type":45,"tag":1096,"props":10565,"children":10566},{"style":1118},[10567],{"type":58,"value":1126},{"type":45,"tag":1096,"props":10569,"children":10570},{"style":1118},[10571],{"type":58,"value":2702},{"type":45,"tag":1096,"props":10573,"children":10574},{"style":1118},[10575],{"type":58,"value":2340},{"type":45,"tag":1096,"props":10577,"children":10578},{"style":1149},[10579],{"type":58,"value":1152},{"type":45,"tag":1096,"props":10581,"children":10582},{"style":1134},[10583],{"type":58,"value":2257},{"type":45,"tag":1096,"props":10585,"children":10586},{"style":1149},[10587],{"type":58,"value":1162},{"type":45,"tag":1096,"props":10589,"children":10590},{"style":1134},[10591],{"type":58,"value":1137},{"type":45,"tag":1096,"props":10593,"children":10595},{"class":1098,"line":10594},103,[10596,10600,10604,10608,10612,10616,10620,10624,10628,10632],{"type":45,"tag":1096,"props":10597,"children":10598},{"style":1118},[10599],{"type":58,"value":1175},{"type":45,"tag":1096,"props":10601,"children":10602},{"style":1149},[10603],{"type":58,"value":1152},{"type":45,"tag":1096,"props":10605,"children":10606},{"style":1134},[10607],{"type":58,"value":2366},{"type":45,"tag":1096,"props":10609,"children":10610},{"style":1118},[10611],{"type":58,"value":2743},{"type":45,"tag":1096,"props":10613,"children":10614},{"style":1134},[10615],{"type":58,"value":1341},{"type":45,"tag":1096,"props":10617,"children":10618},{"style":1118},[10619],{"type":58,"value":3358},{"type":45,"tag":1096,"props":10621,"children":10622},{"style":1134},[10623],{"type":58,"value":3363},{"type":45,"tag":1096,"props":10625,"children":10626},{"style":1118},[10627],{"type":58,"value":3368},{"type":45,"tag":1096,"props":10629,"children":10630},{"style":1149},[10631],{"type":58,"value":1162},{"type":45,"tag":1096,"props":10633,"children":10634},{"style":1134},[10635],{"type":58,"value":1137},{"type":45,"tag":1096,"props":10637,"children":10639},{"class":1098,"line":10638},104,[10640,10644,10648,10653,10657],{"type":45,"tag":1096,"props":10641,"children":10642},{"style":1118},[10643],{"type":58,"value":2768},{"type":45,"tag":1096,"props":10645,"children":10646},{"style":1149},[10647],{"type":58,"value":1152},{"type":45,"tag":1096,"props":10649,"children":10650},{"style":1118},[10651],{"type":58,"value":10652},"Content-Length=0",{"type":45,"tag":1096,"props":10654,"children":10655},{"style":1149},[10656],{"type":58,"value":1162},{"type":45,"tag":1096,"props":10658,"children":10659},{"style":1134},[10660],{"type":58,"value":1137},{"type":45,"tag":1096,"props":10662,"children":10664},{"class":1098,"line":10663},105,[10665,10670,10674,10678,10682,10686,10690,10694,10698,10702],{"type":45,"tag":1096,"props":10666,"children":10667},{"style":1149},[10668],{"type":58,"value":10669},"  |",{"type":45,"tag":1096,"props":10671,"children":10672},{"style":1113},[10673],{"type":58,"value":3871},{"type":45,"tag":1096,"props":10675,"children":10676},{"style":1118},[10677],{"type":58,"value":4248},{"type":45,"tag":1096,"props":10679,"children":10680},{"style":1149},[10681],{"type":58,"value":2645},{"type":45,"tag":1096,"props":10683,"children":10684},{"style":1118},[10685],{"type":58,"value":4257},{"type":45,"tag":1096,"props":10687,"children":10688},{"style":1149},[10689],{"type":58,"value":2655},{"type":45,"tag":1096,"props":10691,"children":10692},{"style":1149},[10693],{"type":58,"value":3547},{"type":45,"tag":1096,"props":10695,"children":10696},{"style":1113},[10697],{"type":58,"value":4270},{"type":45,"tag":1096,"props":10699,"children":10700},{"style":1118},[10701],{"type":58,"value":3512},{"type":45,"tag":1096,"props":10703,"children":10704},{"style":1134},[10705],{"type":58,"value":1137},{"type":45,"tag":1096,"props":10707,"children":10709},{"class":1098,"line":10708},106,[10710,10714,10718,10722,10726,10731,10735],{"type":45,"tag":1096,"props":10711,"children":10712},{"style":1149},[10713],{"type":58,"value":10669},{"type":45,"tag":1096,"props":10715,"children":10716},{"style":1113},[10717],{"type":58,"value":3871},{"type":45,"tag":1096,"props":10719,"children":10720},{"style":1118},[10721],{"type":58,"value":4248},{"type":45,"tag":1096,"props":10723,"children":10724},{"style":1149},[10725],{"type":58,"value":2645},{"type":45,"tag":1096,"props":10727,"children":10728},{"style":1118},[10729],{"type":58,"value":10730},".connections | length",{"type":45,"tag":1096,"props":10732,"children":10733},{"style":1149},[10734],{"type":58,"value":2655},{"type":45,"tag":1096,"props":10736,"children":10737},{"style":1149},[10738],{"type":58,"value":2424},{"type":45,"tag":1096,"props":10740,"children":10742},{"class":1098,"line":10741},107,[10743,10748,10752,10756,10760,10765,10770,10775,10780,10784,10788,10792,10796,10801,10805,10809,10814,10818,10822,10827,10831,10835,10839,10843,10847],{"type":45,"tag":1096,"props":10744,"children":10745},{"style":1149},[10746],{"type":58,"value":10747},"[",{"type":45,"tag":1096,"props":10749,"children":10750},{"style":1149},[10751],{"type":58,"value":3957},{"type":45,"tag":1096,"props":10753,"children":10754},{"style":1134},[10755],{"type":58,"value":10551},{"type":45,"tag":1096,"props":10757,"children":10758},{"style":1149},[10759],{"type":58,"value":3713},{"type":45,"tag":1096,"props":10761,"children":10762},{"style":1134},[10763],{"type":58,"value":10764},"0",{"type":45,"tag":1096,"props":10766,"children":10767},{"style":1149},[10768],{"type":58,"value":10769},"}\"",{"type":45,"tag":1096,"props":10771,"children":10772},{"style":1149},[10773],{"type":58,"value":10774}," -gt",{"type":45,"tag":1096,"props":10776,"children":10777},{"style":4084},[10778],{"type":58,"value":10779}," 0",{"type":45,"tag":1096,"props":10781,"children":10782},{"style":1149},[10783],{"type":58,"value":4519},{"type":45,"tag":1096,"props":10785,"children":10786},{"style":1149},[10787],{"type":58,"value":4524},{"type":45,"tag":1096,"props":10789,"children":10790},{"style":2637},[10791],{"type":58,"value":4016},{"type":45,"tag":1096,"props":10793,"children":10794},{"style":1149},[10795],{"type":58,"value":1152},{"type":45,"tag":1096,"props":10797,"children":10798},{"style":1118},[10799],{"type":58,"value":10800},"OK: connections[] persisted.",{"type":45,"tag":1096,"props":10802,"children":10803},{"style":1149},[10804],{"type":58,"value":1162},{"type":45,"tag":1096,"props":10806,"children":10807},{"style":1149},[10808],{"type":58,"value":2621},{"type":45,"tag":1096,"props":10810,"children":10811},{"style":1149},[10812],{"type":58,"value":10813}," {",{"type":45,"tag":1096,"props":10815,"children":10816},{"style":2637},[10817],{"type":58,"value":4016},{"type":45,"tag":1096,"props":10819,"children":10820},{"style":1149},[10821],{"type":58,"value":1152},{"type":45,"tag":1096,"props":10823,"children":10824},{"style":1118},[10825],{"type":58,"value":10826},"FAIL: bind missing (or getDefinition returned a 202 LRO body — see note above).",{"type":45,"tag":1096,"props":10828,"children":10829},{"style":1149},[10830],{"type":58,"value":1162},{"type":45,"tag":1096,"props":10832,"children":10833},{"style":1149},[10834],{"type":58,"value":4076},{"type":45,"tag":1096,"props":10836,"children":10837},{"style":2637},[10838],{"type":58,"value":4081},{"type":45,"tag":1096,"props":10840,"children":10841},{"style":4084},[10842],{"type":58,"value":4087},{"type":45,"tag":1096,"props":10844,"children":10845},{"style":1149},[10846],{"type":58,"value":2189},{"type":45,"tag":1096,"props":10848,"children":10849},{"style":1149},[10850],{"type":58,"value":10851}," }\n",{"type":45,"tag":1096,"props":10853,"children":10855},{"class":1098,"line":10854},108,[10856],{"type":45,"tag":1096,"props":10857,"children":10858},{"emptyLinePlaceholder":1231},[10859],{"type":58,"value":1234},{"type":45,"tag":1096,"props":10861,"children":10863},{"class":1098,"line":10862},109,[10864],{"type":45,"tag":1096,"props":10865,"children":10866},{"style":1103},[10867],{"type":58,"value":10868},"# Step 7 (optional): Validate the M evaluates — top-level QueryName, PascalCase.\n",{"type":45,"tag":1096,"props":10870,"children":10872},{"class":1098,"line":10871},110,[10873,10878,10882,10886,10890,10894,10898,10902,10906],{"type":45,"tag":1096,"props":10874,"children":10875},{"style":1134},[10876],{"type":58,"value":10877},"EQ_BODY",{"type":45,"tag":1096,"props":10879,"children":10880},{"style":1149},[10881],{"type":58,"value":2319},{"type":45,"tag":1096,"props":10883,"children":10884},{"style":1113},[10885],{"type":58,"value":2601},{"type":45,"tag":1096,"props":10887,"children":10888},{"style":1118},[10889],{"type":58,"value":2606},{"type":45,"tag":1096,"props":10891,"children":10892},{"style":1149},[10893],{"type":58,"value":2611},{"type":45,"tag":1096,"props":10895,"children":10896},{"style":1118},[10897],{"type":58,"value":2616},{"type":45,"tag":1096,"props":10899,"children":10900},{"style":1149},[10901],{"type":58,"value":2621},{"type":45,"tag":1096,"props":10903,"children":10904},{"style":1113},[10905],{"type":58,"value":2626},{"type":45,"tag":1096,"props":10907,"children":10908},{"style":1149},[10909],{"type":58,"value":2424},{"type":45,"tag":1096,"props":10911,"children":10913},{"class":1098,"line":10912},111,[10914,10918,10922,10927,10931,10935,10939,10944],{"type":45,"tag":1096,"props":10915,"children":10916},{"style":2637},[10917],{"type":58,"value":2640},{"type":45,"tag":1096,"props":10919,"children":10920},{"style":1149},[10921],{"type":58,"value":2645},{"type":45,"tag":1096,"props":10923,"children":10924},{"style":1118},[10925],{"type":58,"value":10926},"{\"QueryName\":\"Titanic\"}",{"type":45,"tag":1096,"props":10928,"children":10929},{"style":1149},[10930],{"type":58,"value":2655},{"type":45,"tag":1096,"props":10932,"children":10933},{"style":1149},[10934],{"type":58,"value":2660},{"type":45,"tag":1096,"props":10936,"children":10937},{"style":1149},[10938],{"type":58,"value":1152},{"type":45,"tag":1096,"props":10940,"children":10941},{"style":1134},[10942],{"type":58,"value":10943},"$EQ_BODY",{"type":45,"tag":1096,"props":10945,"children":10946},{"style":1149},[10947],{"type":58,"value":1271},{"type":45,"tag":1096,"props":10949,"children":10951},{"class":1098,"line":10950},112,[10952,10956,10960,10964,10968,10972,10976,10980,10984],{"type":45,"tag":1096,"props":10953,"children":10954},{"style":1113},[10955],{"type":58,"value":224},{"type":45,"tag":1096,"props":10957,"children":10958},{"style":1118},[10959],{"type":58,"value":1121},{"type":45,"tag":1096,"props":10961,"children":10962},{"style":1118},[10963],{"type":58,"value":1126},{"type":45,"tag":1096,"props":10965,"children":10966},{"style":1118},[10967],{"type":58,"value":2702},{"type":45,"tag":1096,"props":10969,"children":10970},{"style":1118},[10971],{"type":58,"value":2340},{"type":45,"tag":1096,"props":10973,"children":10974},{"style":1149},[10975],{"type":58,"value":1152},{"type":45,"tag":1096,"props":10977,"children":10978},{"style":1134},[10979],{"type":58,"value":2257},{"type":45,"tag":1096,"props":10981,"children":10982},{"style":1149},[10983],{"type":58,"value":1162},{"type":45,"tag":1096,"props":10985,"children":10986},{"style":1134},[10987],{"type":58,"value":1137},{"type":45,"tag":1096,"props":10989,"children":10991},{"class":1098,"line":10990},113,[10992,10996,11000,11004,11008,11012,11016,11020,11025,11029],{"type":45,"tag":1096,"props":10993,"children":10994},{"style":1118},[10995],{"type":58,"value":1175},{"type":45,"tag":1096,"props":10997,"children":10998},{"style":1149},[10999],{"type":58,"value":1152},{"type":45,"tag":1096,"props":11001,"children":11002},{"style":1134},[11003],{"type":58,"value":2366},{"type":45,"tag":1096,"props":11005,"children":11006},{"style":1118},[11007],{"type":58,"value":2743},{"type":45,"tag":1096,"props":11009,"children":11010},{"style":1134},[11011],{"type":58,"value":1341},{"type":45,"tag":1096,"props":11013,"children":11014},{"style":1118},[11015],{"type":58,"value":3358},{"type":45,"tag":1096,"props":11017,"children":11018},{"style":1134},[11019],{"type":58,"value":3363},{"type":45,"tag":1096,"props":11021,"children":11022},{"style":1118},[11023],{"type":58,"value":11024},"\u002FexecuteQuery",{"type":45,"tag":1096,"props":11026,"children":11027},{"style":1149},[11028],{"type":58,"value":1162},{"type":45,"tag":1096,"props":11030,"children":11031},{"style":1134},[11032],{"type":58,"value":1137},{"type":45,"tag":1096,"props":11034,"children":11036},{"class":1098,"line":11035},114,[11037,11041,11045,11049,11053],{"type":45,"tag":1096,"props":11038,"children":11039},{"style":1118},[11040],{"type":58,"value":2768},{"type":45,"tag":1096,"props":11042,"children":11043},{"style":1149},[11044],{"type":58,"value":1152},{"type":45,"tag":1096,"props":11046,"children":11047},{"style":1118},[11048],{"type":58,"value":2777},{"type":45,"tag":1096,"props":11050,"children":11051},{"style":1149},[11052],{"type":58,"value":1162},{"type":45,"tag":1096,"props":11054,"children":11055},{"style":1134},[11056],{"type":58,"value":1137},{"type":45,"tag":1096,"props":11058,"children":11060},{"class":1098,"line":11059},115,[11061,11065,11069,11073,11077,11081,11086],{"type":45,"tag":1096,"props":11062,"children":11063},{"style":1118},[11064],{"type":58,"value":2794},{"type":45,"tag":1096,"props":11066,"children":11067},{"style":1149},[11068],{"type":58,"value":1152},{"type":45,"tag":1096,"props":11070,"children":11071},{"style":1118},[11072],{"type":58,"value":2803},{"type":45,"tag":1096,"props":11074,"children":11075},{"style":1134},[11076],{"type":58,"value":10943},{"type":45,"tag":1096,"props":11078,"children":11079},{"style":1149},[11080],{"type":58,"value":1162},{"type":45,"tag":1096,"props":11082,"children":11083},{"style":1118},[11084],{"type":58,"value":11085}," --output-file",{"type":45,"tag":1096,"props":11087,"children":11088},{"style":1118},[11089],{"type":58,"value":11090}," \u002Ftmp\u002Ftitanic.arrow\n",{"type":45,"tag":1096,"props":11092,"children":11094},{"class":1098,"line":11093},116,[11095,11099,11103,11107,11111],{"type":45,"tag":1096,"props":11096,"children":11097},{"style":1113},[11098],{"type":58,"value":2842},{"type":45,"tag":1096,"props":11100,"children":11101},{"style":1118},[11102],{"type":58,"value":2847},{"type":45,"tag":1096,"props":11104,"children":11105},{"style":1149},[11106],{"type":58,"value":1152},{"type":45,"tag":1096,"props":11108,"children":11109},{"style":1134},[11110],{"type":58,"value":10943},{"type":45,"tag":1096,"props":11112,"children":11113},{"style":1149},[11114],{"type":58,"value":1271},{"type":45,"tag":1096,"props":11116,"children":11118},{"class":1098,"line":11117},117,[11119],{"type":45,"tag":1096,"props":11120,"children":11121},{"style":1103},[11122],{"type":58,"value":11123},"# Apache Arrow stream — embedded {\"Error\":\"...\"} means failure even on HTTP 200.\n",{"type":45,"tag":1096,"props":11125,"children":11127},{"class":1098,"line":11126},118,[11128,11133,11138,11142,11147,11151,11156,11160,11164,11168,11172,11177,11181,11185,11189,11193,11197],{"type":45,"tag":1096,"props":11129,"children":11130},{"style":1113},[11131],{"type":58,"value":11132},"grep",{"type":45,"tag":1096,"props":11134,"children":11135},{"style":1118},[11136],{"type":58,"value":11137}," -q",{"type":45,"tag":1096,"props":11139,"children":11140},{"style":1149},[11141],{"type":58,"value":2645},{"type":45,"tag":1096,"props":11143,"children":11144},{"style":1118},[11145],{"type":58,"value":11146},"\"Error\":\"",{"type":45,"tag":1096,"props":11148,"children":11149},{"style":1149},[11150],{"type":58,"value":2655},{"type":45,"tag":1096,"props":11152,"children":11153},{"style":1118},[11154],{"type":58,"value":11155}," \u002Ftmp\u002Ftitanic.arrow",{"type":45,"tag":1096,"props":11157,"children":11158},{"style":1149},[11159],{"type":58,"value":4524},{"type":45,"tag":1096,"props":11161,"children":11162},{"style":1149},[11163],{"type":58,"value":10813},{"type":45,"tag":1096,"props":11165,"children":11166},{"style":2637},[11167],{"type":58,"value":4016},{"type":45,"tag":1096,"props":11169,"children":11170},{"style":1149},[11171],{"type":58,"value":1152},{"type":45,"tag":1096,"props":11173,"children":11174},{"style":1118},[11175],{"type":58,"value":11176},"executeQuery surfaced an error.",{"type":45,"tag":1096,"props":11178,"children":11179},{"style":1149},[11180],{"type":58,"value":1162},{"type":45,"tag":1096,"props":11182,"children":11183},{"style":1149},[11184],{"type":58,"value":4076},{"type":45,"tag":1096,"props":11186,"children":11187},{"style":2637},[11188],{"type":58,"value":4081},{"type":45,"tag":1096,"props":11190,"children":11191},{"style":4084},[11192],{"type":58,"value":4087},{"type":45,"tag":1096,"props":11194,"children":11195},{"style":1149},[11196],{"type":58,"value":2189},{"type":45,"tag":1096,"props":11198,"children":11199},{"style":1149},[11200],{"type":58,"value":10851},{"type":45,"tag":1096,"props":11202,"children":11204},{"class":1098,"line":11203},119,[11205],{"type":45,"tag":1096,"props":11206,"children":11207},{"emptyLinePlaceholder":1231},[11208],{"type":58,"value":1234},{"type":45,"tag":1096,"props":11210,"children":11212},{"class":1098,"line":11211},120,[11213],{"type":45,"tag":1096,"props":11214,"children":11215},{"style":1103},[11216],{"type":58,"value":11217},"# Step 8 (optional): Trigger refresh with ApplyChangesIfNeeded on first run — see Example 2.\n",{"type":45,"tag":1067,"props":11219,"children":11221},{"id":11220},"example-2-trigger-a-refresh-job",[11222],{"type":58,"value":11223},"Example 2: Trigger a Refresh Job",{"type":45,"tag":50,"props":11225,"children":11226},{},[11227,11231],{"type":45,"tag":54,"props":11228,"children":11229},{},[11230],{"type":58,"value":7976},{"type":58,"value":11232},": \"Trigger a refresh on this dataflow and poll until it completes.\"",{"type":45,"tag":50,"props":11234,"children":11235},{},[11236,11240],{"type":45,"tag":54,"props":11237,"children":11238},{},[11239],{"type":58,"value":7986},{"type":58,"value":9681},{"type":45,"tag":1085,"props":11242,"children":11244},{"className":1087,"code":11243,"language":1089,"meta":1090,"style":1090},"# Trigger refresh (returns 202 + Location header for polling).\n# jobType MUST be \"Refresh\"; \"Pipeline\" returns 400 InvalidJobType.\n# On the first refresh after any updateDefinition, body MUST include executeOption=ApplyChangesIfNeeded\n# (otherwise Fabric refreshes the previously-applied definition).\n# Acquire $TOKEN per common\u002FCOMMON-CLI.md § Token-in-Variable Pattern (resource = https:\u002F\u002Fapi.fabric.microsoft.com).\nLOCATION=$(curl -sS -X POST \\\n  -H \"Authorization: Bearer $TOKEN\" -H \"Content-Type: application\u002Fjson\" \\\n  --data '{\"executionData\":{\"executeOption\":\"ApplyChangesIfNeeded\"}}' \\\n  \"https:\u002F\u002Fapi.fabric.microsoft.com\u002Fv1\u002Fworkspaces\u002F${WS_ID}\u002Fdataflows\u002F${DF_ID}\u002Fjobs\u002Finstances?jobType=Refresh\" \\\n  -o \u002Fdev\u002Fnull -D - | tr -d '\\r' | grep -i \"^location:\" | awk '{print $2}')\n\n# Poll while the status is non-terminal. Fabric refresh job status enum:\n#   NotStarted \u002F InProgress   -> non-terminal, keep polling\n#   Completed                 -> success\n#   Failed \u002F Cancelled        -> terminal backend outcome (fatal-stop)\n#   Deduped                   -> another refresh is already running; this trigger was skipped (NOT success)\n# Treat ONLY NotStarted\u002FInProgress as non-terminal and break on anything else, so a newly-added\n# terminal status surfaces immediately instead of waiting out MAX_POLLS (the contract notes more\n# status values may be added over time). MAX_POLLS bounds the wait if the job never terminates.\nATTEMPT=0; MAX_POLLS=\"${MAX_POLLS:-60}\"\nwhile [ \"$ATTEMPT\" -lt \"$MAX_POLLS\" ]; do\n  STATUS=$(az rest --method get --url \"$LOCATION\" \\\n    --resource \"https:\u002F\u002Fapi.fabric.microsoft.com\" --query \"status\" -o tsv)\n  echo \"Status: $STATUS\"\n  case \"$STATUS\" in NotStarted|InProgress) ;; *) break ;; esac\n  sleep 10; ATTEMPT=$((ATTEMPT + 1))\ndone\ncase \"$STATUS\" in\n  Completed) : ;;  # success (exit 0)\n  Deduped)\n    # Concurrency, not success: another refresh is already running and this trigger was skipped.\n    # Monitor the in-flight instance instead of re-triggering. Exit non-zero so automation does not\n    # mistake a skipped trigger for a completed refresh.\n    echo \"Refresh deduplicated — another instance is already running; monitor that instance instead of re-triggering.\"\n    exit 2 ;;\n  NotStarted|InProgress)\n    # Max-poll bound reached before any terminal status — a polling timeout, NOT a terminal outcome.\n    # Surface the raw job instance and stop; do not assume success.\n    echo \"Polling stopped after ${MAX_POLLS} attempts with non-terminal status '$STATUS' (max-poll timeout, not a terminal outcome).\"\n    az rest --method get --url \"$LOCATION\" --resource \"https:\u002F\u002Fapi.fabric.microsoft.com\"\n    exit 1 ;;\n  *)  # Failed \u002F Cancelled (or any other terminal status): a terminal backend outcome — not something\n      # to debug-loop. Surface the job's raw error (the job-instance body's .failureReason, an\n      # ErrorResponse with .errorCode \u002F .isRetriable \u002F .message) and STOP. Do NOT re-trigger or keep\n      # polling when .failureReason.isRetriable=false or the error is workspace-wide.\n      az rest --method get --url \"$LOCATION\" --resource \"https:\u002F\u002Fapi.fabric.microsoft.com\"\n      exit 1 ;;\nesac\n",[11245],{"type":45,"tag":85,"props":11246,"children":11247},{"__ignoreMap":1090},[11248,11256,11264,11272,11280,11288,11320,11365,11389,11441,11537,11544,11552,11560,11568,11576,11584,11592,11600,11608,11661,11712,11761,11809,11834,11900,11943,11950,11974,11999,12011,12019,12027,12035,12056,12072,12092,12100,12108,12154,12206,12221,12234,12242,12250,12258,12310,12326],{"type":45,"tag":1096,"props":11249,"children":11250},{"class":1098,"line":1099},[11251],{"type":45,"tag":1096,"props":11252,"children":11253},{"style":1103},[11254],{"type":58,"value":11255},"# Trigger refresh (returns 202 + Location header for polling).\n",{"type":45,"tag":1096,"props":11257,"children":11258},{"class":1098,"line":1109},[11259],{"type":45,"tag":1096,"props":11260,"children":11261},{"style":1103},[11262],{"type":58,"value":11263},"# jobType MUST be \"Refresh\"; \"Pipeline\" returns 400 InvalidJobType.\n",{"type":45,"tag":1096,"props":11265,"children":11266},{"class":1098,"line":1140},[11267],{"type":45,"tag":1096,"props":11268,"children":11269},{"style":1103},[11270],{"type":58,"value":11271},"# On the first refresh after any updateDefinition, body MUST include executeOption=ApplyChangesIfNeeded\n",{"type":45,"tag":1096,"props":11273,"children":11274},{"class":1098,"line":1169},[11275],{"type":45,"tag":1096,"props":11276,"children":11277},{"style":1103},[11278],{"type":58,"value":11279},"# (otherwise Fabric refreshes the previously-applied definition).\n",{"type":45,"tag":1096,"props":11281,"children":11282},{"class":1098,"line":1195},[11283],{"type":45,"tag":1096,"props":11284,"children":11285},{"style":1103},[11286],{"type":58,"value":11287},"# Acquire $TOKEN per common\u002FCOMMON-CLI.md § Token-in-Variable Pattern (resource = https:\u002F\u002Fapi.fabric.microsoft.com).\n",{"type":45,"tag":1096,"props":11289,"children":11290},{"class":1098,"line":1227},[11291,11296,11300,11304,11308,11312,11316],{"type":45,"tag":1096,"props":11292,"children":11293},{"style":1134},[11294],{"type":58,"value":11295},"LOCATION",{"type":45,"tag":1096,"props":11297,"children":11298},{"style":1149},[11299],{"type":58,"value":2319},{"type":45,"tag":1096,"props":11301,"children":11302},{"style":1113},[11303],{"type":58,"value":246},{"type":45,"tag":1096,"props":11305,"children":11306},{"style":1118},[11307],{"type":58,"value":3279},{"type":45,"tag":1096,"props":11309,"children":11310},{"style":1118},[11311],{"type":58,"value":3284},{"type":45,"tag":1096,"props":11313,"children":11314},{"style":1118},[11315],{"type":58,"value":3289},{"type":45,"tag":1096,"props":11317,"children":11318},{"style":1134},[11319],{"type":58,"value":1137},{"type":45,"tag":1096,"props":11321,"children":11322},{"class":1098,"line":1237},[11323,11328,11332,11336,11340,11344,11348,11352,11357,11361],{"type":45,"tag":1096,"props":11324,"children":11325},{"style":1118},[11326],{"type":58,"value":11327},"  -H",{"type":45,"tag":1096,"props":11329,"children":11330},{"style":1149},[11331],{"type":58,"value":1152},{"type":45,"tag":1096,"props":11333,"children":11334},{"style":1118},[11335],{"type":58,"value":3303},{"type":45,"tag":1096,"props":11337,"children":11338},{"style":1134},[11339],{"type":58,"value":3308},{"type":45,"tag":1096,"props":11341,"children":11342},{"style":1149},[11343],{"type":58,"value":1162},{"type":45,"tag":1096,"props":11345,"children":11346},{"style":1118},[11347],{"type":58,"value":3294},{"type":45,"tag":1096,"props":11349,"children":11350},{"style":1149},[11351],{"type":58,"value":1152},{"type":45,"tag":1096,"props":11353,"children":11354},{"style":1118},[11355],{"type":58,"value":11356},"Content-Type: application\u002Fjson",{"type":45,"tag":1096,"props":11358,"children":11359},{"style":1149},[11360],{"type":58,"value":1162},{"type":45,"tag":1096,"props":11362,"children":11363},{"style":1134},[11364],{"type":58,"value":1137},{"type":45,"tag":1096,"props":11366,"children":11367},{"class":1098,"line":1246},[11368,11373,11377,11381,11385],{"type":45,"tag":1096,"props":11369,"children":11370},{"style":1118},[11371],{"type":58,"value":11372},"  --data",{"type":45,"tag":1096,"props":11374,"children":11375},{"style":1149},[11376],{"type":58,"value":2645},{"type":45,"tag":1096,"props":11378,"children":11379},{"style":1118},[11380],{"type":58,"value":2085},{"type":45,"tag":1096,"props":11382,"children":11383},{"style":1149},[11384],{"type":58,"value":2655},{"type":45,"tag":1096,"props":11386,"children":11387},{"style":1134},[11388],{"type":58,"value":1137},{"type":45,"tag":1096,"props":11390,"children":11391},{"class":1098,"line":1274},[11392,11396,11400,11404,11408,11412,11416,11420,11424,11428,11433,11437],{"type":45,"tag":1096,"props":11393,"children":11394},{"style":1149},[11395],{"type":58,"value":3341},{"type":45,"tag":1096,"props":11397,"children":11398},{"style":1118},[11399],{"type":58,"value":1336},{"type":45,"tag":1096,"props":11401,"children":11402},{"style":1149},[11403],{"type":58,"value":10267},{"type":45,"tag":1096,"props":11405,"children":11406},{"style":1134},[11407],{"type":58,"value":1252},{"type":45,"tag":1096,"props":11409,"children":11410},{"style":1149},[11411],{"type":58,"value":9717},{"type":45,"tag":1096,"props":11413,"children":11414},{"style":1118},[11415],{"type":58,"value":3358},{"type":45,"tag":1096,"props":11417,"children":11418},{"style":1149},[11419],{"type":58,"value":10267},{"type":45,"tag":1096,"props":11421,"children":11422},{"style":1134},[11423],{"type":58,"value":1427},{"type":45,"tag":1096,"props":11425,"children":11426},{"style":1149},[11427],{"type":58,"value":9717},{"type":45,"tag":1096,"props":11429,"children":11430},{"style":1118},[11431],{"type":58,"value":11432},"\u002Fjobs\u002Finstances?jobType=Refresh",{"type":45,"tag":1096,"props":11434,"children":11435},{"style":1149},[11436],{"type":58,"value":1162},{"type":45,"tag":1096,"props":11438,"children":11439},{"style":1134},[11440],{"type":58,"value":1137},{"type":45,"tag":1096,"props":11442,"children":11443},{"class":1098,"line":1298},[11444,11449,11454,11459,11464,11468,11473,11477,11481,11485,11489,11493,11497,11501,11505,11509,11513,11517,11521,11525,11529,11533],{"type":45,"tag":1096,"props":11445,"children":11446},{"style":1118},[11447],{"type":58,"value":11448},"  -o",{"type":45,"tag":1096,"props":11450,"children":11451},{"style":1118},[11452],{"type":58,"value":11453}," \u002Fdev\u002Fnull",{"type":45,"tag":1096,"props":11455,"children":11456},{"style":1118},[11457],{"type":58,"value":11458}," -D",{"type":45,"tag":1096,"props":11460,"children":11461},{"style":1118},[11462],{"type":58,"value":11463}," -",{"type":45,"tag":1096,"props":11465,"children":11466},{"style":1149},[11467],{"type":58,"value":3547},{"type":45,"tag":1096,"props":11469,"children":11470},{"style":1113},[11471],{"type":58,"value":11472}," tr",{"type":45,"tag":1096,"props":11474,"children":11475},{"style":1118},[11476],{"type":58,"value":3512},{"type":45,"tag":1096,"props":11478,"children":11479},{"style":1149},[11480],{"type":58,"value":2645},{"type":45,"tag":1096,"props":11482,"children":11483},{"style":1118},[11484],{"type":58,"value":3521},{"type":45,"tag":1096,"props":11486,"children":11487},{"style":1149},[11488],{"type":58,"value":2655},{"type":45,"tag":1096,"props":11490,"children":11491},{"style":1149},[11492],{"type":58,"value":3547},{"type":45,"tag":1096,"props":11494,"children":11495},{"style":1113},[11496],{"type":58,"value":3552},{"type":45,"tag":1096,"props":11498,"children":11499},{"style":1118},[11500],{"type":58,"value":3557},{"type":45,"tag":1096,"props":11502,"children":11503},{"style":1149},[11504],{"type":58,"value":1152},{"type":45,"tag":1096,"props":11506,"children":11507},{"style":1118},[11508],{"type":58,"value":3566},{"type":45,"tag":1096,"props":11510,"children":11511},{"style":1149},[11512],{"type":58,"value":1162},{"type":45,"tag":1096,"props":11514,"children":11515},{"style":1149},[11516],{"type":58,"value":3547},{"type":45,"tag":1096,"props":11518,"children":11519},{"style":1113},[11520],{"type":58,"value":3579},{"type":45,"tag":1096,"props":11522,"children":11523},{"style":1149},[11524],{"type":58,"value":2645},{"type":45,"tag":1096,"props":11526,"children":11527},{"style":1118},[11528],{"type":58,"value":3588},{"type":45,"tag":1096,"props":11530,"children":11531},{"style":1149},[11532],{"type":58,"value":2655},{"type":45,"tag":1096,"props":11534,"children":11535},{"style":1149},[11536],{"type":58,"value":2424},{"type":45,"tag":1096,"props":11538,"children":11539},{"class":1098,"line":1322},[11540],{"type":45,"tag":1096,"props":11541,"children":11542},{"emptyLinePlaceholder":1231},[11543],{"type":58,"value":1234},{"type":45,"tag":1096,"props":11545,"children":11546},{"class":1098,"line":1357},[11547],{"type":45,"tag":1096,"props":11548,"children":11549},{"style":1103},[11550],{"type":58,"value":11551},"# Poll while the status is non-terminal. Fabric refresh job status enum:\n",{"type":45,"tag":1096,"props":11553,"children":11554},{"class":1098,"line":2442},[11555],{"type":45,"tag":1096,"props":11556,"children":11557},{"style":1103},[11558],{"type":58,"value":11559},"#   NotStarted \u002F InProgress   -> non-terminal, keep polling\n",{"type":45,"tag":1096,"props":11561,"children":11562},{"class":1098,"line":2451},[11563],{"type":45,"tag":1096,"props":11564,"children":11565},{"style":1103},[11566],{"type":58,"value":11567},"#   Completed                 -> success\n",{"type":45,"tag":1096,"props":11569,"children":11570},{"class":1098,"line":2501},[11571],{"type":45,"tag":1096,"props":11572,"children":11573},{"style":1103},[11574],{"type":58,"value":11575},"#   Failed \u002F Cancelled        -> terminal backend outcome (fatal-stop)\n",{"type":45,"tag":1096,"props":11577,"children":11578},{"class":1098,"line":2526},[11579],{"type":45,"tag":1096,"props":11580,"children":11581},{"style":1103},[11582],{"type":58,"value":11583},"#   Deduped                   -> another refresh is already running; this trigger was skipped (NOT success)\n",{"type":45,"tag":1096,"props":11585,"children":11586},{"class":1098,"line":2569},[11587],{"type":45,"tag":1096,"props":11588,"children":11589},{"style":1103},[11590],{"type":58,"value":11591},"# Treat ONLY NotStarted\u002FInProgress as non-terminal and break on anything else, so a newly-added\n",{"type":45,"tag":1096,"props":11593,"children":11594},{"class":1098,"line":2577},[11595],{"type":45,"tag":1096,"props":11596,"children":11597},{"style":1103},[11598],{"type":58,"value":11599},"# terminal status surfaces immediately instead of waiting out MAX_POLLS (the contract notes more\n",{"type":45,"tag":1096,"props":11601,"children":11602},{"class":1098,"line":2586},[11603],{"type":45,"tag":1096,"props":11604,"children":11605},{"style":1103},[11606],{"type":58,"value":11607},"# status values may be added over time). MAX_POLLS bounds the wait if the job never terminates.\n",{"type":45,"tag":1096,"props":11609,"children":11610},{"class":1098,"line":2633},[11611,11616,11620,11624,11628,11633,11637,11642,11647,11651,11656],{"type":45,"tag":1096,"props":11612,"children":11613},{"style":1134},[11614],{"type":58,"value":11615},"ATTEMPT",{"type":45,"tag":1096,"props":11617,"children":11618},{"style":1149},[11619],{"type":58,"value":1257},{"type":45,"tag":1096,"props":11621,"children":11622},{"style":1118},[11623],{"type":58,"value":10764},{"type":45,"tag":1096,"props":11625,"children":11626},{"style":1149},[11627],{"type":58,"value":2189},{"type":45,"tag":1096,"props":11629,"children":11630},{"style":1134},[11631],{"type":58,"value":11632}," MAX_POLLS",{"type":45,"tag":1096,"props":11634,"children":11635},{"style":1149},[11636],{"type":58,"value":1257},{"type":45,"tag":1096,"props":11638,"children":11639},{"style":1149},[11640],{"type":58,"value":11641},"\"${",{"type":45,"tag":1096,"props":11643,"children":11644},{"style":1134},[11645],{"type":58,"value":11646},"MAX_POLLS",{"type":45,"tag":1096,"props":11648,"children":11649},{"style":1149},[11650],{"type":58,"value":3713},{"type":45,"tag":1096,"props":11652,"children":11653},{"style":1134},[11654],{"type":58,"value":11655},"60",{"type":45,"tag":1096,"props":11657,"children":11658},{"style":1149},[11659],{"type":58,"value":11660},"}\"\n",{"type":45,"tag":1096,"props":11662,"children":11663},{"class":1098,"line":2676},[11664,11669,11673,11677,11682,11686,11691,11695,11700,11704,11708],{"type":45,"tag":1096,"props":11665,"children":11666},{"style":3442},[11667],{"type":58,"value":11668},"while",{"type":45,"tag":1096,"props":11670,"children":11671},{"style":1149},[11672],{"type":58,"value":3450},{"type":45,"tag":1096,"props":11674,"children":11675},{"style":1149},[11676],{"type":58,"value":1152},{"type":45,"tag":1096,"props":11678,"children":11679},{"style":1134},[11680],{"type":58,"value":11681},"$ATTEMPT",{"type":45,"tag":1096,"props":11683,"children":11684},{"style":1149},[11685],{"type":58,"value":1162},{"type":45,"tag":1096,"props":11687,"children":11688},{"style":1149},[11689],{"type":58,"value":11690}," -lt",{"type":45,"tag":1096,"props":11692,"children":11693},{"style":1149},[11694],{"type":58,"value":1152},{"type":45,"tag":1096,"props":11696,"children":11697},{"style":1134},[11698],{"type":58,"value":11699},"$MAX_POLLS",{"type":45,"tag":1096,"props":11701,"children":11702},{"style":1149},[11703],{"type":58,"value":1162},{"type":45,"tag":1096,"props":11705,"children":11706},{"style":1149},[11707],{"type":58,"value":3486},{"type":45,"tag":1096,"props":11709,"children":11710},{"style":3442},[11711],{"type":58,"value":3745},{"type":45,"tag":1096,"props":11713,"children":11714},{"class":1098,"line":2725},[11715,11720,11724,11728,11732,11736,11740,11744,11748,11753,11757],{"type":45,"tag":1096,"props":11716,"children":11717},{"style":1134},[11718],{"type":58,"value":11719},"  STATUS",{"type":45,"tag":1096,"props":11721,"children":11722},{"style":1149},[11723],{"type":58,"value":2319},{"type":45,"tag":1096,"props":11725,"children":11726},{"style":1113},[11727],{"type":58,"value":224},{"type":45,"tag":1096,"props":11729,"children":11730},{"style":1118},[11731],{"type":58,"value":1121},{"type":45,"tag":1096,"props":11733,"children":11734},{"style":1118},[11735],{"type":58,"value":1126},{"type":45,"tag":1096,"props":11737,"children":11738},{"style":1118},[11739],{"type":58,"value":1131},{"type":45,"tag":1096,"props":11741,"children":11742},{"style":1118},[11743],{"type":58,"value":2357},{"type":45,"tag":1096,"props":11745,"children":11746},{"style":1149},[11747],{"type":58,"value":1152},{"type":45,"tag":1096,"props":11749,"children":11750},{"style":1134},[11751],{"type":58,"value":11752},"$LOCATION",{"type":45,"tag":1096,"props":11754,"children":11755},{"style":1149},[11756],{"type":58,"value":1162},{"type":45,"tag":1096,"props":11758,"children":11759},{"style":1134},[11760],{"type":58,"value":1137},{"type":45,"tag":1096,"props":11762,"children":11763},{"class":1098,"line":2762},[11764,11769,11773,11777,11781,11785,11789,11793,11797,11801,11805],{"type":45,"tag":1096,"props":11765,"children":11766},{"style":1118},[11767],{"type":58,"value":11768},"    --resource",{"type":45,"tag":1096,"props":11770,"children":11771},{"style":1149},[11772],{"type":58,"value":1152},{"type":45,"tag":1096,"props":11774,"children":11775},{"style":1118},[11776],{"type":58,"value":1157},{"type":45,"tag":1096,"props":11778,"children":11779},{"style":1149},[11780],{"type":58,"value":1162},{"type":45,"tag":1096,"props":11782,"children":11783},{"style":1118},[11784],{"type":58,"value":2816},{"type":45,"tag":1096,"props":11786,"children":11787},{"style":1149},[11788],{"type":58,"value":1152},{"type":45,"tag":1096,"props":11790,"children":11791},{"style":1118},[11792],{"type":58,"value":2106},{"type":45,"tag":1096,"props":11794,"children":11795},{"style":1149},[11796],{"type":58,"value":1162},{"type":45,"tag":1096,"props":11798,"children":11799},{"style":1118},[11800],{"type":58,"value":2414},{"type":45,"tag":1096,"props":11802,"children":11803},{"style":1118},[11804],{"type":58,"value":2419},{"type":45,"tag":1096,"props":11806,"children":11807},{"style":1149},[11808],{"type":58,"value":2424},{"type":45,"tag":1096,"props":11810,"children":11811},{"class":1098,"line":2788},[11812,11816,11820,11825,11830],{"type":45,"tag":1096,"props":11813,"children":11814},{"style":2637},[11815],{"type":58,"value":9202},{"type":45,"tag":1096,"props":11817,"children":11818},{"style":1149},[11819],{"type":58,"value":1152},{"type":45,"tag":1096,"props":11821,"children":11822},{"style":1118},[11823],{"type":58,"value":11824},"Status: ",{"type":45,"tag":1096,"props":11826,"children":11827},{"style":1134},[11828],{"type":58,"value":11829},"$STATUS",{"type":45,"tag":1096,"props":11831,"children":11832},{"style":1149},[11833],{"type":58,"value":1271},{"type":45,"tag":1096,"props":11835,"children":11836},{"class":1098,"line":2836},[11837,11842,11846,11850,11854,11859,11864,11868,11873,11877,11882,11887,11891,11895],{"type":45,"tag":1096,"props":11838,"children":11839},{"style":3442},[11840],{"type":58,"value":11841},"  case",{"type":45,"tag":1096,"props":11843,"children":11844},{"style":1149},[11845],{"type":58,"value":1152},{"type":45,"tag":1096,"props":11847,"children":11848},{"style":1134},[11849],{"type":58,"value":11829},{"type":45,"tag":1096,"props":11851,"children":11852},{"style":1149},[11853],{"type":58,"value":1162},{"type":45,"tag":1096,"props":11855,"children":11856},{"style":3442},[11857],{"type":58,"value":11858}," in",{"type":45,"tag":1096,"props":11860,"children":11861},{"style":1118},[11862],{"type":58,"value":11863}," NotStarted",{"type":45,"tag":1096,"props":11865,"children":11866},{"style":1149},[11867],{"type":58,"value":4003},{"type":45,"tag":1096,"props":11869,"children":11870},{"style":1118},[11871],{"type":58,"value":11872},"InProgress",{"type":45,"tag":1096,"props":11874,"children":11875},{"style":1149},[11876],{"type":58,"value":174},{"type":45,"tag":1096,"props":11878,"children":11879},{"style":1149},[11880],{"type":58,"value":11881}," ;;",{"type":45,"tag":1096,"props":11883,"children":11884},{"style":1149},[11885],{"type":58,"value":11886}," *)",{"type":45,"tag":1096,"props":11888,"children":11889},{"style":3442},[11890],{"type":58,"value":3985},{"type":45,"tag":1096,"props":11892,"children":11893},{"style":1149},[11894],{"type":58,"value":11881},{"type":45,"tag":1096,"props":11896,"children":11897},{"style":3442},[11898],{"type":58,"value":11899}," esac\n",{"type":45,"tag":1096,"props":11901,"children":11902},{"class":1098,"line":2862},[11903,11907,11912,11916,11921,11926,11930,11935,11939],{"type":45,"tag":1096,"props":11904,"children":11905},{"style":1113},[11906],{"type":58,"value":9076},{"type":45,"tag":1096,"props":11908,"children":11909},{"style":4084},[11910],{"type":58,"value":11911}," 10",{"type":45,"tag":1096,"props":11913,"children":11914},{"style":1149},[11915],{"type":58,"value":2189},{"type":45,"tag":1096,"props":11917,"children":11918},{"style":1134},[11919],{"type":58,"value":11920}," ATTEMPT",{"type":45,"tag":1096,"props":11922,"children":11923},{"style":1149},[11924],{"type":58,"value":11925},"=$((",{"type":45,"tag":1096,"props":11927,"children":11928},{"style":1113},[11929],{"type":58,"value":11615},{"type":45,"tag":1096,"props":11931,"children":11932},{"style":1118},[11933],{"type":58,"value":11934}," +",{"type":45,"tag":1096,"props":11936,"children":11937},{"style":4084},[11938],{"type":58,"value":4087},{"type":45,"tag":1096,"props":11940,"children":11941},{"style":1149},[11942],{"type":58,"value":9091},{"type":45,"tag":1096,"props":11944,"children":11945},{"class":1098,"line":2870},[11946],{"type":45,"tag":1096,"props":11947,"children":11948},{"style":3442},[11949],{"type":58,"value":4561},{"type":45,"tag":1096,"props":11951,"children":11952},{"class":1098,"line":2879},[11953,11958,11962,11966,11970],{"type":45,"tag":1096,"props":11954,"children":11955},{"style":3442},[11956],{"type":58,"value":11957},"case",{"type":45,"tag":1096,"props":11959,"children":11960},{"style":1149},[11961],{"type":58,"value":1152},{"type":45,"tag":1096,"props":11963,"children":11964},{"style":1134},[11965],{"type":58,"value":11829},{"type":45,"tag":1096,"props":11967,"children":11968},{"style":1149},[11969],{"type":58,"value":1162},{"type":45,"tag":1096,"props":11971,"children":11972},{"style":3442},[11973],{"type":58,"value":3895},{"type":45,"tag":1096,"props":11975,"children":11976},{"class":1098,"line":2888},[11977,11982,11986,11990,11994],{"type":45,"tag":1096,"props":11978,"children":11979},{"style":1118},[11980],{"type":58,"value":11981},"  Completed",{"type":45,"tag":1096,"props":11983,"children":11984},{"style":1149},[11985],{"type":58,"value":174},{"type":45,"tag":1096,"props":11987,"children":11988},{"style":2637},[11989],{"type":58,"value":3736},{"type":45,"tag":1096,"props":11991,"children":11992},{"style":1149},[11993],{"type":58,"value":11881},{"type":45,"tag":1096,"props":11995,"children":11996},{"style":1103},[11997],{"type":58,"value":11998},"  # success (exit 0)\n",{"type":45,"tag":1096,"props":12000,"children":12001},{"class":1098,"line":2897},[12002,12007],{"type":45,"tag":1096,"props":12003,"children":12004},{"style":1113},[12005],{"type":58,"value":12006},"  Deduped",{"type":45,"tag":1096,"props":12008,"children":12009},{"style":1134},[12010],{"type":58,"value":2424},{"type":45,"tag":1096,"props":12012,"children":12013},{"class":1098,"line":2906},[12014],{"type":45,"tag":1096,"props":12015,"children":12016},{"style":1103},[12017],{"type":58,"value":12018},"    # Concurrency, not success: another refresh is already running and this trigger was skipped.\n",{"type":45,"tag":1096,"props":12020,"children":12021},{"class":1098,"line":2914},[12022],{"type":45,"tag":1096,"props":12023,"children":12024},{"style":1103},[12025],{"type":58,"value":12026},"    # Monitor the in-flight instance instead of re-triggering. Exit non-zero so automation does not\n",{"type":45,"tag":1096,"props":12028,"children":12029},{"class":1098,"line":2923},[12030],{"type":45,"tag":1096,"props":12031,"children":12032},{"style":1103},[12033],{"type":58,"value":12034},"    # mistake a skipped trigger for a completed refresh.\n",{"type":45,"tag":1096,"props":12036,"children":12037},{"class":1098,"line":2932},[12038,12043,12047,12052],{"type":45,"tag":1096,"props":12039,"children":12040},{"style":2637},[12041],{"type":58,"value":12042},"    echo",{"type":45,"tag":1096,"props":12044,"children":12045},{"style":1149},[12046],{"type":58,"value":1152},{"type":45,"tag":1096,"props":12048,"children":12049},{"style":1118},[12050],{"type":58,"value":12051},"Refresh deduplicated — another instance is already running; monitor that instance instead of re-triggering.",{"type":45,"tag":1096,"props":12053,"children":12054},{"style":1149},[12055],{"type":58,"value":1271},{"type":45,"tag":1096,"props":12057,"children":12058},{"class":1098,"line":4571},[12059,12064,12068],{"type":45,"tag":1096,"props":12060,"children":12061},{"style":2637},[12062],{"type":58,"value":12063},"    exit",{"type":45,"tag":1096,"props":12065,"children":12066},{"style":4084},[12067],{"type":58,"value":8826},{"type":45,"tag":1096,"props":12069,"children":12070},{"style":1149},[12071],{"type":58,"value":3990},{"type":45,"tag":1096,"props":12073,"children":12074},{"class":1098,"line":4580},[12075,12080,12084,12088],{"type":45,"tag":1096,"props":12076,"children":12077},{"style":1118},[12078],{"type":58,"value":12079},"  NotStarted",{"type":45,"tag":1096,"props":12081,"children":12082},{"style":1149},[12083],{"type":58,"value":4003},{"type":45,"tag":1096,"props":12085,"children":12086},{"style":1118},[12087],{"type":58,"value":11872},{"type":45,"tag":1096,"props":12089,"children":12090},{"style":1149},[12091],{"type":58,"value":2424},{"type":45,"tag":1096,"props":12093,"children":12094},{"class":1098,"line":4589},[12095],{"type":45,"tag":1096,"props":12096,"children":12097},{"style":1103},[12098],{"type":58,"value":12099},"    # Max-poll bound reached before any terminal status — a polling timeout, NOT a terminal outcome.\n",{"type":45,"tag":1096,"props":12101,"children":12102},{"class":1098,"line":8801},[12103],{"type":45,"tag":1096,"props":12104,"children":12105},{"style":1103},[12106],{"type":58,"value":12107},"    # Surface the raw job instance and stop; do not assume success.\n",{"type":45,"tag":1096,"props":12109,"children":12110},{"class":1098,"line":8867},[12111,12115,12119,12124,12128,12132,12136,12141,12145,12150],{"type":45,"tag":1096,"props":12112,"children":12113},{"style":2637},[12114],{"type":58,"value":12042},{"type":45,"tag":1096,"props":12116,"children":12117},{"style":1149},[12118],{"type":58,"value":1152},{"type":45,"tag":1096,"props":12120,"children":12121},{"style":1118},[12122],{"type":58,"value":12123},"Polling stopped after ",{"type":45,"tag":1096,"props":12125,"children":12126},{"style":1149},[12127],{"type":58,"value":10267},{"type":45,"tag":1096,"props":12129,"children":12130},{"style":1134},[12131],{"type":58,"value":11646},{"type":45,"tag":1096,"props":12133,"children":12134},{"style":1149},[12135],{"type":58,"value":9717},{"type":45,"tag":1096,"props":12137,"children":12138},{"style":1118},[12139],{"type":58,"value":12140}," attempts with non-terminal status '",{"type":45,"tag":1096,"props":12142,"children":12143},{"style":1134},[12144],{"type":58,"value":11829},{"type":45,"tag":1096,"props":12146,"children":12147},{"style":1118},[12148],{"type":58,"value":12149},"' (max-poll timeout, not a terminal outcome).",{"type":45,"tag":1096,"props":12151,"children":12152},{"style":1149},[12153],{"type":58,"value":1271},{"type":45,"tag":1096,"props":12155,"children":12156},{"class":1098,"line":8916},[12157,12162,12166,12170,12174,12178,12182,12186,12190,12194,12198,12202],{"type":45,"tag":1096,"props":12158,"children":12159},{"style":1113},[12160],{"type":58,"value":12161},"    az",{"type":45,"tag":1096,"props":12163,"children":12164},{"style":1118},[12165],{"type":58,"value":1121},{"type":45,"tag":1096,"props":12167,"children":12168},{"style":1118},[12169],{"type":58,"value":1126},{"type":45,"tag":1096,"props":12171,"children":12172},{"style":1118},[12173],{"type":58,"value":1131},{"type":45,"tag":1096,"props":12175,"children":12176},{"style":1118},[12177],{"type":58,"value":2357},{"type":45,"tag":1096,"props":12179,"children":12180},{"style":1149},[12181],{"type":58,"value":1152},{"type":45,"tag":1096,"props":12183,"children":12184},{"style":1134},[12185],{"type":58,"value":11752},{"type":45,"tag":1096,"props":12187,"children":12188},{"style":1149},[12189],{"type":58,"value":1162},{"type":45,"tag":1096,"props":12191,"children":12192},{"style":1118},[12193],{"type":58,"value":2340},{"type":45,"tag":1096,"props":12195,"children":12196},{"style":1149},[12197],{"type":58,"value":1152},{"type":45,"tag":1096,"props":12199,"children":12200},{"style":1118},[12201],{"type":58,"value":1157},{"type":45,"tag":1096,"props":12203,"children":12204},{"style":1149},[12205],{"type":58,"value":1271},{"type":45,"tag":1096,"props":12207,"children":12208},{"class":1098,"line":8941},[12209,12213,12217],{"type":45,"tag":1096,"props":12210,"children":12211},{"style":2637},[12212],{"type":58,"value":12063},{"type":45,"tag":1096,"props":12214,"children":12215},{"style":4084},[12216],{"type":58,"value":4087},{"type":45,"tag":1096,"props":12218,"children":12219},{"style":1149},[12220],{"type":58,"value":3990},{"type":45,"tag":1096,"props":12222,"children":12223},{"class":1098,"line":8990},[12224,12229],{"type":45,"tag":1096,"props":12225,"children":12226},{"style":1149},[12227],{"type":58,"value":12228},"  *)",{"type":45,"tag":1096,"props":12230,"children":12231},{"style":1103},[12232],{"type":58,"value":12233},"  # Failed \u002F Cancelled (or any other terminal status): a terminal backend outcome — not something\n",{"type":45,"tag":1096,"props":12235,"children":12236},{"class":1098,"line":9070},[12237],{"type":45,"tag":1096,"props":12238,"children":12239},{"style":1103},[12240],{"type":58,"value":12241},"      # to debug-loop. Surface the job's raw error (the job-instance body's .failureReason, an\n",{"type":45,"tag":1096,"props":12243,"children":12244},{"class":1098,"line":9094},[12245],{"type":45,"tag":1096,"props":12246,"children":12247},{"style":1103},[12248],{"type":58,"value":12249},"      # ErrorResponse with .errorCode \u002F .isRetriable \u002F .message) and STOP. Do NOT re-trigger or keep\n",{"type":45,"tag":1096,"props":12251,"children":12252},{"class":1098,"line":9102},[12253],{"type":45,"tag":1096,"props":12254,"children":12255},{"style":1103},[12256],{"type":58,"value":12257},"      # polling when .failureReason.isRetriable=false or the error is workspace-wide.\n",{"type":45,"tag":1096,"props":12259,"children":12260},{"class":1098,"line":9111},[12261,12266,12270,12274,12278,12282,12286,12290,12294,12298,12302,12306],{"type":45,"tag":1096,"props":12262,"children":12263},{"style":1118},[12264],{"type":58,"value":12265},"      az",{"type":45,"tag":1096,"props":12267,"children":12268},{"style":1118},[12269],{"type":58,"value":1121},{"type":45,"tag":1096,"props":12271,"children":12272},{"style":1118},[12273],{"type":58,"value":1126},{"type":45,"tag":1096,"props":12275,"children":12276},{"style":1118},[12277],{"type":58,"value":1131},{"type":45,"tag":1096,"props":12279,"children":12280},{"style":1118},[12281],{"type":58,"value":2357},{"type":45,"tag":1096,"props":12283,"children":12284},{"style":1149},[12285],{"type":58,"value":1152},{"type":45,"tag":1096,"props":12287,"children":12288},{"style":1134},[12289],{"type":58,"value":11752},{"type":45,"tag":1096,"props":12291,"children":12292},{"style":1149},[12293],{"type":58,"value":1162},{"type":45,"tag":1096,"props":12295,"children":12296},{"style":1118},[12297],{"type":58,"value":2340},{"type":45,"tag":1096,"props":12299,"children":12300},{"style":1149},[12301],{"type":58,"value":1152},{"type":45,"tag":1096,"props":12303,"children":12304},{"style":1118},[12305],{"type":58,"value":1157},{"type":45,"tag":1096,"props":12307,"children":12308},{"style":1149},[12309],{"type":58,"value":1271},{"type":45,"tag":1096,"props":12311,"children":12312},{"class":1098,"line":9120},[12313,12318,12322],{"type":45,"tag":1096,"props":12314,"children":12315},{"style":1118},[12316],{"type":58,"value":12317},"      exit",{"type":45,"tag":1096,"props":12319,"children":12320},{"style":1118},[12321],{"type":58,"value":4087},{"type":45,"tag":1096,"props":12323,"children":12324},{"style":1118},[12325],{"type":58,"value":3990},{"type":45,"tag":1096,"props":12327,"children":12328},{"class":1098,"line":9196},[12329],{"type":45,"tag":1096,"props":12330,"children":12331},{"style":3442},[12332],{"type":58,"value":12333},"esac\n",{"type":45,"tag":50,"props":12335,"children":12336},{},[12337,12342,12343,12349,12351,12357],{"type":45,"tag":54,"props":12338,"children":12339},{},[12340],{"type":58,"value":12341},"PowerShell variant",{"type":58,"value":6496},{"type":45,"tag":85,"props":12344,"children":12346},{"className":12345},[],[12347],{"type":58,"value":12348},"Invoke-WebRequest",{"type":58,"value":12350}," exposes response headers natively; avoids the ",{"type":45,"tag":85,"props":12352,"children":12354},{"className":12353},[],[12355],{"type":58,"value":12356},"tr | grep | awk",{"type":58,"value":12358}," pipe):",{"type":45,"tag":1085,"props":12360,"children":12364},{"className":12361,"code":12362,"language":12363,"meta":1090,"style":1090},"language-powershell shiki shiki-themes material-theme-lighter material-theme material-theme-palenight","# Notes:\n# - $Resp.Headers[\"Location\"] returns string or string[] depending on PS version — never\n#   use .Location[0] (returns first character on Windows PS 5.1 plain-string case).\n# - Wrap Invoke-WebRequest in try\u002Fcatch on 5.1 (-SkipHttpErrorCheck is PS 7+).\n# - Fabric refresh job status enum: NotStarted \u002F InProgress (non-terminal); Completed (success);\n#   Failed \u002F Cancelled (fatal); Deduped (another refresh already running — NOT success). Treat only\n#   NotStarted\u002FInProgress as non-terminal and break on anything else, bounded by a max-poll count, so\n#   a newly-added terminal status surfaces immediately instead of waiting out $MaxPolls.\n#   This is distinct from the LRO operation enum (Running \u002F Succeeded \u002F Failed \u002F Cancelled).\n#   Refresh \"success\" = \"Completed\", not \"Succeeded\".\n# Acquire $Token per common\u002FCOMMON-CLI.md § Token-in-Variable Pattern (resource = https:\u002F\u002Fapi.fabric.microsoft.com).\ntry {\n  $Resp = Invoke-WebRequest -Method POST -UseBasicParsing `\n    -Uri \"https:\u002F\u002Fapi.fabric.microsoft.com\u002Fv1\u002Fworkspaces\u002F$WS_ID\u002Fdataflows\u002F$DF_ID\u002Fjobs\u002Finstances?jobType=Refresh\" `\n    -Headers @{ Authorization = \"Bearer $Token\"; \"Content-Type\" = \"application\u002Fjson\" } `\n    -Body '{\"executionData\":{\"executeOption\":\"ApplyChangesIfNeeded\"}}'\n} catch {\n  Write-Error \"Refresh trigger failed: $($_.Exception.Message)\"; exit 1\n}\n$Location = $Resp.Headers[\"Location\"]\nif ($Location -is [array]) { $Location = $Location[0] }\n\n$Attempt = 0; $MaxPolls = 60\ndo {\n  $Status = az rest --method get --url $Location `\n    --resource \"https:\u002F\u002Fapi.fabric.microsoft.com\" --query \"status\" -o tsv\n  Write-Host \"Status: $Status\"\n  if ($Status -notin 'NotStarted','InProgress') { break }\n  Start-Sleep -Seconds 10; $Attempt++\n} while ($Attempt -lt $MaxPolls)\nif ($Status -in 'NotStarted','InProgress') {\n  # Max-poll bound reached before any terminal status — a polling timeout, NOT a terminal outcome.\n  Write-Host \"Polling stopped after $MaxPolls attempts with non-terminal status '$Status' (max-poll timeout, not a terminal outcome).\"\n  az rest --method get --url $Location --resource \"https:\u002F\u002Fapi.fabric.microsoft.com\"\n  exit 1\n}\nswitch ($Status) {\n  'Completed' { }  # success (exit 0)\n  'Deduped' {\n    # Concurrency, not success: another refresh is already running and this trigger was skipped.\n    # Exit non-zero so callers don't treat a skipped trigger as a completed refresh.\n    Write-Host \"Refresh deduplicated — another instance is already running; monitor that instance instead of re-triggering.\"\n    exit 2\n  }\n  default {\n    # Failed \u002F Cancelled (or any other terminal status): a terminal backend outcome — surface the job's\n    # raw error (the job-instance body's .failureReason: .errorCode \u002F .isRetriable \u002F .message) and STOP;\n    # do not re-trigger or debug-loop when failureReason.isRetriable=false or the error is workspace-wide.\n    az rest --method get --url $Location --resource \"https:\u002F\u002Fapi.fabric.microsoft.com\"\n    Write-Error \"Refresh terminated '$Status' (not Completed)\"; exit 1\n  }\n}\n","powershell",[12365],{"type":45,"tag":85,"props":12366,"children":12367},{"__ignoreMap":1090},[12368,12376,12384,12392,12400,12408,12416,12424,12432,12440,12448,12456,12464,12472,12480,12488,12496,12504,12512,12519,12527,12535,12542,12550,12558,12566,12574,12582,12590,12598,12606,12614,12622,12630,12638,12646,12653,12661,12669,12677,12684,12692,12700,12708,12715,12723,12731,12739,12747,12755,12763,12770],{"type":45,"tag":1096,"props":12369,"children":12370},{"class":1098,"line":1099},[12371],{"type":45,"tag":1096,"props":12372,"children":12373},{},[12374],{"type":58,"value":12375},"# Notes:\n",{"type":45,"tag":1096,"props":12377,"children":12378},{"class":1098,"line":1109},[12379],{"type":45,"tag":1096,"props":12380,"children":12381},{},[12382],{"type":58,"value":12383},"# - $Resp.Headers[\"Location\"] returns string or string[] depending on PS version — never\n",{"type":45,"tag":1096,"props":12385,"children":12386},{"class":1098,"line":1140},[12387],{"type":45,"tag":1096,"props":12388,"children":12389},{},[12390],{"type":58,"value":12391},"#   use .Location[0] (returns first character on Windows PS 5.1 plain-string case).\n",{"type":45,"tag":1096,"props":12393,"children":12394},{"class":1098,"line":1169},[12395],{"type":45,"tag":1096,"props":12396,"children":12397},{},[12398],{"type":58,"value":12399},"# - Wrap Invoke-WebRequest in try\u002Fcatch on 5.1 (-SkipHttpErrorCheck is PS 7+).\n",{"type":45,"tag":1096,"props":12401,"children":12402},{"class":1098,"line":1195},[12403],{"type":45,"tag":1096,"props":12404,"children":12405},{},[12406],{"type":58,"value":12407},"# - Fabric refresh job status enum: NotStarted \u002F InProgress (non-terminal); Completed (success);\n",{"type":45,"tag":1096,"props":12409,"children":12410},{"class":1098,"line":1227},[12411],{"type":45,"tag":1096,"props":12412,"children":12413},{},[12414],{"type":58,"value":12415},"#   Failed \u002F Cancelled (fatal); Deduped (another refresh already running — NOT success). Treat only\n",{"type":45,"tag":1096,"props":12417,"children":12418},{"class":1098,"line":1237},[12419],{"type":45,"tag":1096,"props":12420,"children":12421},{},[12422],{"type":58,"value":12423},"#   NotStarted\u002FInProgress as non-terminal and break on anything else, bounded by a max-poll count, so\n",{"type":45,"tag":1096,"props":12425,"children":12426},{"class":1098,"line":1246},[12427],{"type":45,"tag":1096,"props":12428,"children":12429},{},[12430],{"type":58,"value":12431},"#   a newly-added terminal status surfaces immediately instead of waiting out $MaxPolls.\n",{"type":45,"tag":1096,"props":12433,"children":12434},{"class":1098,"line":1274},[12435],{"type":45,"tag":1096,"props":12436,"children":12437},{},[12438],{"type":58,"value":12439},"#   This is distinct from the LRO operation enum (Running \u002F Succeeded \u002F Failed \u002F Cancelled).\n",{"type":45,"tag":1096,"props":12441,"children":12442},{"class":1098,"line":1298},[12443],{"type":45,"tag":1096,"props":12444,"children":12445},{},[12446],{"type":58,"value":12447},"#   Refresh \"success\" = \"Completed\", not \"Succeeded\".\n",{"type":45,"tag":1096,"props":12449,"children":12450},{"class":1098,"line":1322},[12451],{"type":45,"tag":1096,"props":12452,"children":12453},{},[12454],{"type":58,"value":12455},"# Acquire $Token per common\u002FCOMMON-CLI.md § Token-in-Variable Pattern (resource = https:\u002F\u002Fapi.fabric.microsoft.com).\n",{"type":45,"tag":1096,"props":12457,"children":12458},{"class":1098,"line":1357},[12459],{"type":45,"tag":1096,"props":12460,"children":12461},{},[12462],{"type":58,"value":12463},"try {\n",{"type":45,"tag":1096,"props":12465,"children":12466},{"class":1098,"line":2442},[12467],{"type":45,"tag":1096,"props":12468,"children":12469},{},[12470],{"type":58,"value":12471},"  $Resp = Invoke-WebRequest -Method POST -UseBasicParsing `\n",{"type":45,"tag":1096,"props":12473,"children":12474},{"class":1098,"line":2451},[12475],{"type":45,"tag":1096,"props":12476,"children":12477},{},[12478],{"type":58,"value":12479},"    -Uri \"https:\u002F\u002Fapi.fabric.microsoft.com\u002Fv1\u002Fworkspaces\u002F$WS_ID\u002Fdataflows\u002F$DF_ID\u002Fjobs\u002Finstances?jobType=Refresh\" `\n",{"type":45,"tag":1096,"props":12481,"children":12482},{"class":1098,"line":2501},[12483],{"type":45,"tag":1096,"props":12484,"children":12485},{},[12486],{"type":58,"value":12487},"    -Headers @{ Authorization = \"Bearer $Token\"; \"Content-Type\" = \"application\u002Fjson\" } `\n",{"type":45,"tag":1096,"props":12489,"children":12490},{"class":1098,"line":2526},[12491],{"type":45,"tag":1096,"props":12492,"children":12493},{},[12494],{"type":58,"value":12495},"    -Body '{\"executionData\":{\"executeOption\":\"ApplyChangesIfNeeded\"}}'\n",{"type":45,"tag":1096,"props":12497,"children":12498},{"class":1098,"line":2569},[12499],{"type":45,"tag":1096,"props":12500,"children":12501},{},[12502],{"type":58,"value":12503},"} catch {\n",{"type":45,"tag":1096,"props":12505,"children":12506},{"class":1098,"line":2577},[12507],{"type":45,"tag":1096,"props":12508,"children":12509},{},[12510],{"type":58,"value":12511},"  Write-Error \"Refresh trigger failed: $($_.Exception.Message)\"; exit 1\n",{"type":45,"tag":1096,"props":12513,"children":12514},{"class":1098,"line":2586},[12515],{"type":45,"tag":1096,"props":12516,"children":12517},{},[12518],{"type":58,"value":3723},{"type":45,"tag":1096,"props":12520,"children":12521},{"class":1098,"line":2633},[12522],{"type":45,"tag":1096,"props":12523,"children":12524},{},[12525],{"type":58,"value":12526},"$Location = $Resp.Headers[\"Location\"]\n",{"type":45,"tag":1096,"props":12528,"children":12529},{"class":1098,"line":2676},[12530],{"type":45,"tag":1096,"props":12531,"children":12532},{},[12533],{"type":58,"value":12534},"if ($Location -is [array]) { $Location = $Location[0] }\n",{"type":45,"tag":1096,"props":12536,"children":12537},{"class":1098,"line":2725},[12538],{"type":45,"tag":1096,"props":12539,"children":12540},{"emptyLinePlaceholder":1231},[12541],{"type":58,"value":1234},{"type":45,"tag":1096,"props":12543,"children":12544},{"class":1098,"line":2762},[12545],{"type":45,"tag":1096,"props":12546,"children":12547},{},[12548],{"type":58,"value":12549},"$Attempt = 0; $MaxPolls = 60\n",{"type":45,"tag":1096,"props":12551,"children":12552},{"class":1098,"line":2788},[12553],{"type":45,"tag":1096,"props":12554,"children":12555},{},[12556],{"type":58,"value":12557},"do {\n",{"type":45,"tag":1096,"props":12559,"children":12560},{"class":1098,"line":2836},[12561],{"type":45,"tag":1096,"props":12562,"children":12563},{},[12564],{"type":58,"value":12565},"  $Status = az rest --method get --url $Location `\n",{"type":45,"tag":1096,"props":12567,"children":12568},{"class":1098,"line":2862},[12569],{"type":45,"tag":1096,"props":12570,"children":12571},{},[12572],{"type":58,"value":12573},"    --resource \"https:\u002F\u002Fapi.fabric.microsoft.com\" --query \"status\" -o tsv\n",{"type":45,"tag":1096,"props":12575,"children":12576},{"class":1098,"line":2870},[12577],{"type":45,"tag":1096,"props":12578,"children":12579},{},[12580],{"type":58,"value":12581},"  Write-Host \"Status: $Status\"\n",{"type":45,"tag":1096,"props":12583,"children":12584},{"class":1098,"line":2879},[12585],{"type":45,"tag":1096,"props":12586,"children":12587},{},[12588],{"type":58,"value":12589},"  if ($Status -notin 'NotStarted','InProgress') { break }\n",{"type":45,"tag":1096,"props":12591,"children":12592},{"class":1098,"line":2888},[12593],{"type":45,"tag":1096,"props":12594,"children":12595},{},[12596],{"type":58,"value":12597},"  Start-Sleep -Seconds 10; $Attempt++\n",{"type":45,"tag":1096,"props":12599,"children":12600},{"class":1098,"line":2897},[12601],{"type":45,"tag":1096,"props":12602,"children":12603},{},[12604],{"type":58,"value":12605},"} while ($Attempt -lt $MaxPolls)\n",{"type":45,"tag":1096,"props":12607,"children":12608},{"class":1098,"line":2906},[12609],{"type":45,"tag":1096,"props":12610,"children":12611},{},[12612],{"type":58,"value":12613},"if ($Status -in 'NotStarted','InProgress') {\n",{"type":45,"tag":1096,"props":12615,"children":12616},{"class":1098,"line":2914},[12617],{"type":45,"tag":1096,"props":12618,"children":12619},{},[12620],{"type":58,"value":12621},"  # Max-poll bound reached before any terminal status — a polling timeout, NOT a terminal outcome.\n",{"type":45,"tag":1096,"props":12623,"children":12624},{"class":1098,"line":2923},[12625],{"type":45,"tag":1096,"props":12626,"children":12627},{},[12628],{"type":58,"value":12629},"  Write-Host \"Polling stopped after $MaxPolls attempts with non-terminal status '$Status' (max-poll timeout, not a terminal outcome).\"\n",{"type":45,"tag":1096,"props":12631,"children":12632},{"class":1098,"line":2932},[12633],{"type":45,"tag":1096,"props":12634,"children":12635},{},[12636],{"type":58,"value":12637},"  az rest --method get --url $Location --resource \"https:\u002F\u002Fapi.fabric.microsoft.com\"\n",{"type":45,"tag":1096,"props":12639,"children":12640},{"class":1098,"line":4571},[12641],{"type":45,"tag":1096,"props":12642,"children":12643},{},[12644],{"type":58,"value":12645},"  exit 1\n",{"type":45,"tag":1096,"props":12647,"children":12648},{"class":1098,"line":4580},[12649],{"type":45,"tag":1096,"props":12650,"children":12651},{},[12652],{"type":58,"value":3723},{"type":45,"tag":1096,"props":12654,"children":12655},{"class":1098,"line":4589},[12656],{"type":45,"tag":1096,"props":12657,"children":12658},{},[12659],{"type":58,"value":12660},"switch ($Status) {\n",{"type":45,"tag":1096,"props":12662,"children":12663},{"class":1098,"line":8801},[12664],{"type":45,"tag":1096,"props":12665,"children":12666},{},[12667],{"type":58,"value":12668},"  'Completed' { }  # success (exit 0)\n",{"type":45,"tag":1096,"props":12670,"children":12671},{"class":1098,"line":8867},[12672],{"type":45,"tag":1096,"props":12673,"children":12674},{},[12675],{"type":58,"value":12676},"  'Deduped' {\n",{"type":45,"tag":1096,"props":12678,"children":12679},{"class":1098,"line":8916},[12680],{"type":45,"tag":1096,"props":12681,"children":12682},{},[12683],{"type":58,"value":12018},{"type":45,"tag":1096,"props":12685,"children":12686},{"class":1098,"line":8941},[12687],{"type":45,"tag":1096,"props":12688,"children":12689},{},[12690],{"type":58,"value":12691},"    # Exit non-zero so callers don't treat a skipped trigger as a completed refresh.\n",{"type":45,"tag":1096,"props":12693,"children":12694},{"class":1098,"line":8990},[12695],{"type":45,"tag":1096,"props":12696,"children":12697},{},[12698],{"type":58,"value":12699},"    Write-Host \"Refresh deduplicated — another instance is already running; monitor that instance instead of re-triggering.\"\n",{"type":45,"tag":1096,"props":12701,"children":12702},{"class":1098,"line":9070},[12703],{"type":45,"tag":1096,"props":12704,"children":12705},{},[12706],{"type":58,"value":12707},"    exit 2\n",{"type":45,"tag":1096,"props":12709,"children":12710},{"class":1098,"line":9094},[12711],{"type":45,"tag":1096,"props":12712,"children":12713},{},[12714],{"type":58,"value":8609},{"type":45,"tag":1096,"props":12716,"children":12717},{"class":1098,"line":9102},[12718],{"type":45,"tag":1096,"props":12719,"children":12720},{},[12721],{"type":58,"value":12722},"  default {\n",{"type":45,"tag":1096,"props":12724,"children":12725},{"class":1098,"line":9111},[12726],{"type":45,"tag":1096,"props":12727,"children":12728},{},[12729],{"type":58,"value":12730},"    # Failed \u002F Cancelled (or any other terminal status): a terminal backend outcome — surface the job's\n",{"type":45,"tag":1096,"props":12732,"children":12733},{"class":1098,"line":9120},[12734],{"type":45,"tag":1096,"props":12735,"children":12736},{},[12737],{"type":58,"value":12738},"    # raw error (the job-instance body's .failureReason: .errorCode \u002F .isRetriable \u002F .message) and STOP;\n",{"type":45,"tag":1096,"props":12740,"children":12741},{"class":1098,"line":9196},[12742],{"type":45,"tag":1096,"props":12743,"children":12744},{},[12745],{"type":58,"value":12746},"    # do not re-trigger or debug-loop when failureReason.isRetriable=false or the error is workspace-wide.\n",{"type":45,"tag":1096,"props":12748,"children":12749},{"class":1098,"line":9232},[12750],{"type":45,"tag":1096,"props":12751,"children":12752},{},[12753],{"type":58,"value":12754},"    az rest --method get --url $Location --resource \"https:\u002F\u002Fapi.fabric.microsoft.com\"\n",{"type":45,"tag":1096,"props":12756,"children":12757},{"class":1098,"line":9246},[12758],{"type":45,"tag":1096,"props":12759,"children":12760},{},[12761],{"type":58,"value":12762},"    Write-Error \"Refresh terminated '$Status' (not Completed)\"; exit 1\n",{"type":45,"tag":1096,"props":12764,"children":12765},{"class":1098,"line":9254},[12766],{"type":45,"tag":1096,"props":12767,"children":12768},{},[12769],{"type":58,"value":8609},{"type":45,"tag":1096,"props":12771,"children":12772},{"class":1098,"line":9262},[12773],{"type":45,"tag":1096,"props":12774,"children":12775},{},[12776],{"type":58,"value":3723},{"type":45,"tag":1067,"props":12778,"children":12780},{"id":12779},"example-3-modify-an-existing-dataflows-definition",[12781],{"type":58,"value":12782},"Example 3: Modify an Existing Dataflow's Definition",{"type":45,"tag":50,"props":12784,"children":12785},{},[12786,12790],{"type":45,"tag":54,"props":12787,"children":12788},{},[12789],{"type":58,"value":7976},{"type":58,"value":12791},": \"Update the mashup of an existing dataflow with a modified query.\"",{"type":45,"tag":50,"props":12793,"children":12794},{},[12795,12799,12801,12806],{"type":45,"tag":54,"props":12796,"children":12797},{},[12798],{"type":58,"value":7986},{"type":58,"value":12800}," — read-modify-write loop. ",{"type":45,"tag":85,"props":12802,"children":12804},{"className":12803},[],[12805],{"type":58,"value":1896},{"type":58,"value":12807}," returns sync 200 in the typical case; this template handles the 202 + LRO branch as well.",{"type":45,"tag":1085,"props":12809,"children":12811},{"className":1087,"code":12810,"language":1089,"meta":1090,"style":1090},"RESOURCE=\"https:\u002F\u002Fapi.fabric.microsoft.com\"\n# Acquire $TOKEN per common\u002FCOMMON-CLI.md § Token-in-Variable Pattern (resource = $RESOURCE).\n\n# 1. Read current definition (sync 200 or 202 LRO — handle both).\nHDR=$(mktemp); BODY=$(mktemp)\nCODE=$(curl -sS -X POST -H \"Authorization: Bearer $TOKEN\" -H \"Content-Length: 0\" \\\n  \"$RESOURCE\u002Fv1\u002Fworkspaces\u002F${WS_ID}\u002Fdataflows\u002F${DF_ID}\u002FgetDefinition\" \\\n  -D \"$HDR\" -o \"$BODY\" -w \"%{http_code}\")\nif [ \"$CODE\" = \"202\" ]; then\n  LOC=$(tr -d '\\r' \u003C \"$HDR\" | grep -i \"^location:\" | awk '{print $2}')\n  RETRY=$(tr -d '\\r' \u003C \"$HDR\" | grep -i \"^retry-after:\" | awk '{print $2}'); RETRY=${RETRY:-5}\n  while :; do\n    sleep \"$RETRY\"\n    OP=$(az rest --method get --resource \"$RESOURCE\" --url \"$LOC\")\n    case \"$(echo \"$OP\" | jq -r '.status \u002F\u002F empty')\" in\n      Succeeded) DEF=$(az rest --method get --resource \"$RESOURCE\" --url \"${LOC%\u002F}\u002Fresult\"); break ;;\n      Failed|Cancelled) echo \"ERROR: getDefinition $(echo \"$OP\" | jq -r '.status')\" >&2; exit 1 ;;\n    esac\n  done\nelse\n  DEF=$(cat \"$BODY\")\nfi\nrm -f \"$HDR\" \"$BODY\"\n\n# 2. Decode each part, modify mashup.pq, re-encode all 3.\nMASHUP=$(echo \"$DEF\" | jq -r '.definition.parts[] | select(.path==\"mashup.pq\")          | .payload' | base64 -d)\nMETA=$(  echo \"$DEF\" | jq -r '.definition.parts[] | select(.path==\"queryMetadata.json\") | .payload' | base64 -d)\nPLAT=$(  echo \"$DEF\" | jq -r '.definition.parts[] | select(.path==\".platform\")          | .payload' | base64 -d)\n\nNEW_MASHUP=$(echo \"$MASHUP\" | sed 's\u002Fold-pattern\u002Fnew-pattern\u002F')   # edit M here\n\nMASHUP_B64=$(echo -n \"$NEW_MASHUP\" | base64 -w0)\nMETA_B64=$(echo -n \"$META\"        | base64 -w0)\nPLAT_B64=$(echo -n \"$PLAT\"        | base64 -w0)\n\n# 3. Build the updateDefinition body in a temp file (full replacement — all 3 parts).\nBODY_FILE=$(mktemp --suffix=.json 2>\u002Fdev\u002Fnull || mktemp)  # GNU + BSD\u002FmacOS compatible\ncat > \"$BODY_FILE\" \u003C\u003CEOF\n{\"definition\":{\"parts\":[\n  {\"path\":\"mashup.pq\",          \"payload\":\"${MASHUP_B64}\", \"payloadType\":\"InlineBase64\"},\n  {\"path\":\"queryMetadata.json\", \"payload\":\"${META_B64}\",   \"payloadType\":\"InlineBase64\"},\n  {\"path\":\".platform\",          \"payload\":\"${PLAT_B64}\",   \"payloadType\":\"InlineBase64\"}\n]}}\nEOF\naz rest --method post --resource \"$RESOURCE\" \\\n  --url \"$RESOURCE\u002Fv1\u002Fworkspaces\u002F${WS_ID}\u002Fdataflows\u002F${DF_ID}\u002FupdateDefinition?updateMetadata=true\" \\\n  --headers \"Content-Type=application\u002Fjson\" --body \"@$BODY_FILE\"\nrm -f \"$BODY_FILE\"\n",[12812],{"type":45,"tag":85,"props":12813,"children":12814},{"__ignoreMap":1090},[12815,12838,12845,12852,12860,12895,12962,13018,13073,13120,13215,13334,13353,13372,13435,13490,13578,13669,13676,13683,13690,13722,13729,13764,13771,13779,13848,13916,13985,13992,14051,14058,14106,14155,14203,14210,14218,14261,14292,14299,14322,14345,14368,14375,14382,14421,14480,14519],{"type":45,"tag":1096,"props":12816,"children":12817},{"class":1098,"line":1099},[12818,12822,12826,12830,12834],{"type":45,"tag":1096,"props":12819,"children":12820},{"style":1134},[12821],{"type":58,"value":1477},{"type":45,"tag":1096,"props":12823,"children":12824},{"style":1149},[12825],{"type":58,"value":1257},{"type":45,"tag":1096,"props":12827,"children":12828},{"style":1149},[12829],{"type":58,"value":1162},{"type":45,"tag":1096,"props":12831,"children":12832},{"style":1118},[12833],{"type":58,"value":1157},{"type":45,"tag":1096,"props":12835,"children":12836},{"style":1149},[12837],{"type":58,"value":1271},{"type":45,"tag":1096,"props":12839,"children":12840},{"class":1098,"line":1109},[12841],{"type":45,"tag":1096,"props":12842,"children":12843},{"style":1103},[12844],{"type":58,"value":3153},{"type":45,"tag":1096,"props":12846,"children":12847},{"class":1098,"line":1140},[12848],{"type":45,"tag":1096,"props":12849,"children":12850},{"emptyLinePlaceholder":1231},[12851],{"type":58,"value":1234},{"type":45,"tag":1096,"props":12853,"children":12854},{"class":1098,"line":1169},[12855],{"type":45,"tag":1096,"props":12856,"children":12857},{"style":1103},[12858],{"type":58,"value":12859},"# 1. Read current definition (sync 200 or 202 LRO — handle both).\n",{"type":45,"tag":1096,"props":12861,"children":12862},{"class":1098,"line":1195},[12863,12867,12871,12875,12879,12883,12887,12891],{"type":45,"tag":1096,"props":12864,"children":12865},{"style":1134},[12866],{"type":58,"value":3228},{"type":45,"tag":1096,"props":12868,"children":12869},{"style":1149},[12870],{"type":58,"value":2319},{"type":45,"tag":1096,"props":12872,"children":12873},{"style":1113},[12874],{"type":58,"value":2601},{"type":45,"tag":1096,"props":12876,"children":12877},{"style":1149},[12878],{"type":58,"value":3241},{"type":45,"tag":1096,"props":12880,"children":12881},{"style":1134},[12882],{"type":58,"value":3246},{"type":45,"tag":1096,"props":12884,"children":12885},{"style":1149},[12886],{"type":58,"value":2319},{"type":45,"tag":1096,"props":12888,"children":12889},{"style":1113},[12890],{"type":58,"value":2601},{"type":45,"tag":1096,"props":12892,"children":12893},{"style":1149},[12894],{"type":58,"value":2424},{"type":45,"tag":1096,"props":12896,"children":12897},{"class":1098,"line":1227},[12898,12902,12906,12910,12914,12918,12922,12926,12930,12934,12938,12942,12946,12950,12954,12958],{"type":45,"tag":1096,"props":12899,"children":12900},{"style":1134},[12901],{"type":58,"value":3266},{"type":45,"tag":1096,"props":12903,"children":12904},{"style":1149},[12905],{"type":58,"value":2319},{"type":45,"tag":1096,"props":12907,"children":12908},{"style":1113},[12909],{"type":58,"value":246},{"type":45,"tag":1096,"props":12911,"children":12912},{"style":1118},[12913],{"type":58,"value":3279},{"type":45,"tag":1096,"props":12915,"children":12916},{"style":1118},[12917],{"type":58,"value":3284},{"type":45,"tag":1096,"props":12919,"children":12920},{"style":1118},[12921],{"type":58,"value":3289},{"type":45,"tag":1096,"props":12923,"children":12924},{"style":1118},[12925],{"type":58,"value":3294},{"type":45,"tag":1096,"props":12927,"children":12928},{"style":1149},[12929],{"type":58,"value":1152},{"type":45,"tag":1096,"props":12931,"children":12932},{"style":1118},[12933],{"type":58,"value":3303},{"type":45,"tag":1096,"props":12935,"children":12936},{"style":1134},[12937],{"type":58,"value":3308},{"type":45,"tag":1096,"props":12939,"children":12940},{"style":1149},[12941],{"type":58,"value":1162},{"type":45,"tag":1096,"props":12943,"children":12944},{"style":1118},[12945],{"type":58,"value":3294},{"type":45,"tag":1096,"props":12947,"children":12948},{"style":1149},[12949],{"type":58,"value":1152},{"type":45,"tag":1096,"props":12951,"children":12952},{"style":1118},[12953],{"type":58,"value":3325},{"type":45,"tag":1096,"props":12955,"children":12956},{"style":1149},[12957],{"type":58,"value":1162},{"type":45,"tag":1096,"props":12959,"children":12960},{"style":1134},[12961],{"type":58,"value":1137},{"type":45,"tag":1096,"props":12963,"children":12964},{"class":1098,"line":1237},[12965,12969,12973,12978,12982,12986,12990,12994,12998,13002,13006,13010,13014],{"type":45,"tag":1096,"props":12966,"children":12967},{"style":1149},[12968],{"type":58,"value":3341},{"type":45,"tag":1096,"props":12970,"children":12971},{"style":1134},[12972],{"type":58,"value":3197},{"type":45,"tag":1096,"props":12974,"children":12975},{"style":1118},[12976],{"type":58,"value":12977},"\u002Fv1\u002Fworkspaces\u002F",{"type":45,"tag":1096,"props":12979,"children":12980},{"style":1149},[12981],{"type":58,"value":10267},{"type":45,"tag":1096,"props":12983,"children":12984},{"style":1134},[12985],{"type":58,"value":1252},{"type":45,"tag":1096,"props":12987,"children":12988},{"style":1149},[12989],{"type":58,"value":9717},{"type":45,"tag":1096,"props":12991,"children":12992},{"style":1118},[12993],{"type":58,"value":3358},{"type":45,"tag":1096,"props":12995,"children":12996},{"style":1149},[12997],{"type":58,"value":10267},{"type":45,"tag":1096,"props":12999,"children":13000},{"style":1134},[13001],{"type":58,"value":1427},{"type":45,"tag":1096,"props":13003,"children":13004},{"style":1149},[13005],{"type":58,"value":9717},{"type":45,"tag":1096,"props":13007,"children":13008},{"style":1118},[13009],{"type":58,"value":3368},{"type":45,"tag":1096,"props":13011,"children":13012},{"style":1149},[13013],{"type":58,"value":1162},{"type":45,"tag":1096,"props":13015,"children":13016},{"style":1134},[13017],{"type":58,"value":1137},{"type":45,"tag":1096,"props":13019,"children":13020},{"class":1098,"line":1246},[13021,13025,13029,13033,13037,13041,13045,13049,13053,13057,13061,13065,13069],{"type":45,"tag":1096,"props":13022,"children":13023},{"style":1118},[13024],{"type":58,"value":3384},{"type":45,"tag":1096,"props":13026,"children":13027},{"style":1149},[13028],{"type":58,"value":1152},{"type":45,"tag":1096,"props":13030,"children":13031},{"style":1134},[13032],{"type":58,"value":3393},{"type":45,"tag":1096,"props":13034,"children":13035},{"style":1149},[13036],{"type":58,"value":1162},{"type":45,"tag":1096,"props":13038,"children":13039},{"style":1118},[13040],{"type":58,"value":2414},{"type":45,"tag":1096,"props":13042,"children":13043},{"style":1149},[13044],{"type":58,"value":1152},{"type":45,"tag":1096,"props":13046,"children":13047},{"style":1134},[13048],{"type":58,"value":3410},{"type":45,"tag":1096,"props":13050,"children":13051},{"style":1149},[13052],{"type":58,"value":1162},{"type":45,"tag":1096,"props":13054,"children":13055},{"style":1118},[13056],{"type":58,"value":3419},{"type":45,"tag":1096,"props":13058,"children":13059},{"style":1149},[13060],{"type":58,"value":1152},{"type":45,"tag":1096,"props":13062,"children":13063},{"style":1118},[13064],{"type":58,"value":3428},{"type":45,"tag":1096,"props":13066,"children":13067},{"style":1149},[13068],{"type":58,"value":1162},{"type":45,"tag":1096,"props":13070,"children":13071},{"style":1149},[13072],{"type":58,"value":2424},{"type":45,"tag":1096,"props":13074,"children":13075},{"class":1098,"line":1274},[13076,13080,13084,13088,13092,13096,13100,13104,13108,13112,13116],{"type":45,"tag":1096,"props":13077,"children":13078},{"style":3442},[13079],{"type":58,"value":3445},{"type":45,"tag":1096,"props":13081,"children":13082},{"style":1149},[13083],{"type":58,"value":3450},{"type":45,"tag":1096,"props":13085,"children":13086},{"style":1149},[13087],{"type":58,"value":1152},{"type":45,"tag":1096,"props":13089,"children":13090},{"style":1134},[13091],{"type":58,"value":3459},{"type":45,"tag":1096,"props":13093,"children":13094},{"style":1149},[13095],{"type":58,"value":1162},{"type":45,"tag":1096,"props":13097,"children":13098},{"style":1149},[13099],{"type":58,"value":3468},{"type":45,"tag":1096,"props":13101,"children":13102},{"style":1149},[13103],{"type":58,"value":1152},{"type":45,"tag":1096,"props":13105,"children":13106},{"style":1118},[13107],{"type":58,"value":3477},{"type":45,"tag":1096,"props":13109,"children":13110},{"style":1149},[13111],{"type":58,"value":1162},{"type":45,"tag":1096,"props":13113,"children":13114},{"style":1149},[13115],{"type":58,"value":3486},{"type":45,"tag":1096,"props":13117,"children":13118},{"style":3442},[13119],{"type":58,"value":3491},{"type":45,"tag":1096,"props":13121,"children":13122},{"class":1098,"line":1298},[13123,13127,13131,13135,13139,13143,13147,13151,13155,13159,13163,13167,13171,13175,13179,13183,13187,13191,13195,13199,13203,13207,13211],{"type":45,"tag":1096,"props":13124,"children":13125},{"style":1134},[13126],{"type":58,"value":3499},{"type":45,"tag":1096,"props":13128,"children":13129},{"style":1149},[13130],{"type":58,"value":2319},{"type":45,"tag":1096,"props":13132,"children":13133},{"style":1113},[13134],{"type":58,"value":184},{"type":45,"tag":1096,"props":13136,"children":13137},{"style":1118},[13138],{"type":58,"value":3512},{"type":45,"tag":1096,"props":13140,"children":13141},{"style":1149},[13142],{"type":58,"value":2645},{"type":45,"tag":1096,"props":13144,"children":13145},{"style":1118},[13146],{"type":58,"value":3521},{"type":45,"tag":1096,"props":13148,"children":13149},{"style":1149},[13150],{"type":58,"value":2655},{"type":45,"tag":1096,"props":13152,"children":13153},{"style":1149},[13154],{"type":58,"value":3530},{"type":45,"tag":1096,"props":13156,"children":13157},{"style":1149},[13158],{"type":58,"value":1152},{"type":45,"tag":1096,"props":13160,"children":13161},{"style":1134},[13162],{"type":58,"value":3393},{"type":45,"tag":1096,"props":13164,"children":13165},{"style":1149},[13166],{"type":58,"value":1162},{"type":45,"tag":1096,"props":13168,"children":13169},{"style":1149},[13170],{"type":58,"value":3547},{"type":45,"tag":1096,"props":13172,"children":13173},{"style":1113},[13174],{"type":58,"value":3552},{"type":45,"tag":1096,"props":13176,"children":13177},{"style":1118},[13178],{"type":58,"value":3557},{"type":45,"tag":1096,"props":13180,"children":13181},{"style":1149},[13182],{"type":58,"value":1152},{"type":45,"tag":1096,"props":13184,"children":13185},{"style":1118},[13186],{"type":58,"value":3566},{"type":45,"tag":1096,"props":13188,"children":13189},{"style":1149},[13190],{"type":58,"value":1162},{"type":45,"tag":1096,"props":13192,"children":13193},{"style":1149},[13194],{"type":58,"value":3547},{"type":45,"tag":1096,"props":13196,"children":13197},{"style":1113},[13198],{"type":58,"value":3579},{"type":45,"tag":1096,"props":13200,"children":13201},{"style":1149},[13202],{"type":58,"value":2645},{"type":45,"tag":1096,"props":13204,"children":13205},{"style":1118},[13206],{"type":58,"value":3588},{"type":45,"tag":1096,"props":13208,"children":13209},{"style":1149},[13210],{"type":58,"value":2655},{"type":45,"tag":1096,"props":13212,"children":13213},{"style":1149},[13214],{"type":58,"value":2424},{"type":45,"tag":1096,"props":13216,"children":13217},{"class":1098,"line":1322},[13218,13222,13226,13230,13234,13238,13242,13246,13250,13254,13258,13262,13266,13270,13274,13278,13282,13286,13290,13294,13298,13302,13306,13310,13314,13318,13322,13326,13330],{"type":45,"tag":1096,"props":13219,"children":13220},{"style":1134},[13221],{"type":58,"value":3604},{"type":45,"tag":1096,"props":13223,"children":13224},{"style":1149},[13225],{"type":58,"value":2319},{"type":45,"tag":1096,"props":13227,"children":13228},{"style":1113},[13229],{"type":58,"value":184},{"type":45,"tag":1096,"props":13231,"children":13232},{"style":1118},[13233],{"type":58,"value":3512},{"type":45,"tag":1096,"props":13235,"children":13236},{"style":1149},[13237],{"type":58,"value":2645},{"type":45,"tag":1096,"props":13239,"children":13240},{"style":1118},[13241],{"type":58,"value":3521},{"type":45,"tag":1096,"props":13243,"children":13244},{"style":1149},[13245],{"type":58,"value":2655},{"type":45,"tag":1096,"props":13247,"children":13248},{"style":1149},[13249],{"type":58,"value":3530},{"type":45,"tag":1096,"props":13251,"children":13252},{"style":1149},[13253],{"type":58,"value":1152},{"type":45,"tag":1096,"props":13255,"children":13256},{"style":1134},[13257],{"type":58,"value":3393},{"type":45,"tag":1096,"props":13259,"children":13260},{"style":1149},[13261],{"type":58,"value":1162},{"type":45,"tag":1096,"props":13263,"children":13264},{"style":1149},[13265],{"type":58,"value":3547},{"type":45,"tag":1096,"props":13267,"children":13268},{"style":1113},[13269],{"type":58,"value":3552},{"type":45,"tag":1096,"props":13271,"children":13272},{"style":1118},[13273],{"type":58,"value":3557},{"type":45,"tag":1096,"props":13275,"children":13276},{"style":1149},[13277],{"type":58,"value":1152},{"type":45,"tag":1096,"props":13279,"children":13280},{"style":1118},[13281],{"type":58,"value":3665},{"type":45,"tag":1096,"props":13283,"children":13284},{"style":1149},[13285],{"type":58,"value":1162},{"type":45,"tag":1096,"props":13287,"children":13288},{"style":1149},[13289],{"type":58,"value":3547},{"type":45,"tag":1096,"props":13291,"children":13292},{"style":1113},[13293],{"type":58,"value":3579},{"type":45,"tag":1096,"props":13295,"children":13296},{"style":1149},[13297],{"type":58,"value":2645},{"type":45,"tag":1096,"props":13299,"children":13300},{"style":1118},[13301],{"type":58,"value":3588},{"type":45,"tag":1096,"props":13303,"children":13304},{"style":1149},[13305],{"type":58,"value":2655},{"type":45,"tag":1096,"props":13307,"children":13308},{"style":1149},[13309],{"type":58,"value":3241},{"type":45,"tag":1096,"props":13311,"children":13312},{"style":1134},[13313],{"type":58,"value":3698},{"type":45,"tag":1096,"props":13315,"children":13316},{"style":1149},[13317],{"type":58,"value":3703},{"type":45,"tag":1096,"props":13319,"children":13320},{"style":1134},[13321],{"type":58,"value":3708},{"type":45,"tag":1096,"props":13323,"children":13324},{"style":1149},[13325],{"type":58,"value":3713},{"type":45,"tag":1096,"props":13327,"children":13328},{"style":1134},[13329],{"type":58,"value":3718},{"type":45,"tag":1096,"props":13331,"children":13332},{"style":1149},[13333],{"type":58,"value":3723},{"type":45,"tag":1096,"props":13335,"children":13336},{"class":1098,"line":1357},[13337,13341,13345,13349],{"type":45,"tag":1096,"props":13338,"children":13339},{"style":3442},[13340],{"type":58,"value":3731},{"type":45,"tag":1096,"props":13342,"children":13343},{"style":2637},[13344],{"type":58,"value":3736},{"type":45,"tag":1096,"props":13346,"children":13347},{"style":1149},[13348],{"type":58,"value":2189},{"type":45,"tag":1096,"props":13350,"children":13351},{"style":3442},[13352],{"type":58,"value":3745},{"type":45,"tag":1096,"props":13354,"children":13355},{"class":1098,"line":2442},[13356,13360,13364,13368],{"type":45,"tag":1096,"props":13357,"children":13358},{"style":1113},[13359],{"type":58,"value":3753},{"type":45,"tag":1096,"props":13361,"children":13362},{"style":1149},[13363],{"type":58,"value":1152},{"type":45,"tag":1096,"props":13365,"children":13366},{"style":1134},[13367],{"type":58,"value":3762},{"type":45,"tag":1096,"props":13369,"children":13370},{"style":1149},[13371],{"type":58,"value":1271},{"type":45,"tag":1096,"props":13373,"children":13374},{"class":1098,"line":2451},[13375,13379,13383,13387,13391,13395,13399,13403,13407,13411,13415,13419,13423,13427,13431],{"type":45,"tag":1096,"props":13376,"children":13377},{"style":1134},[13378],{"type":58,"value":3774},{"type":45,"tag":1096,"props":13380,"children":13381},{"style":1149},[13382],{"type":58,"value":2319},{"type":45,"tag":1096,"props":13384,"children":13385},{"style":1113},[13386],{"type":58,"value":224},{"type":45,"tag":1096,"props":13388,"children":13389},{"style":1118},[13390],{"type":58,"value":1121},{"type":45,"tag":1096,"props":13392,"children":13393},{"style":1118},[13394],{"type":58,"value":1126},{"type":45,"tag":1096,"props":13396,"children":13397},{"style":1118},[13398],{"type":58,"value":1131},{"type":45,"tag":1096,"props":13400,"children":13401},{"style":1118},[13402],{"type":58,"value":2340},{"type":45,"tag":1096,"props":13404,"children":13405},{"style":1149},[13406],{"type":58,"value":1152},{"type":45,"tag":1096,"props":13408,"children":13409},{"style":1134},[13410],{"type":58,"value":3197},{"type":45,"tag":1096,"props":13412,"children":13413},{"style":1149},[13414],{"type":58,"value":1162},{"type":45,"tag":1096,"props":13416,"children":13417},{"style":1118},[13418],{"type":58,"value":2357},{"type":45,"tag":1096,"props":13420,"children":13421},{"style":1149},[13422],{"type":58,"value":1152},{"type":45,"tag":1096,"props":13424,"children":13425},{"style":1134},[13426],{"type":58,"value":3823},{"type":45,"tag":1096,"props":13428,"children":13429},{"style":1149},[13430],{"type":58,"value":1162},{"type":45,"tag":1096,"props":13432,"children":13433},{"style":1149},[13434],{"type":58,"value":2424},{"type":45,"tag":1096,"props":13436,"children":13437},{"class":1098,"line":2501},[13438,13442,13446,13450,13454,13458,13462,13466,13470,13474,13478,13482,13486],{"type":45,"tag":1096,"props":13439,"children":13440},{"style":3442},[13441],{"type":58,"value":3839},{"type":45,"tag":1096,"props":13443,"children":13444},{"style":1149},[13445],{"type":58,"value":3844},{"type":45,"tag":1096,"props":13447,"children":13448},{"style":2637},[13449],{"type":58,"value":3849},{"type":45,"tag":1096,"props":13451,"children":13452},{"style":1149},[13453],{"type":58,"value":1152},{"type":45,"tag":1096,"props":13455,"children":13456},{"style":1134},[13457],{"type":58,"value":3858},{"type":45,"tag":1096,"props":13459,"children":13460},{"style":1149},[13461],{"type":58,"value":1162},{"type":45,"tag":1096,"props":13463,"children":13464},{"style":1149},[13465],{"type":58,"value":3547},{"type":45,"tag":1096,"props":13467,"children":13468},{"style":1113},[13469],{"type":58,"value":3871},{"type":45,"tag":1096,"props":13471,"children":13472},{"style":1118},[13473],{"type":58,"value":3876},{"type":45,"tag":1096,"props":13475,"children":13476},{"style":1149},[13477],{"type":58,"value":2655},{"type":45,"tag":1096,"props":13479,"children":13480},{"style":1118},[13481],{"type":58,"value":3885},{"type":45,"tag":1096,"props":13483,"children":13484},{"style":1149},[13485],{"type":58,"value":3890},{"type":45,"tag":1096,"props":13487,"children":13488},{"style":3442},[13489],{"type":58,"value":3895},{"type":45,"tag":1096,"props":13491,"children":13492},{"class":1098,"line":2526},[13493,13497,13501,13506,13510,13514,13518,13522,13526,13530,13534,13538,13542,13546,13550,13554,13558,13562,13566,13570,13574],{"type":45,"tag":1096,"props":13494,"children":13495},{"style":1118},[13496],{"type":58,"value":3903},{"type":45,"tag":1096,"props":13498,"children":13499},{"style":1149},[13500],{"type":58,"value":174},{"type":45,"tag":1096,"props":13502,"children":13503},{"style":1134},[13504],{"type":58,"value":13505}," DEF",{"type":45,"tag":1096,"props":13507,"children":13508},{"style":1149},[13509],{"type":58,"value":2319},{"type":45,"tag":1096,"props":13511,"children":13512},{"style":1113},[13513],{"type":58,"value":224},{"type":45,"tag":1096,"props":13515,"children":13516},{"style":1118},[13517],{"type":58,"value":1121},{"type":45,"tag":1096,"props":13519,"children":13520},{"style":1118},[13521],{"type":58,"value":1126},{"type":45,"tag":1096,"props":13523,"children":13524},{"style":1118},[13525],{"type":58,"value":1131},{"type":45,"tag":1096,"props":13527,"children":13528},{"style":1118},[13529],{"type":58,"value":2340},{"type":45,"tag":1096,"props":13531,"children":13532},{"style":1149},[13533],{"type":58,"value":1152},{"type":45,"tag":1096,"props":13535,"children":13536},{"style":1134},[13537],{"type":58,"value":3197},{"type":45,"tag":1096,"props":13539,"children":13540},{"style":1149},[13541],{"type":58,"value":1162},{"type":45,"tag":1096,"props":13543,"children":13544},{"style":1118},[13545],{"type":58,"value":2357},{"type":45,"tag":1096,"props":13547,"children":13548},{"style":1149},[13549],{"type":58,"value":3957},{"type":45,"tag":1096,"props":13551,"children":13552},{"style":1134},[13553],{"type":58,"value":3962},{"type":45,"tag":1096,"props":13555,"children":13556},{"style":1149},[13557],{"type":58,"value":3967},{"type":45,"tag":1096,"props":13559,"children":13560},{"style":1118},[13561],{"type":58,"value":3972},{"type":45,"tag":1096,"props":13563,"children":13564},{"style":1149},[13565],{"type":58,"value":1162},{"type":45,"tag":1096,"props":13567,"children":13568},{"style":1149},[13569],{"type":58,"value":3241},{"type":45,"tag":1096,"props":13571,"children":13572},{"style":3442},[13573],{"type":58,"value":3985},{"type":45,"tag":1096,"props":13575,"children":13576},{"style":1149},[13577],{"type":58,"value":3990},{"type":45,"tag":1096,"props":13579,"children":13580},{"class":1098,"line":2569},[13581,13585,13589,13593,13597,13601,13605,13609,13613,13617,13621,13625,13629,13633,13637,13641,13645,13649,13653,13657,13661,13665],{"type":45,"tag":1096,"props":13582,"children":13583},{"style":1118},[13584],{"type":58,"value":3998},{"type":45,"tag":1096,"props":13586,"children":13587},{"style":1149},[13588],{"type":58,"value":4003},{"type":45,"tag":1096,"props":13590,"children":13591},{"style":1118},[13592],{"type":58,"value":2130},{"type":45,"tag":1096,"props":13594,"children":13595},{"style":1149},[13596],{"type":58,"value":174},{"type":45,"tag":1096,"props":13598,"children":13599},{"style":2637},[13600],{"type":58,"value":4016},{"type":45,"tag":1096,"props":13602,"children":13603},{"style":1149},[13604],{"type":58,"value":1152},{"type":45,"tag":1096,"props":13606,"children":13607},{"style":1118},[13608],{"type":58,"value":4025},{"type":45,"tag":1096,"props":13610,"children":13611},{"style":1149},[13612],{"type":58,"value":4030},{"type":45,"tag":1096,"props":13614,"children":13615},{"style":2637},[13616],{"type":58,"value":3849},{"type":45,"tag":1096,"props":13618,"children":13619},{"style":1149},[13620],{"type":58,"value":1152},{"type":45,"tag":1096,"props":13622,"children":13623},{"style":1134},[13624],{"type":58,"value":3858},{"type":45,"tag":1096,"props":13626,"children":13627},{"style":1149},[13628],{"type":58,"value":1162},{"type":45,"tag":1096,"props":13630,"children":13631},{"style":1149},[13632],{"type":58,"value":3547},{"type":45,"tag":1096,"props":13634,"children":13635},{"style":1113},[13636],{"type":58,"value":3871},{"type":45,"tag":1096,"props":13638,"children":13639},{"style":1118},[13640],{"type":58,"value":3876},{"type":45,"tag":1096,"props":13642,"children":13643},{"style":1149},[13644],{"type":58,"value":2655},{"type":45,"tag":1096,"props":13646,"children":13647},{"style":1118},[13648],{"type":58,"value":4067},{"type":45,"tag":1096,"props":13650,"children":13651},{"style":1149},[13652],{"type":58,"value":3890},{"type":45,"tag":1096,"props":13654,"children":13655},{"style":1149},[13656],{"type":58,"value":4076},{"type":45,"tag":1096,"props":13658,"children":13659},{"style":2637},[13660],{"type":58,"value":4081},{"type":45,"tag":1096,"props":13662,"children":13663},{"style":4084},[13664],{"type":58,"value":4087},{"type":45,"tag":1096,"props":13666,"children":13667},{"style":1149},[13668],{"type":58,"value":3990},{"type":45,"tag":1096,"props":13670,"children":13671},{"class":1098,"line":2577},[13672],{"type":45,"tag":1096,"props":13673,"children":13674},{"style":3442},[13675],{"type":58,"value":4099},{"type":45,"tag":1096,"props":13677,"children":13678},{"class":1098,"line":2586},[13679],{"type":45,"tag":1096,"props":13680,"children":13681},{"style":3442},[13682],{"type":58,"value":4107},{"type":45,"tag":1096,"props":13684,"children":13685},{"class":1098,"line":2633},[13686],{"type":45,"tag":1096,"props":13687,"children":13688},{"style":3442},[13689],{"type":58,"value":4115},{"type":45,"tag":1096,"props":13691,"children":13692},{"class":1098,"line":2676},[13693,13698,13702,13706,13710,13714,13718],{"type":45,"tag":1096,"props":13694,"children":13695},{"style":1134},[13696],{"type":58,"value":13697},"  DEF",{"type":45,"tag":1096,"props":13699,"children":13700},{"style":1149},[13701],{"type":58,"value":2319},{"type":45,"tag":1096,"props":13703,"children":13704},{"style":1113},[13705],{"type":58,"value":4132},{"type":45,"tag":1096,"props":13707,"children":13708},{"style":1149},[13709],{"type":58,"value":1152},{"type":45,"tag":1096,"props":13711,"children":13712},{"style":1134},[13713],{"type":58,"value":3410},{"type":45,"tag":1096,"props":13715,"children":13716},{"style":1149},[13717],{"type":58,"value":1162},{"type":45,"tag":1096,"props":13719,"children":13720},{"style":1149},[13721],{"type":58,"value":2424},{"type":45,"tag":1096,"props":13723,"children":13724},{"class":1098,"line":2725},[13725],{"type":45,"tag":1096,"props":13726,"children":13727},{"style":3442},[13728],{"type":58,"value":4156},{"type":45,"tag":1096,"props":13730,"children":13731},{"class":1098,"line":2762},[13732,13736,13740,13744,13748,13752,13756,13760],{"type":45,"tag":1096,"props":13733,"children":13734},{"style":1113},[13735],{"type":58,"value":2842},{"type":45,"tag":1096,"props":13737,"children":13738},{"style":1118},[13739],{"type":58,"value":2847},{"type":45,"tag":1096,"props":13741,"children":13742},{"style":1149},[13743],{"type":58,"value":1152},{"type":45,"tag":1096,"props":13745,"children":13746},{"style":1134},[13747],{"type":58,"value":3393},{"type":45,"tag":1096,"props":13749,"children":13750},{"style":1149},[13751],{"type":58,"value":1162},{"type":45,"tag":1096,"props":13753,"children":13754},{"style":1149},[13755],{"type":58,"value":1152},{"type":45,"tag":1096,"props":13757,"children":13758},{"style":1134},[13759],{"type":58,"value":3410},{"type":45,"tag":1096,"props":13761,"children":13762},{"style":1149},[13763],{"type":58,"value":1271},{"type":45,"tag":1096,"props":13765,"children":13766},{"class":1098,"line":2788},[13767],{"type":45,"tag":1096,"props":13768,"children":13769},{"emptyLinePlaceholder":1231},[13770],{"type":58,"value":1234},{"type":45,"tag":1096,"props":13772,"children":13773},{"class":1098,"line":2836},[13774],{"type":45,"tag":1096,"props":13775,"children":13776},{"style":1103},[13777],{"type":58,"value":13778},"# 2. Decode each part, modify mashup.pq, re-encode all 3.\n",{"type":45,"tag":1096,"props":13780,"children":13781},{"class":1098,"line":2862},[13782,13786,13790,13794,13798,13803,13807,13811,13815,13819,13823,13828,13832,13836,13840,13844],{"type":45,"tag":1096,"props":13783,"children":13784},{"style":1134},[13785],{"type":58,"value":9560},{"type":45,"tag":1096,"props":13787,"children":13788},{"style":1149},[13789],{"type":58,"value":2319},{"type":45,"tag":1096,"props":13791,"children":13792},{"style":2637},[13793],{"type":58,"value":3849},{"type":45,"tag":1096,"props":13795,"children":13796},{"style":1149},[13797],{"type":58,"value":1152},{"type":45,"tag":1096,"props":13799,"children":13800},{"style":1134},[13801],{"type":58,"value":13802},"$DEF",{"type":45,"tag":1096,"props":13804,"children":13805},{"style":1149},[13806],{"type":58,"value":1162},{"type":45,"tag":1096,"props":13808,"children":13809},{"style":1149},[13810],{"type":58,"value":3547},{"type":45,"tag":1096,"props":13812,"children":13813},{"style":1113},[13814],{"type":58,"value":3871},{"type":45,"tag":1096,"props":13816,"children":13817},{"style":1118},[13818],{"type":58,"value":4248},{"type":45,"tag":1096,"props":13820,"children":13821},{"style":1149},[13822],{"type":58,"value":2645},{"type":45,"tag":1096,"props":13824,"children":13825},{"style":1118},[13826],{"type":58,"value":13827},".definition.parts[] | select(.path==\"mashup.pq\")          | .payload",{"type":45,"tag":1096,"props":13829,"children":13830},{"style":1149},[13831],{"type":58,"value":2655},{"type":45,"tag":1096,"props":13833,"children":13834},{"style":1149},[13835],{"type":58,"value":3547},{"type":45,"tag":1096,"props":13837,"children":13838},{"style":1113},[13839],{"type":58,"value":4270},{"type":45,"tag":1096,"props":13841,"children":13842},{"style":1118},[13843],{"type":58,"value":3512},{"type":45,"tag":1096,"props":13845,"children":13846},{"style":1149},[13847],{"type":58,"value":2424},{"type":45,"tag":1096,"props":13849,"children":13850},{"class":1098,"line":2870},[13851,13856,13860,13864,13868,13872,13876,13880,13884,13888,13892,13896,13900,13904,13908,13912],{"type":45,"tag":1096,"props":13852,"children":13853},{"style":1134},[13854],{"type":58,"value":13855},"META",{"type":45,"tag":1096,"props":13857,"children":13858},{"style":1149},[13859],{"type":58,"value":2319},{"type":45,"tag":1096,"props":13861,"children":13862},{"style":2637},[13863],{"type":58,"value":9202},{"type":45,"tag":1096,"props":13865,"children":13866},{"style":1149},[13867],{"type":58,"value":1152},{"type":45,"tag":1096,"props":13869,"children":13870},{"style":1134},[13871],{"type":58,"value":13802},{"type":45,"tag":1096,"props":13873,"children":13874},{"style":1149},[13875],{"type":58,"value":1162},{"type":45,"tag":1096,"props":13877,"children":13878},{"style":1149},[13879],{"type":58,"value":3547},{"type":45,"tag":1096,"props":13881,"children":13882},{"style":1113},[13883],{"type":58,"value":3871},{"type":45,"tag":1096,"props":13885,"children":13886},{"style":1118},[13887],{"type":58,"value":4248},{"type":45,"tag":1096,"props":13889,"children":13890},{"style":1149},[13891],{"type":58,"value":2645},{"type":45,"tag":1096,"props":13893,"children":13894},{"style":1118},[13895],{"type":58,"value":4257},{"type":45,"tag":1096,"props":13897,"children":13898},{"style":1149},[13899],{"type":58,"value":2655},{"type":45,"tag":1096,"props":13901,"children":13902},{"style":1149},[13903],{"type":58,"value":3547},{"type":45,"tag":1096,"props":13905,"children":13906},{"style":1113},[13907],{"type":58,"value":4270},{"type":45,"tag":1096,"props":13909,"children":13910},{"style":1118},[13911],{"type":58,"value":3512},{"type":45,"tag":1096,"props":13913,"children":13914},{"style":1149},[13915],{"type":58,"value":2424},{"type":45,"tag":1096,"props":13917,"children":13918},{"class":1098,"line":2879},[13919,13924,13928,13932,13936,13940,13944,13948,13952,13956,13960,13965,13969,13973,13977,13981],{"type":45,"tag":1096,"props":13920,"children":13921},{"style":1134},[13922],{"type":58,"value":13923},"PLAT",{"type":45,"tag":1096,"props":13925,"children":13926},{"style":1149},[13927],{"type":58,"value":2319},{"type":45,"tag":1096,"props":13929,"children":13930},{"style":2637},[13931],{"type":58,"value":9202},{"type":45,"tag":1096,"props":13933,"children":13934},{"style":1149},[13935],{"type":58,"value":1152},{"type":45,"tag":1096,"props":13937,"children":13938},{"style":1134},[13939],{"type":58,"value":13802},{"type":45,"tag":1096,"props":13941,"children":13942},{"style":1149},[13943],{"type":58,"value":1162},{"type":45,"tag":1096,"props":13945,"children":13946},{"style":1149},[13947],{"type":58,"value":3547},{"type":45,"tag":1096,"props":13949,"children":13950},{"style":1113},[13951],{"type":58,"value":3871},{"type":45,"tag":1096,"props":13953,"children":13954},{"style":1118},[13955],{"type":58,"value":4248},{"type":45,"tag":1096,"props":13957,"children":13958},{"style":1149},[13959],{"type":58,"value":2645},{"type":45,"tag":1096,"props":13961,"children":13962},{"style":1118},[13963],{"type":58,"value":13964},".definition.parts[] | select(.path==\".platform\")          | .payload",{"type":45,"tag":1096,"props":13966,"children":13967},{"style":1149},[13968],{"type":58,"value":2655},{"type":45,"tag":1096,"props":13970,"children":13971},{"style":1149},[13972],{"type":58,"value":3547},{"type":45,"tag":1096,"props":13974,"children":13975},{"style":1113},[13976],{"type":58,"value":4270},{"type":45,"tag":1096,"props":13978,"children":13979},{"style":1118},[13980],{"type":58,"value":3512},{"type":45,"tag":1096,"props":13982,"children":13983},{"style":1149},[13984],{"type":58,"value":2424},{"type":45,"tag":1096,"props":13986,"children":13987},{"class":1098,"line":2888},[13988],{"type":45,"tag":1096,"props":13989,"children":13990},{"emptyLinePlaceholder":1231},[13991],{"type":58,"value":1234},{"type":45,"tag":1096,"props":13993,"children":13994},{"class":1098,"line":2897},[13995,14000,14004,14008,14012,14016,14020,14024,14029,14033,14038,14042,14046],{"type":45,"tag":1096,"props":13996,"children":13997},{"style":1134},[13998],{"type":58,"value":13999},"NEW_MASHUP",{"type":45,"tag":1096,"props":14001,"children":14002},{"style":1149},[14003],{"type":58,"value":2319},{"type":45,"tag":1096,"props":14005,"children":14006},{"style":2637},[14007],{"type":58,"value":3849},{"type":45,"tag":1096,"props":14009,"children":14010},{"style":1149},[14011],{"type":58,"value":1152},{"type":45,"tag":1096,"props":14013,"children":14014},{"style":1134},[14015],{"type":58,"value":10039},{"type":45,"tag":1096,"props":14017,"children":14018},{"style":1149},[14019],{"type":58,"value":1162},{"type":45,"tag":1096,"props":14021,"children":14022},{"style":1149},[14023],{"type":58,"value":3547},{"type":45,"tag":1096,"props":14025,"children":14026},{"style":1113},[14027],{"type":58,"value":14028}," sed",{"type":45,"tag":1096,"props":14030,"children":14031},{"style":1149},[14032],{"type":58,"value":2645},{"type":45,"tag":1096,"props":14034,"children":14035},{"style":1118},[14036],{"type":58,"value":14037},"s\u002Fold-pattern\u002Fnew-pattern\u002F",{"type":45,"tag":1096,"props":14039,"children":14040},{"style":1149},[14041],{"type":58,"value":2655},{"type":45,"tag":1096,"props":14043,"children":14044},{"style":1149},[14045],{"type":58,"value":174},{"type":45,"tag":1096,"props":14047,"children":14048},{"style":1103},[14049],{"type":58,"value":14050},"   # edit M here\n",{"type":45,"tag":1096,"props":14052,"children":14053},{"class":1098,"line":2906},[14054],{"type":45,"tag":1096,"props":14055,"children":14056},{"emptyLinePlaceholder":1231},[14057],{"type":58,"value":1234},{"type":45,"tag":1096,"props":14059,"children":14060},{"class":1098,"line":2914},[14061,14065,14069,14073,14077,14081,14086,14090,14094,14098,14102],{"type":45,"tag":1096,"props":14062,"children":14063},{"style":1134},[14064],{"type":58,"value":10018},{"type":45,"tag":1096,"props":14066,"children":14067},{"style":1149},[14068],{"type":58,"value":2319},{"type":45,"tag":1096,"props":14070,"children":14071},{"style":2637},[14072],{"type":58,"value":3849},{"type":45,"tag":1096,"props":14074,"children":14075},{"style":1118},[14076],{"type":58,"value":9000},{"type":45,"tag":1096,"props":14078,"children":14079},{"style":1149},[14080],{"type":58,"value":1152},{"type":45,"tag":1096,"props":14082,"children":14083},{"style":1134},[14084],{"type":58,"value":14085},"$NEW_MASHUP",{"type":45,"tag":1096,"props":14087,"children":14088},{"style":1149},[14089],{"type":58,"value":1162},{"type":45,"tag":1096,"props":14091,"children":14092},{"style":1149},[14093],{"type":58,"value":3547},{"type":45,"tag":1096,"props":14095,"children":14096},{"style":1113},[14097],{"type":58,"value":4270},{"type":45,"tag":1096,"props":14099,"children":14100},{"style":1118},[14101],{"type":58,"value":10056},{"type":45,"tag":1096,"props":14103,"children":14104},{"style":1149},[14105],{"type":58,"value":2424},{"type":45,"tag":1096,"props":14107,"children":14108},{"class":1098,"line":2923},[14109,14113,14117,14121,14125,14129,14134,14138,14143,14147,14151],{"type":45,"tag":1096,"props":14110,"children":14111},{"style":1134},[14112],{"type":58,"value":10069},{"type":45,"tag":1096,"props":14114,"children":14115},{"style":1149},[14116],{"type":58,"value":2319},{"type":45,"tag":1096,"props":14118,"children":14119},{"style":2637},[14120],{"type":58,"value":3849},{"type":45,"tag":1096,"props":14122,"children":14123},{"style":1118},[14124],{"type":58,"value":9000},{"type":45,"tag":1096,"props":14126,"children":14127},{"style":1149},[14128],{"type":58,"value":1152},{"type":45,"tag":1096,"props":14130,"children":14131},{"style":1134},[14132],{"type":58,"value":14133},"$META",{"type":45,"tag":1096,"props":14135,"children":14136},{"style":1149},[14137],{"type":58,"value":1162},{"type":45,"tag":1096,"props":14139,"children":14140},{"style":1149},[14141],{"type":58,"value":14142},"        |",{"type":45,"tag":1096,"props":14144,"children":14145},{"style":1113},[14146],{"type":58,"value":4270},{"type":45,"tag":1096,"props":14148,"children":14149},{"style":1118},[14150],{"type":58,"value":10056},{"type":45,"tag":1096,"props":14152,"children":14153},{"style":1149},[14154],{"type":58,"value":2424},{"type":45,"tag":1096,"props":14156,"children":14157},{"class":1098,"line":2932},[14158,14162,14166,14170,14174,14178,14183,14187,14191,14195,14199],{"type":45,"tag":1096,"props":14159,"children":14160},{"style":1134},[14161],{"type":58,"value":10118},{"type":45,"tag":1096,"props":14163,"children":14164},{"style":1149},[14165],{"type":58,"value":2319},{"type":45,"tag":1096,"props":14167,"children":14168},{"style":2637},[14169],{"type":58,"value":3849},{"type":45,"tag":1096,"props":14171,"children":14172},{"style":1118},[14173],{"type":58,"value":9000},{"type":45,"tag":1096,"props":14175,"children":14176},{"style":1149},[14177],{"type":58,"value":1152},{"type":45,"tag":1096,"props":14179,"children":14180},{"style":1134},[14181],{"type":58,"value":14182},"$PLAT",{"type":45,"tag":1096,"props":14184,"children":14185},{"style":1149},[14186],{"type":58,"value":1162},{"type":45,"tag":1096,"props":14188,"children":14189},{"style":1149},[14190],{"type":58,"value":14142},{"type":45,"tag":1096,"props":14192,"children":14193},{"style":1113},[14194],{"type":58,"value":4270},{"type":45,"tag":1096,"props":14196,"children":14197},{"style":1118},[14198],{"type":58,"value":10056},{"type":45,"tag":1096,"props":14200,"children":14201},{"style":1149},[14202],{"type":58,"value":2424},{"type":45,"tag":1096,"props":14204,"children":14205},{"class":1098,"line":4571},[14206],{"type":45,"tag":1096,"props":14207,"children":14208},{"emptyLinePlaceholder":1231},[14209],{"type":58,"value":1234},{"type":45,"tag":1096,"props":14211,"children":14212},{"class":1098,"line":4580},[14213],{"type":45,"tag":1096,"props":14214,"children":14215},{"style":1103},[14216],{"type":58,"value":14217},"# 3. Build the updateDefinition body in a temp file (full replacement — all 3 parts).\n",{"type":45,"tag":1096,"props":14219,"children":14220},{"class":1098,"line":4589},[14221,14225,14229,14233,14237,14241,14245,14249,14253,14257],{"type":45,"tag":1096,"props":14222,"children":14223},{"style":1134},[14224],{"type":58,"value":10176},{"type":45,"tag":1096,"props":14226,"children":14227},{"style":1149},[14228],{"type":58,"value":2319},{"type":45,"tag":1096,"props":14230,"children":14231},{"style":1113},[14232],{"type":58,"value":2601},{"type":45,"tag":1096,"props":14234,"children":14235},{"style":1118},[14236],{"type":58,"value":2606},{"type":45,"tag":1096,"props":14238,"children":14239},{"style":1149},[14240],{"type":58,"value":2611},{"type":45,"tag":1096,"props":14242,"children":14243},{"style":1118},[14244],{"type":58,"value":2616},{"type":45,"tag":1096,"props":14246,"children":14247},{"style":1149},[14248],{"type":58,"value":2621},{"type":45,"tag":1096,"props":14250,"children":14251},{"style":1113},[14252],{"type":58,"value":2626},{"type":45,"tag":1096,"props":14254,"children":14255},{"style":1149},[14256],{"type":58,"value":174},{"type":45,"tag":1096,"props":14258,"children":14259},{"style":1103},[14260],{"type":58,"value":8452},{"type":45,"tag":1096,"props":14262,"children":14263},{"class":1098,"line":8801},[14264,14268,14272,14276,14280,14284,14288],{"type":45,"tag":1096,"props":14265,"children":14266},{"style":1113},[14267],{"type":58,"value":4132},{"type":45,"tag":1096,"props":14269,"children":14270},{"style":1149},[14271],{"type":58,"value":2660},{"type":45,"tag":1096,"props":14273,"children":14274},{"style":1149},[14275],{"type":58,"value":1152},{"type":45,"tag":1096,"props":14277,"children":14278},{"style":1134},[14279],{"type":58,"value":8473},{"type":45,"tag":1096,"props":14281,"children":14282},{"style":1149},[14283],{"type":58,"value":1162},{"type":45,"tag":1096,"props":14285,"children":14286},{"style":1149},[14287],{"type":58,"value":8482},{"type":45,"tag":1096,"props":14289,"children":14290},{"style":1149},[14291],{"type":58,"value":8487},{"type":45,"tag":1096,"props":14293,"children":14294},{"class":1098,"line":8867},[14295],{"type":45,"tag":1096,"props":14296,"children":14297},{"style":1118},[14298],{"type":58,"value":10253},{"type":45,"tag":1096,"props":14300,"children":14301},{"class":1098,"line":8916},[14302,14306,14310,14314,14318],{"type":45,"tag":1096,"props":14303,"children":14304},{"style":1118},[14305],{"type":58,"value":10262},{"type":45,"tag":1096,"props":14307,"children":14308},{"style":1149},[14309],{"type":58,"value":10267},{"type":45,"tag":1096,"props":14311,"children":14312},{"style":1134},[14313],{"type":58,"value":10018},{"type":45,"tag":1096,"props":14315,"children":14316},{"style":1149},[14317],{"type":58,"value":9717},{"type":45,"tag":1096,"props":14319,"children":14320},{"style":1118},[14321],{"type":58,"value":10280},{"type":45,"tag":1096,"props":14323,"children":14324},{"class":1098,"line":8941},[14325,14329,14333,14337,14341],{"type":45,"tag":1096,"props":14326,"children":14327},{"style":1118},[14328],{"type":58,"value":10289},{"type":45,"tag":1096,"props":14330,"children":14331},{"style":1149},[14332],{"type":58,"value":10267},{"type":45,"tag":1096,"props":14334,"children":14335},{"style":1134},[14336],{"type":58,"value":10069},{"type":45,"tag":1096,"props":14338,"children":14339},{"style":1149},[14340],{"type":58,"value":9717},{"type":45,"tag":1096,"props":14342,"children":14343},{"style":1118},[14344],{"type":58,"value":10306},{"type":45,"tag":1096,"props":14346,"children":14347},{"class":1098,"line":8990},[14348,14352,14356,14360,14364],{"type":45,"tag":1096,"props":14349,"children":14350},{"style":1118},[14351],{"type":58,"value":10315},{"type":45,"tag":1096,"props":14353,"children":14354},{"style":1149},[14355],{"type":58,"value":10267},{"type":45,"tag":1096,"props":14357,"children":14358},{"style":1134},[14359],{"type":58,"value":10118},{"type":45,"tag":1096,"props":14361,"children":14362},{"style":1149},[14363],{"type":58,"value":9717},{"type":45,"tag":1096,"props":14365,"children":14366},{"style":1118},[14367],{"type":58,"value":10332},{"type":45,"tag":1096,"props":14369,"children":14370},{"class":1098,"line":9070},[14371],{"type":45,"tag":1096,"props":14372,"children":14373},{"style":1118},[14374],{"type":58,"value":10341},{"type":45,"tag":1096,"props":14376,"children":14377},{"class":1098,"line":9094},[14378],{"type":45,"tag":1096,"props":14379,"children":14380},{"style":1149},[14381],{"type":58,"value":8487},{"type":45,"tag":1096,"props":14383,"children":14384},{"class":1098,"line":9102},[14385,14389,14393,14397,14401,14405,14409,14413,14417],{"type":45,"tag":1096,"props":14386,"children":14387},{"style":1113},[14388],{"type":58,"value":224},{"type":45,"tag":1096,"props":14390,"children":14391},{"style":1118},[14392],{"type":58,"value":1121},{"type":45,"tag":1096,"props":14394,"children":14395},{"style":1118},[14396],{"type":58,"value":1126},{"type":45,"tag":1096,"props":14398,"children":14399},{"style":1118},[14400],{"type":58,"value":2702},{"type":45,"tag":1096,"props":14402,"children":14403},{"style":1118},[14404],{"type":58,"value":2340},{"type":45,"tag":1096,"props":14406,"children":14407},{"style":1149},[14408],{"type":58,"value":1152},{"type":45,"tag":1096,"props":14410,"children":14411},{"style":1134},[14412],{"type":58,"value":3197},{"type":45,"tag":1096,"props":14414,"children":14415},{"style":1149},[14416],{"type":58,"value":1162},{"type":45,"tag":1096,"props":14418,"children":14419},{"style":1134},[14420],{"type":58,"value":1137},{"type":45,"tag":1096,"props":14422,"children":14423},{"class":1098,"line":9111},[14424,14428,14432,14436,14440,14444,14448,14452,14456,14460,14464,14468,14472,14476],{"type":45,"tag":1096,"props":14425,"children":14426},{"style":1118},[14427],{"type":58,"value":1175},{"type":45,"tag":1096,"props":14429,"children":14430},{"style":1149},[14431],{"type":58,"value":1152},{"type":45,"tag":1096,"props":14433,"children":14434},{"style":1134},[14435],{"type":58,"value":3197},{"type":45,"tag":1096,"props":14437,"children":14438},{"style":1118},[14439],{"type":58,"value":12977},{"type":45,"tag":1096,"props":14441,"children":14442},{"style":1149},[14443],{"type":58,"value":10267},{"type":45,"tag":1096,"props":14445,"children":14446},{"style":1134},[14447],{"type":58,"value":1252},{"type":45,"tag":1096,"props":14449,"children":14450},{"style":1149},[14451],{"type":58,"value":9717},{"type":45,"tag":1096,"props":14453,"children":14454},{"style":1118},[14455],{"type":58,"value":3358},{"type":45,"tag":1096,"props":14457,"children":14458},{"style":1149},[14459],{"type":58,"value":10267},{"type":45,"tag":1096,"props":14461,"children":14462},{"style":1134},[14463],{"type":58,"value":1427},{"type":45,"tag":1096,"props":14465,"children":14466},{"style":1149},[14467],{"type":58,"value":9717},{"type":45,"tag":1096,"props":14469,"children":14470},{"style":1118},[14471],{"type":58,"value":10426},{"type":45,"tag":1096,"props":14473,"children":14474},{"style":1149},[14475],{"type":58,"value":1162},{"type":45,"tag":1096,"props":14477,"children":14478},{"style":1134},[14479],{"type":58,"value":1137},{"type":45,"tag":1096,"props":14481,"children":14482},{"class":1098,"line":9120},[14483,14487,14491,14495,14499,14503,14507,14511,14515],{"type":45,"tag":1096,"props":14484,"children":14485},{"style":1118},[14486],{"type":58,"value":2768},{"type":45,"tag":1096,"props":14488,"children":14489},{"style":1149},[14490],{"type":58,"value":1152},{"type":45,"tag":1096,"props":14492,"children":14493},{"style":1118},[14494],{"type":58,"value":2777},{"type":45,"tag":1096,"props":14496,"children":14497},{"style":1149},[14498],{"type":58,"value":1162},{"type":45,"tag":1096,"props":14500,"children":14501},{"style":1118},[14502],{"type":58,"value":8716},{"type":45,"tag":1096,"props":14504,"children":14505},{"style":1149},[14506],{"type":58,"value":1152},{"type":45,"tag":1096,"props":14508,"children":14509},{"style":1118},[14510],{"type":58,"value":2803},{"type":45,"tag":1096,"props":14512,"children":14513},{"style":1134},[14514],{"type":58,"value":8473},{"type":45,"tag":1096,"props":14516,"children":14517},{"style":1149},[14518],{"type":58,"value":1271},{"type":45,"tag":1096,"props":14520,"children":14521},{"class":1098,"line":9196},[14522,14526,14530,14534,14538],{"type":45,"tag":1096,"props":14523,"children":14524},{"style":1113},[14525],{"type":58,"value":2842},{"type":45,"tag":1096,"props":14527,"children":14528},{"style":1118},[14529],{"type":58,"value":2847},{"type":45,"tag":1096,"props":14531,"children":14532},{"style":1149},[14533],{"type":58,"value":1152},{"type":45,"tag":1096,"props":14535,"children":14536},{"style":1134},[14537],{"type":58,"value":8473},{"type":45,"tag":1096,"props":14539,"children":14540},{"style":1149},[14541],{"type":58,"value":1271},{"type":45,"tag":46,"props":14543,"children":14544},{},[14545],{"type":45,"tag":50,"props":14546,"children":14547},{},[14548,14550,14556,14557,14563],{"type":58,"value":14549},"Binding a new connection? Example 1 (steps 1-5) is the canonical bind+save flow. Bind-only walk-throughs live in ",{"type":45,"tag":210,"props":14551,"children":14553},{"href":14552},"references\u002Fauthoring-cli-quickref.md#connection-binding-quick-patterns",[14554],{"type":58,"value":14555},"authoring-cli-quickref.md § Connection Binding Quick Patterns",{"type":58,"value":990},{"type":45,"tag":210,"props":14558,"children":14560},{"href":14559},"references\u002Fauthoring-script-templates.md#connection-binding-templates",[14561],{"type":58,"value":14562},"authoring-script-templates.md § Connection Binding Templates",{"type":58,"value":1057},{"type":45,"tag":811,"props":14565,"children":14566},{},[],{"type":45,"tag":153,"props":14568,"children":14570},{"id":14569},"output-expectations",[14571],{"type":58,"value":348},{"type":45,"tag":50,"props":14573,"children":14574},{},[14575],{"type":58,"value":14576},"When this skill completes a task, the agent should return:",{"type":45,"tag":176,"props":14578,"children":14579},{},[14580,14596],{"type":45,"tag":180,"props":14581,"children":14582},{},[14583],{"type":45,"tag":184,"props":14584,"children":14585},{},[14586,14591],{"type":45,"tag":188,"props":14587,"children":14588},{},[14589],{"type":58,"value":14590},"Field",{"type":45,"tag":188,"props":14592,"children":14593},{},[14594],{"type":58,"value":14595},"Convention",{"type":45,"tag":199,"props":14597,"children":14598},{},[14599,14615,14631,14687,14730,14801,14839],{"type":45,"tag":184,"props":14600,"children":14601},{},[14602,14610],{"type":45,"tag":206,"props":14603,"children":14604},{},[14605],{"type":45,"tag":54,"props":14606,"children":14607},{},[14608],{"type":58,"value":14609},"Verbosity",{"type":45,"tag":206,"props":14611,"children":14612},{},[14613],{"type":58,"value":14614},"Concise summary (3–10 lines) of what was created\u002Fmodified.",{"type":45,"tag":184,"props":14616,"children":14617},{},[14618,14626],{"type":45,"tag":206,"props":14619,"children":14620},{},[14621],{"type":45,"tag":54,"props":14622,"children":14623},{},[14624],{"type":58,"value":14625},"Default format",{"type":45,"tag":206,"props":14627,"children":14628},{},[14629],{"type":58,"value":14630},"Markdown for status reports; fenced JSON code block for single-resource responses; markdown table for list responses.",{"type":45,"tag":184,"props":14632,"children":14633},{},[14634,14642],{"type":45,"tag":206,"props":14635,"children":14636},{},[14637],{"type":45,"tag":54,"props":14638,"children":14639},{},[14640],{"type":58,"value":14641},"Side-effect disclosure",{"type":45,"tag":206,"props":14643,"children":14644},{},[14645,14647,14652,14653,14658,14659,14664,14666,14671,14673,14678,14680,14685],{"type":58,"value":14646},"Explicitly report IDs created\u002Fmodified\u002Fdeleted and the target workspace ID. Never imply success without an ID. When you saved or replaced a dataflow definition, name the parts you wrote in prose -- ",{"type":45,"tag":85,"props":14648,"children":14650},{"className":14649},[],[14651],{"type":58,"value":1815},{"type":58,"value":1031},{"type":45,"tag":85,"props":14654,"children":14656},{"className":14655},[],[14657],{"type":58,"value":1838},{"type":58,"value":1031},{"type":45,"tag":85,"props":14660,"children":14662},{"className":14661},[],[14663],{"type":58,"value":1870},{"type":58,"value":14665}," -- since long command bodies are truncated in the transcript and the part names would otherwise be lost. Also name the actual persist path you used: ",{"type":45,"tag":85,"props":14667,"children":14669},{"className":14668},[],[14670],{"type":58,"value":1564},{"type":58,"value":14672}," when you saved the definition through that endpoint, or the create call ",{"type":45,"tag":85,"props":14674,"children":14676},{"className":14675},[],[14677],{"type":58,"value":1754},{"type":58,"value":14679}," when the definition was supplied at create time. Do not claim ",{"type":45,"tag":85,"props":14681,"children":14683},{"className":14682},[],[14684],{"type":58,"value":1564},{"type":58,"value":14686}," if the definition was persisted via the create POST.",{"type":45,"tag":184,"props":14688,"children":14689},{},[14690,14698],{"type":45,"tag":206,"props":14691,"children":14692},{},[14693],{"type":45,"tag":54,"props":14694,"children":14695},{},[14696],{"type":58,"value":14697},"Verification",{"type":45,"tag":206,"props":14699,"children":14700},{},[14701,14703,14708,14710,14716,14717,14722,14723,14728],{"type":58,"value":14702},"Re-",{"type":45,"tag":85,"props":14704,"children":14706},{"className":14705},[],[14707],{"type":58,"value":6591},{"type":58,"value":14709}," the affected resource (dataflow, connection, job instance) and surface its state (e.g., ",{"type":45,"tag":85,"props":14711,"children":14713},{"className":14712},[],[14714],{"type":58,"value":14715},"provisionState",{"type":58,"value":1031},{"type":45,"tag":85,"props":14718,"children":14720},{"className":14719},[],[14721],{"type":58,"value":2106},{"type":58,"value":1031},{"type":45,"tag":85,"props":14724,"children":14726},{"className":14725},[],[14727],{"type":58,"value":2114},{"type":58,"value":14729},") before declaring done.",{"type":45,"tag":184,"props":14731,"children":14732},{},[14733,14741],{"type":45,"tag":206,"props":14734,"children":14735},{},[14736],{"type":45,"tag":54,"props":14737,"children":14738},{},[14739],{"type":58,"value":14740},"Error surfacing",{"type":45,"tag":206,"props":14742,"children":14743},{},[14744,14746,14751,14752,14757,14759,14765,14767,14772,14773,14778,14780,14785,14787,14792,14794,14799],{"type":58,"value":14745},"If any step returned a non-2xx status, an LRO ",{"type":45,"tag":85,"props":14747,"children":14749},{"className":14748},[],[14750],{"type":58,"value":2122},{"type":58,"value":2124},{"type":45,"tag":85,"props":14753,"children":14755},{"className":14754},[],[14756],{"type":58,"value":2130},{"type":58,"value":14758},", or an Arrow-stream ",{"type":45,"tag":85,"props":14760,"children":14762},{"className":14761},[],[14763],{"type":58,"value":14764},"{\"Error\":\"...\"}",{"type":58,"value":14766},", propagate the raw error verbatim and stop. A terminal refresh ",{"type":45,"tag":85,"props":14768,"children":14770},{"className":14769},[],[14771],{"type":58,"value":2122},{"type":58,"value":2124},{"type":45,"tag":85,"props":14774,"children":14776},{"className":14775},[],[14777],{"type":58,"value":2130},{"type":58,"value":14779},", an ",{"type":45,"tag":85,"props":14781,"children":14783},{"className":14782},[],[14784],{"type":58,"value":3113},{"type":58,"value":14786}," backend error, or a workspace-wide ",{"type":45,"tag":85,"props":14788,"children":14790},{"className":14789},[],[14791],{"type":58,"value":3121},{"type":58,"value":14793}," is a ",{"type":45,"tag":54,"props":14795,"children":14796},{},[14797],{"type":58,"value":14798},"fatal-stop",{"type":58,"value":14800}," condition — report it and end; do not re-trigger, re-poll, or enter an extended debugging loop.",{"type":45,"tag":184,"props":14802,"children":14803},{},[14804,14812],{"type":45,"tag":206,"props":14805,"children":14806},{},[14807],{"type":45,"tag":54,"props":14808,"children":14809},{},[14810],{"type":58,"value":14811},"Preview rendering (Workflow C)",{"type":45,"tag":206,"props":14813,"children":14814},{},[14815,14817,14822,14824,14830,14832,14838],{"type":58,"value":14816},"After ",{"type":45,"tag":85,"props":14818,"children":14820},{"className":14819},[],[14821],{"type":58,"value":593},{"type":58,"value":14823},", render ",{"type":45,"tag":85,"props":14825,"children":14827},{"className":14826},[],[14828],{"type":58,"value":14829},"head(10)",{"type":58,"value":14831}," of the result as a markdown table in chat alongside the saved Arrow file — even when the embedded-error check passes. Catches silent-success bugs (filter dropped all rows, wrong column, off-by-one, wrong cast) that the embedded-error detector cannot see. Snippet + suppression rules: ",{"type":45,"tag":210,"props":14833,"children":14835},{"href":14834},"..\u002Fdataflows-consumption-cli\u002FSKILL.md#example-5b-render-query-results-as-a-markdown-table",[14836],{"type":58,"value":14837},"dataflows-consumption-cli § Example 5b",{"type":58,"value":1057},{"type":45,"tag":184,"props":14840,"children":14841},{},[14842,14850],{"type":45,"tag":206,"props":14843,"children":14844},{},[14845],{"type":45,"tag":54,"props":14846,"children":14847},{},[14848],{"type":58,"value":14849},"API names",{"type":45,"tag":206,"props":14851,"children":14852},{},[14853,14855,14860,14861,14866,14867,14872,14873,14878,14879,14884,14885,14890],{"type":58,"value":14854},"When the answer references API endpoints or request-body fields, use their exact, case-sensitive names (",{"type":45,"tag":85,"props":14856,"children":14858},{"className":14857},[],[14859],{"type":58,"value":593},{"type":58,"value":1031},{"type":45,"tag":85,"props":14862,"children":14864},{"className":14863},[],[14865],{"type":58,"value":807},{"type":58,"value":1031},{"type":45,"tag":85,"props":14868,"children":14870},{"className":14869},[],[14871],{"type":58,"value":1969},{"type":58,"value":1031},{"type":45,"tag":85,"props":14874,"children":14876},{"className":14875},[],[14877],{"type":58,"value":1815},{"type":58,"value":1031},{"type":45,"tag":85,"props":14880,"children":14882},{"className":14881},[],[14883],{"type":58,"value":1838},{"type":58,"value":1031},{"type":45,"tag":85,"props":14886,"children":14888},{"className":14887},[],[14889],{"type":58,"value":1668},{"type":58,"value":14891},") rather than paraphrased or pluralized variants.",{"type":45,"tag":14893,"props":14894,"children":14895},"style",{},[14896],{"type":58,"value":14897},"html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"items":14899,"total":15094},[14900,14922,14943,14964,14979,14996,15007,15020,15035,15050,15069,15082],{"slug":14901,"name":14901,"fn":14902,"description":14903,"org":14904,"tags":14905,"stars":14919,"repoUrl":14920,"updatedAt":14921},"rushstack-best-practices","manage Rush monorepos with best practices","Provides best practices and guidance for working with Rush monorepos. Use when the user is working in a Rush-based repository, asks about Rush commands (install, update, build, rebuild), needs help with project selection, dependency management, build caching, subspace configuration, or troubleshooting Rush-specific issues.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[14906,14909,14912,14913,14916],{"name":14907,"slug":14908,"type":15},"Engineering","engineering",{"name":14910,"slug":14911,"type":15},"Local Development","local-development",{"name":9,"slug":8,"type":15},{"name":14914,"slug":14915,"type":15},"Project Management","project-management",{"name":14917,"slug":14918,"type":15},"Rush","rush",6484,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Frushstack","2026-04-06T18:34:44.965032",{"slug":14923,"name":14923,"fn":14924,"description":14925,"org":14926,"tags":14927,"stars":14940,"repoUrl":14941,"updatedAt":14942},"azure-ai-agents-persistent-dotnet","build AI agents with Azure .NET SDK","Azure AI Agents Persistent SDK for .NET. Low-level SDK for creating and managing AI agents with threads, messages, runs, and tools. Use for agent CRUD, conversation threads, streaming responses, function calling, file search, and code interpreter. Triggers: \"PersistentAgentsClient\", \"persistent agents\", \"agent threads\", \"agent runs\", \"streaming agents\", \"function calling agents .NET\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[14928,14931,14934,14937],{"name":14929,"slug":14930,"type":15},".NET","net",{"name":14932,"slug":14933,"type":15},"Agents","agents",{"name":14935,"slug":14936,"type":15},"Azure","azure",{"name":14938,"slug":14939,"type":15},"LLM","llm",2804,"https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fskills","2026-07-03T16:32:10.297433",{"slug":14944,"name":14944,"fn":14945,"description":14946,"org":14947,"tags":14948,"stars":14940,"repoUrl":14941,"updatedAt":14963},"azure-ai-anomalydetector-java","build anomaly detection applications with Java","Build anomaly detection applications with Azure AI Anomaly Detector SDK for Java. Use when implementing univariate\u002Fmultivariate anomaly detection, time-series analysis, or AI-powered monitoring.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[14949,14952,14953,14956,14959,14960],{"name":14950,"slug":14951,"type":15},"Analytics","analytics",{"name":14935,"slug":14936,"type":15},{"name":14954,"slug":14955,"type":15},"Data Analysis","data-analysis",{"name":14957,"slug":14958,"type":15},"Java","java",{"name":9,"slug":8,"type":15},{"name":14961,"slug":14962,"type":15},"Monitoring","monitoring","2026-05-13T06:14:16.261754",{"slug":14965,"name":14965,"fn":14966,"description":14967,"org":14968,"tags":14969,"stars":14940,"repoUrl":14941,"updatedAt":14978},"azure-ai-contentsafety-java","build content moderation applications with Azure AI","Build content moderation applications with Azure AI Content Safety SDK for Java. Use when implementing text\u002Fimage analysis, blocklist management, or harm detection for hate, violence, sexual content, and self-harm.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[14970,14973,14974,14975],{"name":14971,"slug":14972,"type":15},"AI Infrastructure","ai-infrastructure",{"name":14935,"slug":14936,"type":15},{"name":14957,"slug":14958,"type":15},{"name":14976,"slug":14977,"type":15},"Security","security","2026-07-07T06:53:31.293235",{"slug":14980,"name":14980,"fn":14981,"description":14982,"org":14983,"tags":14984,"stars":14940,"repoUrl":14941,"updatedAt":14995},"azure-ai-contentsafety-py","detect harmful content with Azure AI Content Safety","Azure AI Content Safety SDK for Python. Use for detecting harmful content in text and images with multi-severity classification.\nTriggers: \"azure-ai-contentsafety\", \"ContentSafetyClient\", \"content moderation\", \"harmful content\", \"text analysis\", \"image analysis\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[14985,14986,14989,14990,14991,14994],{"name":14935,"slug":14936,"type":15},{"name":14987,"slug":14988,"type":15},"Compliance","compliance",{"name":14938,"slug":14939,"type":15},{"name":9,"slug":8,"type":15},{"name":14992,"slug":14993,"type":15},"Python","python",{"name":14976,"slug":14977,"type":15},"2026-07-18T05:14:23.017504",{"slug":14997,"name":14997,"fn":14998,"description":14999,"org":15000,"tags":15001,"stars":14940,"repoUrl":14941,"updatedAt":15006},"azure-ai-language-conversations-py","implement conversational language understanding with Python","Implement Conversational Language Understanding (CLU) using the azure-ai-language-conversations Python SDK. Use when working with ConversationAnalysisClient to analyze conversation intent and entities, building NLP features, or integrating language understanding into applications.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[15002,15003,15004,15005],{"name":14950,"slug":14951,"type":15},{"name":14935,"slug":14936,"type":15},{"name":14938,"slug":14939,"type":15},{"name":14992,"slug":14993,"type":15},"2026-07-31T05:54:29.068751",{"slug":15008,"name":15008,"fn":15009,"description":15010,"org":15011,"tags":15012,"stars":14940,"repoUrl":14941,"updatedAt":15019},"azure-ai-translation-text-py","translate text using Azure AI services","Azure AI Text Translation SDK for real-time text translation, transliteration, language detection, and dictionary lookup. Use for translating text content in applications.\nTriggers: \"text translation\", \"translator\", \"translate text\", \"transliterate\", \"TextTranslationClient\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[15013,15016,15017,15018],{"name":15014,"slug":15015,"type":15},"API Development","api-development",{"name":14935,"slug":14936,"type":15},{"name":9,"slug":8,"type":15},{"name":14992,"slug":14993,"type":15},"2026-07-18T05:14:16.988376",{"slug":15021,"name":15021,"fn":15022,"description":15023,"org":15024,"tags":15025,"stars":14940,"repoUrl":14941,"updatedAt":15034},"azure-ai-vision-imageanalysis-py","analyze images with Azure AI Vision","Azure AI Vision Image Analysis SDK for captions, tags, objects, OCR, people detection, and smart cropping. Use for computer vision and image understanding tasks.\nTriggers: \"image analysis\", \"computer vision\", \"OCR\", \"object detection\", \"ImageAnalysisClient\", \"image caption\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[15026,15027,15030,15033],{"name":14935,"slug":14936,"type":15},{"name":15028,"slug":15029,"type":15},"Computer Vision","computer-vision",{"name":15031,"slug":15032,"type":15},"Images","images",{"name":14992,"slug":14993,"type":15},"2026-07-18T05:14:18.007737",{"slug":15036,"name":15036,"fn":15037,"description":15038,"org":15039,"tags":15040,"stars":14940,"repoUrl":14941,"updatedAt":15049},"azure-appconfiguration-java","manage configuration with Azure App Configuration","Azure App Configuration SDK for Java. Centralized application configuration management with key-value settings, feature flags, and snapshots.\nTriggers: \"ConfigurationClient java\", \"app configuration java\", \"feature flag java\", \"configuration setting java\", \"azure config java\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[15041,15042,15045,15048],{"name":14935,"slug":14936,"type":15},{"name":15043,"slug":15044,"type":15},"Configuration","configuration",{"name":15046,"slug":15047,"type":15},"Feature Flags","feature-flags",{"name":14957,"slug":14958,"type":15},"2026-07-03T16:32:01.278468",{"slug":15051,"name":15051,"fn":15052,"description":15053,"org":15054,"tags":15055,"stars":14940,"repoUrl":14941,"updatedAt":15068},"azure-cosmos-rust","build applications with Azure Cosmos DB","Azure Cosmos DB library for Rust (NoSQL API). Document CRUD, containers, and globally distributed data.\nTriggers: \"cosmos db rust\", \"CosmosClient rust\", \"document crud rust\", \"NoSQL rust\", \"partition key rust\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[15056,15059,15062,15065],{"name":15057,"slug":15058,"type":15},"Cosmos DB","cosmos-db",{"name":15060,"slug":15061,"type":15},"Database","database",{"name":15063,"slug":15064,"type":15},"NoSQL","nosql",{"name":15066,"slug":15067,"type":15},"Rust","rust","2026-07-31T05:54:27.021432",{"slug":15070,"name":15070,"fn":15052,"description":15071,"org":15072,"tags":15073,"stars":14940,"repoUrl":14941,"updatedAt":15081},"azure-cosmos-ts","Azure Cosmos DB JavaScript\u002FTypeScript SDK (@azure\u002Fcosmos) for data plane operations. Use for CRUD operations on documents, queries, bulk operations, and container management. Triggers: \"Cosmos DB\", \"@azure\u002Fcosmos\", \"CosmosClient\", \"document CRUD\", \"NoSQL queries\", \"bulk operations\", \"partition key\", \"container.items\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[15074,15075,15076,15077,15078],{"name":15057,"slug":15058,"type":15},{"name":15060,"slug":15061,"type":15},{"name":9,"slug":8,"type":15},{"name":15063,"slug":15064,"type":15},{"name":15079,"slug":15080,"type":15},"TypeScript","typescript","2026-07-03T16:31:19.368382",{"slug":15083,"name":15083,"fn":15084,"description":15085,"org":15086,"tags":15087,"stars":14940,"repoUrl":14941,"updatedAt":15093},"azure-data-tables-java","build table storage applications with Java","Build table storage applications with Azure Tables SDK for Java. Use when working with Azure Table Storage or Cosmos DB Table API for NoSQL key-value data, schemaless storage, or structured data at scale.",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[15088,15089,15090,15091,15092],{"name":14935,"slug":14936,"type":15},{"name":15057,"slug":15058,"type":15},{"name":15060,"slug":15061,"type":15},{"name":14957,"slug":14958,"type":15},{"name":15063,"slug":15064,"type":15},"2026-05-13T06:14:17.582229",267,{"items":15096,"total":2586},[15097,15108,15127,15135,15151,15165,15179],{"slug":66,"name":66,"fn":15098,"description":15099,"org":15100,"tags":15101,"stars":28,"repoUrl":29,"updatedAt":15107},"check for Fabric skill marketplace updates","Check an installed skills-for-fabric plugin bundle or git clone for updates, show the matching changelog, and provide host-appropriate update guidance. Use when the user wants to: (1) check for skill updates, (2) see what changed, (3) verify the installed version. Triggers: \"check for updates\", \"am I up to date\", \"what version\", \"update skills\", \"show changelog\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[15102,15103,15104],{"name":9,"slug":8,"type":15},{"name":26,"slug":27,"type":15},{"name":15105,"slug":15106,"type":15},"Operations","operations","2026-07-24T05:41:25.892114",{"slug":15109,"name":15109,"fn":15110,"description":15111,"org":15112,"tags":15113,"stars":28,"repoUrl":29,"updatedAt":15126},"databricks-migration","migrate Databricks notebooks to Microsoft Fabric","Port Databricks notebooks and jobs to Microsoft Fabric. Provides an exhaustive dbutils to notebookutils substitution table: fs operations (runtime mounts or OneLake Shortcuts), secret scope to Key Vault URL conversion, notebook run and exit, widget replacement with parameter-tagged cells, and library install replacement with Fabric Environments. Covers Unity Catalog three-level namespace reduction to Lakehouse two-level schemas, DBFS path conversion to OneLake, Databricks Jobs to Spark Job Definitions, MLflow tracking URI removal, and Photon to Native Execution Engine substitution. Use when the user wants to: (1) replace dbutils with notebookutils, (2) collapse Unity Catalog namespaces to Lakehouse schemas, (3) convert Databricks Jobs or Delta Live Tables. Triggers: \"migrate from databricks\", \"databricks to fabric\", \"dbutils to notebookutils\", \"dbutils fabric\", \"unity catalog migration\", \"dbfs to onelake\", \"databricks notebook migration\", \"delta live tables fabric\", \"photon native execution\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[15114,15115,15118,15119,15120,15123],{"name":13,"slug":14,"type":15},{"name":15116,"slug":15117,"type":15},"Databricks","databricks",{"name":9,"slug":8,"type":15},{"name":26,"slug":27,"type":15},{"name":15121,"slug":15122,"type":15},"Migration","migration",{"name":15124,"slug":15125,"type":15},"Notebooks","notebooks","2026-07-24T05:41:22.914341",{"slug":4,"name":4,"fn":5,"description":6,"org":15128,"tags":15129,"stars":28,"repoUrl":29,"updatedAt":30},{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[15130,15131,15132,15133,15134],{"name":20,"slug":21,"type":15},{"name":13,"slug":14,"type":15},{"name":17,"slug":18,"type":15},{"name":26,"slug":27,"type":15},{"name":23,"slug":24,"type":15},{"slug":15136,"name":15136,"fn":15137,"description":15138,"org":15139,"tags":15140,"stars":28,"repoUrl":29,"updatedAt":15150},"e2e-medallion-architecture","implement Medallion Architecture in Microsoft Fabric","Plan and implement end-to-end Microsoft Fabric data platforms and Medallion Architecture (Bronze\u002FSilver\u002FGold) lakehouse patterns using PySpark, Delta Lake, Lakehouse\u002FWarehouse items, Fabric Pipelines, and semantic-model handoff. Use when the user wants to: (1) design a Bronze\u002FSilver\u002FGold data lakehouse, (2) plan an ingestion-to-semantic-model Fabric data platform, (3) set up multi-layer workspaces with lakehouses for each tier, (4) build ingestion-to-analytics pipelines with data quality enforcement, (5) orchestrate Bronze-to-Silver-to-Gold flows via notebooks. For natural-language business questions over existing Power BI report data, use `fabriciq`. Triggers: \"medallion architecture\", \"bronze silver gold\", \"lakehouse layers\", \"e2e data pipeline\", \"end-to-end lakehouse\", \"data lakehouse pattern\", \"multi-layer lakehouse\", \"build medallion\", \"setup medallion\", \"end-to-end Fabric data platform\", \"bronze silver gold platform\", \"ingestion semantic model platform\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[15141,15144,15145,15146,15147],{"name":15142,"slug":15143,"type":15},"Architecture","architecture",{"name":13,"slug":14,"type":15},{"name":9,"slug":8,"type":15},{"name":26,"slug":27,"type":15},{"name":15148,"slug":15149,"type":15},"PySpark","pyspark","2026-07-31T05:54:57.038396",{"slug":15152,"name":15152,"fn":15153,"description":15154,"org":15155,"tags":15156,"stars":28,"repoUrl":29,"updatedAt":15164},"eventhouse-authoring-cli","manage Fabric Eventhouse and KQL databases","Execute KQL management commands (table management, ingestion, policies, functions, materialized views) against Fabric Eventhouse and KQL Databases via CLI. Use when the user wants to:\n  1. Create or alter KQL tables, columns, or functions\n  2. Ingest data into an Eventhouse (inline, from storage, streaming)\n  3. Configure retention, caching, or partitioning policies\n  4. Create or manage materialized views and update policies\n  5. Manage data mappings for ingestion pipelines\n  6. Deploy KQL schema via scripts\nTriggers: \"create kql table\", \"kql ingestion\", \"ingest into eventhouse\", \"kql function\", \"materialized view\", \"kql retention policy\", \"eventhouse schema\", \"kql authoring\", \"create eventhouse table\", \"kql mapping\"\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[15157,15158,15161,15162,15163],{"name":15060,"slug":15061,"type":15},{"name":15159,"slug":15160,"type":15},"KQL","kql",{"name":9,"slug":8,"type":15},{"name":26,"slug":27,"type":15},{"name":15105,"slug":15106,"type":15},"2026-04-06T18:36:51.340409",{"slug":15166,"name":15166,"fn":15167,"description":15168,"org":15169,"tags":15170,"stars":28,"repoUrl":29,"updatedAt":15178},"eventhouse-consumption-cli","query Fabric Eventhouse with KQL","Run KQL queries against Fabric Eventhouse for real-time intelligence and time-series analytics using `az rest` against the Kusto REST API. Covers KQL operators (where, summarize, join, render), Eventhouse schema discovery (.show tables), time-series patterns with bin(), and ingestion monitoring. Use when the user wants to:\n  1. Run read-only KQL queries against an Eventhouse or KQL Database\n  2. Discover Eventhouse table schema and metadata\n  3. Analyse real-time or time-series data with KQL operators\n  4. Monitor ingestion health and active KQL queries\n  5. Export KQL results to JSON\nTriggers: \"kql query\", \"kusto query\", \"eventhouse query\", \"kql database\", \"real-time intelligence\", \"time-series kql\", \"query eventhouse\", \"explore eventhouse\", \"show tables kql\"\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[15171,15172,15173,15174,15175],{"name":14950,"slug":14951,"type":15},{"name":15159,"slug":15160,"type":15},{"name":9,"slug":8,"type":15},{"name":26,"slug":27,"type":15},{"name":15176,"slug":15177,"type":15},"Real-Time Intelligence","real-time-intelligence","2026-04-06T18:36:45.018807",{"slug":15180,"name":15180,"fn":15181,"description":15182,"org":15183,"tags":15184,"stars":28,"repoUrl":29,"updatedAt":15189},"eventstream-consumption-cli","monitor Fabric Eventstream ingestion pipelines","List, inspect, and monitor Fabric Eventstream real-time ingestion pipelines via the Items REST API. Discover Eventstreams across workspaces, decode base64 graph topologies tracing event flow from source through operators to destination nodes. Validate connection IDs, wiring, retention policies (1-90 days), and throughput levels. Retrieve Custom Endpoint Kafka credentials via Topology API. **Invoke this skill** to: (1) list Eventstreams, (2) inspect Eventstream topology showing sources and destinations, (3) validate Eventstream configurations, (4) check Eventstream retention policy and throughput level, (5) get connection strings. Triggers: \"list eventstreams\", \"inspect eventstream\", \"describe eventstream topology\", \"eventstream operator nodes\", \"eventstream sources and destinations\", \"eventstream health\", \"eventstream status\", \"eventstream configuration\", \"eventstream retention\", \"eventstream throughput level\", \"eventstream connection string\", \"custom endpoint credentials\", \"check eventstream\".\n",{"slug":8,"name":9,"logoUrl":10,"githubOrg":8},[15185,15186,15187,15188],{"name":20,"slug":21,"type":15},{"name":13,"slug":14,"type":15},{"name":26,"slug":27,"type":15},{"name":14961,"slug":14962,"type":15},"2026-07-31T05:55:03.045486"]