CueFrame
Server Details
Compose, edit and render video with your AI agent. Turn footage into finished edits with content-aware reframing, word-timed captions and motion graphics. Hosted MCP with OAuth sign-in; cloud processing uses credits.
- Status
- Healthy
- Uptime
- 29.9% over 81 days
- OAuth
- Works in Glama
- Last Tested
- Transport
- Streamable HTTP · MCP 2025-11-25
- URL
- Repository
- cueframe-ai/cueframe-mcp
- GitHub Stars
- 0
- ChatGPT
- –
- Claude
- –
TDQS
Scored across 107 tools
The set contains several parallel families that an agent must read carefully to separate: two briefing/authoring stacks (create_brief/apply_composition vs editorial_create_brief/editorial_apply/editorial_integrate), four preview tools (preview_card, preview_clip, preview_component, preview_frame), four cancel tools, and a registry trio (search_registry_items, get_registry_item, acquire_registry_item, refresh_registry_snapshot). Individual descriptions do disambiguate and even cross-reference each other, but at 107 tools with overlapping verbs the selection risk is real. Boundaries are documented rather than self-evident.
Most names follow snake_case verb_noun (create_project, list_media, delete_webhook), but the set mixes conventions: editorial_* namespaced duplicates of core tools, new_composition instead of create_composition, bare verbs (consult, compose, resume), and asymmetric phrasing (score_composition vs validate_composition vs compare_frames). Readable, but not one predictable pattern.
107 tools for a video composition/rendering server is an extreme surface that forces choice overload and inflates every agent turn before a single edit. Entire sub-domains (registry acquisition, editorial runs, billing, checkpoints, critics, taste, template packages) crowd the core compose/render path.
Coverage is unusually broad: full lifecycles for projects, compositions, briefs, media, renders, webhooks, templates, critics, editorial runs, plus billing and account tools. Gaps are minor but present — no get_project or get_media-by-id reader, no delete_component/delete_template/delete_brand_kit, and no update_media.
Available Tools
107 toolsacquire_registry_itemAcquire Registry ItemAInspect
Explicitly acquire a selected external candidate through the pinned maintained installer in disposable staging. Pass body:{snapshot,name,expectedManifestSha256,variables,commandId}; native author sessions supply their replay-stable top-level commandId automatically through the existing adapter. Keep the snapshot and manifest digest exactly as observed. The response owns immutable original/transformed bytes and dependency/installer provenance; it does not execute source, convert arbitrary HTML or mark it CueFrame compatible. Inspect the receipt with get_registry_acquisition, then author through existing admitted component/template operations with the acquisition receipt ancestry. Changed source versions remain provenance-pending until exact adaptation bytes are captured. Never force-overwrite authored work or use an upstream preview as a CueFrame preview.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. |
Output Schema
| Name | Required | Description |
|---|---|---|
| warnings | No | |
| candidate | No | |
| commandId | No | |
| receiptRef | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations: disposable staging, immutable original/transformed bytes with dependency/installer provenance, explicit non-actions ('does not execute source, convert arbitrary HTML or mark it CueFrame compatible'), and the 'never force-overwrite authored work' safety rule. The commandId retry-identity note nuances idempotentHint=false rather than contradicting it, since dedupe only applies to a repeated identical commandId.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded and every sentence is topical, but the prose is dense and jargon-heavy across roughly eight clauses, with some material (e.g., 'Changed source versions remain provenance-pending until exact adaptation bytes are captured') that reads as implementation trivia an agent must parse to extract the actionable rules.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the description still covers what the receipt owns and the follow-up inspection step. For a nested-object, open-world mutation the main residual gap is the lack of explicit routing against the sibling search/select/get tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 50% schema coverage, the description compensates by enumerating the body fields and giving real semantics: 'Keep the snapshot and manifest digest exactly as observed' and 'native author sessions supply their replay-stable top-level commandId automatically.' The 'variables' object remains opaque, but the schema explicitly delegates it to describe_tool_input.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('acquire a selected external candidate') and pins the mechanism ('pinned maintained installer in disposable staging'), which separates it from get_registry_item and search_registry_items. It never explicitly names a sibling, but the acquisition framing makes the operation distinct.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives sequencing ('Inspect the receipt with get_registry_acquisition, then author through existing admitted component/template operations'), which implies use after selection and before authoring. It never says when NOT to use it or how it differs from select_candidate / get_registry_item, so the selection logic is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apply_compositionApply CompositionAInspect
Atomically apply an array of CompositionOps to a project composition. All ops succeed or none do (transactional). Call describe_composition_ops without type for the compact operation list, then with a type for its exact JSON Schema. For negotiated component execution, read get_composition with componentExecutionVersions=["3","4"] and includeDependencies="true", then send componentExecutionVersions:[3,4] and that exact expectedBrandIdentity. A changed brand refuses the command; never refresh the witness to conceal a conflict. Explicit builtinSources selectors attach only the approved exact source pins referenced by the final composition. The additive concurrency envelope requires an endpoint confirmed to enforce guardedCompositionV1; unsupported hosted endpoints refuse it with unsupported_concurrency. Obtain dependency expectations from the observed composition; never rebuild a stale basis from current state. Every committing call REQUIRES if_match, the composition ETag from a fresh get_composition, or the concurrency envelope; a call with neither is refused with 428 precondition_required. On 409 stale_etag, read get_composition again and reconsider the batch against what changed; never copy the error's currentEtag into a retry without that read. dry_run: true validates without persisting. For negotiated component execution, EVERY dry-run and commit must still carry the observed composition_id, concurrency:{mode:"exact",expectedRevision:<observed project revision>} (or supported guarded dependency expectations), componentExecutionVersions and exact expectedBrandIdentity; retain the observed if_match too. Only non-negotiated legacy dry-runs may omit revision preconditions. Ops land on the project's ACTIVE composition unless you pass composition_id (mutually exclusive with session_id), which targets a specific one — that is how you author a second composition minted with new_composition and run an A/B. Use this to seed a composition (add media clips) or make targeted edits (set a crop intent, reorder clips, set the format). CAPTIONS FOR EDITED TIMELINES: after saving all clip edits, call again with {type:"captions.fromComposition", trackId} to build captions from every audible clip on that track, honoring trims, exclusions and placement. Clips must have duration matching playable source duration divided by playbackRate; unsupported timing fails explicitly. Re-run it after later timeline edits; captions do not update automatically. {type:"captions.fromTranscript", mediaId, window?} instead replaces all captions from one media transcript, rebased to zero; it does not follow a montage. Style with {type:"setCaptionStyle", style}; or set explicit words with {type:"setCaptions", segments, style?} (e.g. translations or your own VO timings). Brand is NOT set here — it lives on the project (create_project / update_project with brandKitId — or PATCH /projects/:id over REST). CARDS: a {kind:"card", html, tokens} clip projects each tokens KEY x to the CSS custom property --cf-x, so the html must read it as var(--cf-x) — write tokens:{"plate":"#0af"} + background:var(--cf-plate). Do NOT put dashes in the key: "--plate" becomes --cf---plate and your var(--plate) then resolves to NOTHING, which CSS silently degrades to a transparent background and black text. Responses carry warnings[] when a card reads a var nothing defines. SCENE SHOTS: for a 3D product shot — a tilted page screenshot, a lit laptop/phone showing a real screenshot, two-colour type, a colour-field backdrop, focus/grain/vignette and a camera move — use {type:"scene.add", clipId, newTrack|trackId, startTime, duration, scene, assets} and revise it with {type:"scene.update", clipId, scene?, assets?, startTime?, duration?}. You author a scene SPEC, never wrapper TSX; the server registers the component for you. There is NO built-in scene primitive in list_catalog — READ cueframe://scene-shot first for the JSON schema, the canonical V2 world-objects recipe with nested groups, slabs, pages, phones, laptops, world/screen text, admitted surfaces, camera motion, lighting, and the current resource limits.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | POST /projects/:id/composition/apply body — a batch of CompositionOps. | |
| response | No | MCP response view. Default compact omits repeated source bodies. Full returns the complete backend receipt or requested sources. This does not change the saved composition. | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. | |
| projectId | Yes | projectId (path). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnly=false, idempotent=false, destructive=false; the description adds the substance: all-or-nothing semantics, 428 precondition_required, 409 stale_etag recovery procedure ('never copy the error's currentEtag'), brand-drift refusal, unsupported_concurrency on non-guarded endpoints, dry_run validation-only behavior, and that captions do not auto-update after edits. This is behavior no annotation or schema field conveys.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The content is valuable but heavily bloated and repetitive: the negotiated-execution rule is stated twice, if_match/precondition requirements are restated three times, and the card-token warning runs several sentences. Section headers ('CAPTIONS FOR EDITED TIMELINES:', 'CARDS:', 'SCENE SHOTS:') help, but a multi-screen wall of prose for a 4-param tool buries the two or three facts most calls need.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a high-complexity, deeply nested batch-mutation tool with an output schema present, the description covers preconditions, failure modes, dry-run, target selection, and the major op families (captions, cards, scene), and points to cueframe://scene-shot for the one area it deliberately does not inline. Nothing an agent needs to call it safely is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 100%, but the description adds inter-parameter semantics the schema cannot express: composition_id is mutually exclusive with session_id and targets a non-active composition, componentExecutionVersions must be paired with the exact observed expectedBrandIdentity, builtinSources pins must be referenced by the final composition, and concurrency requires a guardedCompositionV1-capable endpoint. These relational constraints go well beyond per-field descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb+resource+unit of work: 'Atomically apply an array of CompositionOps to a project composition,' immediately qualified as transactional. That distinguishes it from validate_composition (non-persisting check), derive_composition and new_composition (creation), and get_composition (read) without the agent needing to open a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit routing: call describe_composition_ops for the op list/schema, get_composition with componentExecutionVersions for the negotiated path, new_composition then composition_id for A/B variants, and explicitly excludes brand work ('Brand is NOT set here — it lives on the project'). It also states when-not: committing calls with neither if_match nor concurrency are refused with 428, and only legacy dry-runs may omit preconditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
apply_templateApply TemplateAInspect
Insert a resolved builtin component package into an existing project. Pass template as the selected builtin id and body with projectId, the resolved documentSha256, insert:{startTime,idPrefix}, parameter values and explicit media bindings. Read get_composition first and retain expectedRevision, commandId, componentExecutionVersions:[3,4] and expectedBrandIdentity as required by the contract. Insertion preserves existing timeline content and package source offsets. Select pinned samples explicitly with media:{slot:{sample:true}}, or bind real media IDs. Missing required media is refused; samples are never selected implicitly. A stale revision, pin or brand refuses; do not silently refresh the witness. For ordinary templates, this operation retains its existing apply behavior.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| template | Yes | template (path). | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. |
Output Schema
| Name | Required | Description |
|---|---|---|
| etag | No | |
| version | No | |
| projectId | No | |
| versionId | No | |
| components | No | |
| templateId | No | |
| compositionId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Well beyond the annotations, the description discloses preservation semantics ('preserves existing timeline content and package source offsets'), refusal conditions (missing media, stale revision, stale pin, brand mismatch), and the no-silent-witness-refresh rule. The mutation is non-destructive by design and the description explains why, consistent with destructiveHint=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded and information-dense, but it is packed with unexplained jargon ('witness', 'package source offsets', 'pin') and the final sentence — 'For ordinary templates, this operation retains its existing apply behavior' — is near-vacuous and adds ambiguity rather than information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating tool with an output schema (so return values need no explanation) and only thin annotations, the description covers prerequisites, refusal behavior, and binding semantics adequately. Remaining gaps are the unexplained 'preset'/'brandKitId' parameters and the absence of any degraded-recovery path when a refusal occurs.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%, and the description compensates on the parts the schema cannot convey: it maps 'template' to the selected builtin id, spells out the required body fields, disambiguates the cryptic componentExecutionVersions consts as [3,4], and explains the two media binding modes. It omits any explanation of 'preset' and 'brandKitId', and does not mention the url media variant the schema permits.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence gives a specific verb and resource — 'Insert a resolved builtin component package into an existing project' — and 'resolved' usefully signals the dependency on resolve_builtin_component. It stops short of differentiating this from close siblings like apply_composition or start_template, and the closing line about 'ordinary templates... existing apply behavior' blurs the boundary rather than sharpening it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explicitly imposes a prerequisite workflow ('Read get_composition first and retain expectedRevision, commandId, componentExecutionVersions:[3,4] and expectedBrandIdentity') and states selection rules for media bindings. It lacks an explicit 'use this instead of X' routing statement against apply_composition/start_template, which keeps it from a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancel_composeCancel ComposeAIdempotentInspect
Cancel an in-flight compose job (stop a runaway/mis-priced ensemble). Needs projectId + composeJobId (from compose). The director cancel is confirmed before the row flips; any linked charge is released. No-op-reject (422) if already terminal.
| Name | Required | Description | Default |
|---|---|---|---|
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. | |
| projectId | Yes | projectId (path). | |
| composeJobId | Yes | composeJobId (path). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly=false, destructive=false, idempotent=true, so the safety profile is covered. The description adds real value beyond that: the director cancel is confirmed before the row flips, linked charges are released, and an already-terminal job returns 422 rather than silently succeeding — behavior an agent could not infer from annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four short sentences, front-loaded with the action and the motivating scenario, then prerequisites, then side effects, then the failure mode. Nothing is redundant with the schema or the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a cancel mutation with no output schema, the description covers prerequisites, side effects (charge release), and the terminal-state error. It does not say what state the job ends in or how to confirm the cancellation afterward, a minor gap given there is no return-value documentation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds provenance the schema lacks ('composeJobId from compose'), which directly helps an agent source the required ID. commandId's retry semantics are left entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Cancel an in-flight compose job') and glosses the intent ('stop a runaway/mis-priced ensemble'). The resource is unambiguous against siblings like cancel_export, cancel_render, and cancel_job, which operate on different object types.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear use condition (stopping a runaway or mis-priced job) and notes the terminal-state case that will be rejected with 422. It stops short of naming an explicit alternative or explaining what to do instead when the job is already terminal, so it falls short of a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancel_exportCancel ExportAIdempotentInspect
Cancel an in-flight NLE export (fcpxml/premiere). Needs projectId + exportId (from the export enqueue). No-op-reject (422) if already terminal.
| Name | Required | Description | Default |
|---|---|---|---|
| exportId | Yes | exportId (path). | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. | |
| projectId | Yes | projectId (path). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover safety (non-read-only, non-destructive, idempotent), but the description adds the terminal-state 422 rejection, which is behavior not encoded anywhere in the structured fields. It omits what a successful cancel returns, though with no output schema that is a small gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short clauses, no filler: action+scope first, required inputs second, failure mode last. Every sentence carries information the agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a low-complexity, 3-parameter mutation tool with a fully-described schema and no output schema, this covers the action, prerequisites, and the one surprising error case. Only the success response shape is unaddressed, which is minor here.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description goes slightly beyond by naming exactly which two ids are required and where exportId comes from ('from the export enqueue'), giving the agent provenance the bare 'exportId (path)' schema description lacks.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: 'Cancel an in-flight NLE export (fcpxml/premiere)'. The scope qualifier 'in-flight' and the format parenthetical distinguish it from the many sibling cancel_* tools (cancel_compose, cancel_job, cancel_render) without the agent opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The 'in-flight' qualifier plus 'No-op-reject (422) if already terminal' tells the agent the precondition for calling and what happens if it guesses wrong. It does not explicitly point at the sibling alternatives (cancel_render vs cancel_job), so the routing is inferred rather than stated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancel_jobCancel JobAIdempotentInspect
Cancel a running async job (verify / preview / brand-kit-extract) returned by an enqueue call — abort a mis-priced job instead of waiting out its TTL. For box-backed jobs the warm box is reaped best-effort; cancel never meters. No-op-reject (422) if already terminal.
| Name | Required | Description | Default |
|---|---|---|---|
| jobId | Yes | jobId (path). | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations: discloses billing behavior ('cancel never meters'), side effects on infrastructure ('warm box is reaped best-effort'), and the exact failure mode with status code ('422 if already terminal'). This is exactly the context the idempotentHint/destructiveHint flags cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, zero filler, with the core action and job types front-loaded before the billing and error semantics. Every clause contributes new information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers the mutation's side effects, billing and error behavior, which is more than enough for a two-parameter tool with full schema coverage. The only gap is that no output schema exists and the description does not say what a successful cancel returns.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and commandId already carries a clear retry-identity explanation, so the structured data does the heavy lifting. The description adds no argument-level detail such as where to obtain jobId or how commandId interacts with cancellation, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Cancel a running async job') and enumerates exactly which job kinds qualify (verify / preview / brand-kit-extract) while anchoring the resource to 'returned by an enqueue call'. An agent can distinguish this from wait_job purely from the description.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a concrete when-to-use motive ('abort a mis-priced job instead of waiting out its TTL') and a when-not condition ('No-op-reject (422) if already terminal'). It implies the alternative (wait_job) through 'instead of waiting out its TTL' but never names it, so routing is slightly inferential.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
cancel_renderCancel RenderAIdempotentInspect
Cancel an in-flight render (stop a runaway/queued job). Needs projectId + renderId (from create_render). No-op if already terminal.
| Name | Required | Description | Default |
|---|---|---|---|
| renderId | Yes | renderId (path). | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. | |
| projectId | Yes | projectId (path). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare idempotentHint=true and destructiveHint=false, so the bar is lower; the description still adds real context by explaining that terminal-state calls are a no-op and by naming the origin of renderId. It stops short of saying what the render's resulting state or artifacts look like after cancellation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action, then prerequisites, then the edge-case behavior. No filler or restatement of the tool name.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter, no-output-schema cancellation tool with rich annotations, the description covers action, required inputs, provenance, and terminal-state behavior. Nothing an agent needs in order to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so both required params and commandId are already documented in the schema. The description adds only the provenance note that renderId comes from create_render, and says nothing about commandId's retry semantics — baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Cancel an in-flight render') plus the scope of what qualifies (runaway/queued job). The resource noun 'render' implicitly separates it from cancel_compose, cancel_export, and cancel_job, though no sibling is named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Cancel an in-flight render (stop a runaway/queued job)' gives a clear condition for use, and 'No-op if already terminal' tells the agent it is safe to call without first checking state. It does not, however, mention alternatives such as retry_render for jobs that failed rather than need stopping.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
compare_framesCompare FramesARead-onlyIdempotentInspect
Compare a certified reference frame with an existing full-resolution PNG preview. Returns unaligned side-by-side and overlay images with exact source identities. Read editorial_run_source for the reference identity and preview_frame then wait_job for the candidate artifact. This call never rerenders or edits the composition. Frame numbers refer to the certified representation; use explicit event correspondence after intentional retiming. Optional views and identical-coordinate crop change only diagnostic evidence.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| projectId | Yes | projectId (path). |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only, idempotent, non-destructive, closed-world, and the description reinforces this by ruling out rerender/edit side effects. It adds that outputs are unaligned and that views/crop affect only diagnostic evidence, not the underlying composition. It does not cover failure modes (e.g., mismatched resolutions or stale identities), which keeps it below a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Five tight sentences with the core action and return shape front-loaded, followed by prerequisites and caveats. Dense terminology ('certified representation', 'explicit event correspondence') costs some readability but no sentence is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a nested-object comparison tool with an output schema (so return values needn't be spelled out), the description covers inputs' provenance, side-effect guarantees, and the retiming caveat. The main remaining gap is what the caller should do when comparison preconditions fail.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 50% schema description coverage and nested objects, the description does real work: it tells the agent where reference.mediaItemId/representationIdentity and candidate.jobId/artifactId come from, and clarifies that views are optional and that crop uses identical coordinates across both frames. It still leaves the required/optional status of views and the crop bounds implicit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and two specific resources (a certified reference frame vs. an existing full-resolution PNG preview) and names the exact output artifacts. It is clearly distinguishable from preview_frame (which produces the candidate) and editorial_run_source (which supplies the reference identity).
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit prerequisite chain: read editorial_run_source for the reference identity, then preview_frame + wait_job for the candidate artifact. It also states the exclusion ('never rerenders or edits the composition') and the retiming caveat that selects a different correspondence strategy.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
composeComposeAInspect
Start an async Director compose job: it authors an ensemble of full composition candidates, verifies each, and saves the winner to the project. Body must set EXACTLY ONE source (mutually exclusive): briefId — author FROM a persisted Brief (the PLANNED path: create_brief first; every Brief field is honored or the compose is refused loudly naming the field); fromComposition: true — author from the project's CURRENT composition (the GENERAL path: seed it with apply_composition first — your media clips are the intent, and any graphics you authored are CARRIED VERBATIM as locked clips the Director authors around, never re-authors or drops); or suggestionId — author from an AI clip suggestion (the CLIPPING path, paired with suggest_briefs). Returns { composeJobId, status, streamUrl }. Then call wait_job(kind="compose", id=composeJobId, projectId=...) to block until the winner is selected.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | POST /projects/:id/compose body. | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. | |
| projectId | Yes | projectId (path). |
Output Schema
| Name | Required | Description |
|---|---|---|
| status | No | queued = normal; failed = startup failed and the job is already terminal (the SSE stream will emit a single `job_failed` frame and close). |
| projectId | No | |
| streamUrl | No | Relative SSE endpoint to stream this job's events (per compose-api-contract.md). |
| composeJobId | No | Opaque compose job id; pass to the SSE stream URL. |
| reconciliationRequired | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnly=false, destructive=false, idempotent=false, openWorld=false; the description adds the async-job model, ensemble verification, the refusal-loudly behavior, and the returned { composeJobId, status, streamUrl }. However, its claim that fromComposition carries authored graphics 'VERBATIM as locked clips ... never re-authors or drops' conflicts with the schema's statement that client-authored graphic clips cause a validation_error refusal (only the Director's own critique-retry output is exempt), which could lead an agent into a guaranteed failure.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and the return/follow-up contract, with no filler sentences. It is dense and heavily parenthesized — the three source paths in one long sentence with backticked labels — which is efficient but slightly harder to scan than a bulleted breakdown would be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, yet the description still names the returned fields and the blocking follow-up, and annotations plus schema cover the remaining safety/budget/hold semantics. The one substantive hole is the missing caveat that fromComposition is refused for client-authored graphic clips, which is exactly the kind of failure mode a caller needs pre-warned.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description earns above that by giving the source-selection semantics and the exact mutual-exclusivity rule ('EXACTLY ONE source'), which is the highest-risk parameter decision. Other body fields (maxCandidates, holdAt, critique, budgetUsd, qualityThreshold, seed, clientNonce) are left entirely to the schema, so it is not exhaustive.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Start an async Director compose job') and immediately explains the pipeline: authors an ensemble of candidates, verifies each, saves the winner. It also distinguishes itself from siblings by naming apply_composition, create_brief, suggest_briefs and wait_job as the surrounding steps.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly enumerates the three mutually exclusive entry paths and their prerequisites: briefId requires create_brief first (PLANNED), fromComposition requires apply_composition first (GENERAL), suggestionId pairs with suggest_briefs (CLIPPING). It also gives the mandatory follow-up (wait_job with kind="compose"), so an agent knows both when to call it and what to do next.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
consultConsultAInspect
Ask the Director for editing advice on the project's CURRENT composition — it NEVER writes your composition (you stay the decider). Async: returns a consultJobId; then wait_job(kind="consult", id=consultJobId, projectId=...) surfaces the advisory envelope (assessment / proposals / principles / plan). body.mode: 'advise' = the planner agent (fast, ~30s-2min) returns a plan (framing/cuts/captions/graphics intents) as GUIDANCE you re-author from — no grounded scores, nothing to adopt; 'amend' (default) = the full author→judge→refine loop (minutes) returns a graded assessment + a fix candidate you ADOPT via select_candidate with its candidateIndex. ('explore' is coming soon → use amend.) body.intent = your goal in plain English; optional body.focus (editorial|spatial|brand|caption); body.ifMatch binds to your current etag. Use advise for a fast directional nudge, amend for a grounded, adoptable fix.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | POST /projects/:id/consult body. | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. | |
| projectId | Yes | projectId (path). |
Output Schema
| Name | Required | Description |
|---|---|---|
| status | No | queued = normal; failed = startup failed and the job is already terminal. |
| projectId | No | |
| streamUrl | No | Relative SSE endpoint to stream this job's events. |
| consultJobId | No | Opaque consult job id; poll it for the advisory result. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds substantial beyond-annotation context: async job semantics, a returned consultJobId, per-mode latency estimates (~30s-2min vs minutes), and the etag/409 binding on ifMatch. However, it never reconciles readOnlyHint=false with the framing that the tool 'never writes' — the agent gets the composition-safety story but not an explicit statement that calling consult itself creates a job and consumes compute. Useful context, but the mutation profile is left implicit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded correctly — the purpose and the 'never writes' guarantee come first. But the body is a dense block of parentheticals and backticked mode names that duplicates the schema's enum documentation (mode semantics are explained twice), and the advise/amend distinction is split across two separated sentences rather than stated once. Informative, but over-packed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a tool with a nested body, an output schema, and an async continuation, the description covers the full round trip: intent, mode selection, focus, etag conflict behavior, the job id, and how to poll and adopt the result. Nothing material is missing; commandId retry semantics are already documented in the schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description earns a bump by adding meaning the schema lacks: 'explore is coming soon → use amend' steers the enum choice, and per-mode latency and output shape (plan vs graded assessment + candidateIndex) tell the agent what each mode actually yields. It largely restates intent/focus/ifMatch, however.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb + resource + scope: 'Ask the Director for editing advice on the project's CURRENT composition', and immediately negates the most likely confusion ('it NEVER writes your composition'). That distinguishes it cleanly from apply_composition, compose, and score_composition without requiring the agent to open their schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit routing: use 'advise' for a fast directional nudge, 'amend' for a grounded adoptable fix, and pins 'explore' as unavailable ('coming soon → use amend'). It also names the follow-up call (wait_job with kind="consult") and the adoption path (select_candidate), so the agent knows both when to call this and what to do next.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_brand_kitCreate Brand KitAInspect
Create or UPSERT a brand kit (re-POSTing the same kitId updates it in place — this is also the brand-kit UPDATE path). Sets fonts/colors/logo. This is brand step 0 of the workflow: author the kit, then bind it to a PROJECT so colors/fonts/motion theme the output AUTOMATICALLY — pass its kitId as brandKitId to create_project, or attach it to an existing project via update_project (PATCH /projects/:id over REST). Without a bound kit, create_render produces UNBRANDED output. Tenant-scoped (no project arg).
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | POST /brand-kits body. Org/user are server-resolved; never accepted from the body. | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| logo | No | |
| name | No | |
| audio | No | |
| fonts | No | |
| intro | No | |
| outro | No | |
| colors | No | |
| motifs | No | |
| motion | No | |
| sizing | No | |
| density | No | |
| spacing | No | |
| tagline | No | |
| captions | No | |
| createdAt | No | |
| updatedAt | No | |
| watermark | No | |
| description | No | |
| extraColors | No | |
| inspiration | No | |
| styleRubric | No | |
| exemplarKeys | No | |
| contactSheetKey | No | |
| voiceGuidelines | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond annotations by disclosing upsert semantics (re-POSTing same kitId updates in place), tenant scoping (no project arg), and the cross-tool effect on rendering. There is a mild tension with idempotentHint=false, though that hint concerns environment no-ops while the description describes an in-place update, so it is not a clear contradiction.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with verb+resource, then workflow, then consequences—logical ordering. It's dense with parentheticals and all-caps emphasis that could be tightened, but each sentence carries real information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists, so return values aren't needed. Description covers the important context: upsert behavior, workflow step, binding path, and tenant scoping—enough to call it correctly. It leaves out how the tool relates to extract_brand_kit and the many optional body fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents the body fields; the description only names kitId, fonts, colors, and logo. This adds the meaningful kitId upsert semantic, but says nothing about the many other body fields, so baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource: 'Create or UPSERT a brand kit' and clarifies it also serves as the UPDATE path. Distinctly scoped as the authoring entry point ('brand step 0'). Minor gap: it doesn't disambiguate from the sibling extract_brand_kit, which is another way to obtain a brand kit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly tells the agent when and how to use it: author the kit, then bind it via create_project (kitId as brandKitId) or update_project. It names the concrete alternative consumers and warns that without binding, create_render produces UNBRANDED output. This is exactly the when/alternatives/consequence guidance the dimension wants.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_briefCreate BriefAInspect
Persist the video's INTENT as a Brief — the Director's rich input contract (spec: the storyboard skill's output lands here). Fields: goal (required), audience, platform, format, durationSec, tone, cta, locale (output language — all on-screen copy + captions), hook, caption, beats[] (each with an editorial intent and optional MOMENT PINNING {mediaId, startSec, endSec} — honored to-the-frame or refused), mustIncludes, captions {styleId, emphasisPhrases} (the big-serif emphasis treatment), motionStyle, seededGraphics (your authored overlay/component/card clips, carried VERBATIM as locked clips — never re-authored), exclusions (hard negatives: graphic kinds the Director must NEVER author + 'no-transitions'), gates {holdAt, autoApprove}. Then compose it: compose with {briefId}. The response carries the QUOTE (compose + estimated render) — relay it to your human BEFORE composing.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| cta | No | |
| goal | No | What the video must accomplish. |
| hook | No | |
| kind | No | authored = create_brief; clip = minted by suggest_briefs from an AI clip suggestion. |
| name | No | |
| tone | No | |
| audio | No | |
| beats | No | |
| gates | No | |
| quote | No | |
| format | No | |
| locale | No | Output language (BCP-47 tag, e.g. 'es-419'): ALL on-screen copy + captions. |
| caption | No | |
| audience | No | |
| captions | No | |
| platform | No | |
| createdAt | No | |
| projectId | No | |
| updatedAt | No | |
| exclusions | No | |
| references | No | |
| durationSec | No | Target output duration. HONOR-OR-REFUSE: compose validates it against the beat-source window (±1.5s) and refuses a brief it cannot honor. |
| motionStyle | No | |
| mustIncludes | No | |
| seededGraphics | No | Client-authored graphic clips the Director must carry VERBATIM: seeded into the design loop's base composition as LOCKED clips (never re-authored, never discarded). |
| sourceSuggestionId | No | kind:'clip' provenance — the suggestion this Brief was minted from. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare the safety profile (not read-only, not idempotent, not destructive); the description goes well beyond that. It discloses that seededGraphics are carried VERBATIM as locked clips and never re-authored, that exclusions are hard negatives the Director must never author, that moment pinning is 'honored to-the-frame or refused', and that the response carries a quote which must be relayed before composing. These are non-obvious contract behaviors an agent could not infer from annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose and the compose handoff are front-loaded, which is good, but the middle is a single sprawling field dump with heavy CAPS emphasis and parentheticals that is hard to parse in one pass. Every clause is informative, yet the delivery is less structured than it could be (no grouping, one giant sentence for all fields).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex nested mutation tool this covers the contract well: intent, exclusions, seeded graphics locking, gates, and the mandatory quote relay. An output schema exists so return values needn't be explained, and the description still notes what the response carries. The remaining gap is the unmentioned root-level params (projectId, commandId retry identity) that the description never touches.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With schema coverage at only 50% and several nested objects deferred to describe_tool_input, this description does real compensatory work: it names goal as required, clarifies locale drives ALL on-screen copy + captions, explains beats carry editorial intent plus moment pinning, and defines captions.emphasisPhrases as the big-serif treatment. It omits projectId, commandId, name, references, and audio, so it does not fully close the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb+resource: 'Persist the video's INTENT as a Brief — the Director's rich input contract'. That is far more than a restatement of the name and explains where the artifact comes from (the storyboard skill's output). It does not explicitly differentiate itself from siblings like update_brief, editorial_create_brief, or suggest_briefs, which keeps it at 4.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a concrete next-step workflow: 'Then compose it: compose with {briefId}' and an explicit human-in-the-loop precondition ('relay it to your human BEFORE composing'). That is real usage guidance. What is missing is when NOT to use it — no mention of update_brief for revisions or the editorial_* brief variants.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_checkoutCreate CheckoutAInspect
Top up the CURRENT org's credit wallet. Body { plan: "credit_pack_10"|"credit_pack_30"|"credit_pack_100" } → returns { url }: a hosted Stripe checkout page to open in a browser and confirm payment. There are no subscription tiers — a pack is a one-off top-up, and it is also the only thing that raises the generation (premium_credits) allowance. Always a URL — an existing saved card is NEVER charged silently; the human confirms on Stripe. The org is resolved from your key, never the body. Requires the billing:write scope. Only send a user here when get_account shows the relevant balance at or near zero. Discover the packs with list_plans.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | Hosted Stripe checkout URL to open in a browser to complete payment. Always present on success — an existing saved card is never charged without confirming here. |
| plan | No | |
| interval | No | |
| productId | No | Resolved billing catalog product id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false and destructiveHint=false, but the description adds genuinely new facts: an existing saved card is NEVER charged silently, the human confirms on Stripe, the org is resolved from the API key and not the body, and billing:write scope is required. It stops short of covering idempotency/retry behavior (commandId) even though idempotentHint=false, which is the one behavioral gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core action and return value are front-loaded in the first sentence, and every subsequent sentence adds a real constraint. It is somewhat run-on with several em-dash asides and could be trimmed, but there is no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating, payment-adjacent tool it covers what an agent needs: what is created, that the output is a { url } to hand to a human, that no charge happens server-side, the required scope, and where to look before calling. An output schema exists, so the terse return-value mention is sufficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 50% schema coverage the description must compensate, and it partially does: it enumerates the three plan values and warns that the org is never in the body. But it silently omits the `interval` and `commandId` parameters entirely, and the schema's own `interval` description (monthly/annual, '~2 months free') and `plan` description ('Plan tier to subscribe to') actively conflict with the description's insistence that no subscription exists.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Top up the CURRENT org's credit wallet') and immediately clarifies the concept against the nearest confusion ('There are no subscription tiers — a pack is a one-off top-up'), which no sibling tool covers. An agent can distinguish this from get_account, get_usage, and list_plans without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly gates invocation: 'Only send a user here when get_account shows the relevant `balance` at or near zero' and routes discovery to 'list_plans'. That is a when-to-use, a when-not-to-use, and named alternatives in one place — the highest bar.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_componentCreate ComponentAInspect
Create and store a custom component for the tenant: a native scene that arranges its declared images and videos as tiles in 3D space. Returns the ComponentResponse (id + metadata) you can then reference from a composition. No project arg — components are tenant-scoped. SOURCE CONTRACT (version 4; the server instructions' Component Contract has the full rules and an example): send the complete source object {version:4, componentId, template, manifest, definition}. template is one sub-composition: a root holding , and one inline script ending in __cfScene.mount({ root: document.getElementById('root'), component, variables: __hyperframes.getVariables() }). data-composition-variables is the definition's projection (scalar inputSchema properties, then manifest slots). The manifest is {version:4, runtime:'hyperframes', hfContract:1, kind:'scene', assets, graphics:{api:'webgl2',…}, alphaPolicy}; slots are image or video. The source is admitted before it is stored: template lint, determinism (no timers, Date, network or CSS animation) and the declaration are checked, and a refusal names the rule. A version-3 source is retired and refused as component_source_retired. Place it with execution {version:4, componentId, sourceVersionId, params, seed, assets:{ slot: mediaId }} and placement {version:3, kind:'clip'}; slots never travel in params.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | POST /components body. Org/user are server-resolved; never accepted from the body. | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | The entry's id: a `primitiveId` for a built-in, a `componentId` for an installed component. |
| kind | No | RENDER kind (component | transition | scene). NOT the ClipSource variant — see `placement` for how to author it on the timeline. |
| mood | No | Vibe/tone tags (e.g. 'cinematic', 'minimal'). Filter to match the edit's mood. |
| name | No | |
| tags | No | Free-text search keywords. |
| tier | No | Quality/applicability RANKING (a preference, not a flag). Prefer 'recommended'; reach for 'niche' only when its specific use-case is exactly the beat. |
| format | No | |
| intent | No | Selection signal: a verb naming what this primitive accomplishes (e.g. 'product-trailer'). Match it to the beat you are authoring. |
| origin | No | |
| source | No | 'default' = built-in primitive (place by primitiveId); 'installed' = org-authored component (place by componentId). |
| tokens | No | |
| useCase | No | The edit ROLE(s) this primitive fills — the dimension to filter by for a beat (e.g. 'intro', 'title-over-footage', 'grade'). |
| useWhen | No | When to use this — AND when not to. The negative guidance is load-bearing; read it before picking. |
| version | No | The ENTRY's version: a semver string ('0.0.0' until an authored component is versioned). Distinct from `manifest.version`, which is the runtime contract version (4 native, 2 retired TSX). |
| category | No | |
| examples | No | Usage examples, as authored. A built-in primitive projects {name, mood?, params?, description?}; an authored component's examples are whatever it wrote, which is why the item is open. One shape for both directions: what you write here is what you read back. |
| manifest | No | |
| warnings | No | Non-blocking save-time advisories — the create/update SUCCEEDED. Currently: a `fontFamily` string literal referencing a NON-vendored font (a bare CSS generic like 'serif', or an unknown named family like 'Arial') whose LIVE-lane pixels vary by render host — re-author with a vendored family or 'Georgia'. Omitted when there is nothing to flag; only present on the create/update responses. |
| avoidWith | No | Authoring guidance: ids of primitives that CONFLICT with this one — do not place together. |
| fixedCopy | No | On-screen strings this primitive BAKES — the read-side counterpart to propSchema. These literals render REGARDLESS of params (no param can change them); fork the source via get_component_source to edit them. Use this to see at author time what fixed copy (someone-else's marketing text, faux-code, faux-data) will appear before you render. |
| pairsWith | No | Authoring guidance: ids of primitives that COMPOSE well with this one in the same edit. |
| placement | No | |
| textParam | No | The param field that carries this primitive's primary text; null = no single text slot. |
| propSchema | No | |
| description | No | |
| ejectedFrom | No | |
| propDefaults | No | |
| subtextParam | No | The param field for secondary text (subtitle/byline); null = none. |
| brandBindings | No | Params that can follow the project brand kit. Each {param, brandToken} says: set `param` to `brandToken` (a `$brand:` ref, e.g. '$brand:colors.accent') to track the brand instead of a literal. See the list response's `brandTokens` for the full ref vocabulary. Omitted when nothing is brand-bound. |
| durationInFrames | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well past the annotations: it discloses that the source is admitted before storage (template lint, determinism rules banning timers/Date/network/CSS animation, declaration checks), that refusals name the violated rule, that version-3 sources are rejected as component_source_retired, and that the response is ComponentResponse (id + metadata). Annotations only say non-read-only/non-destructive/non-idempotent; the description supplies the mutation's actual risk profile and failure modes.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded correctly — the tool's purpose is the first clause — but the rest is a single dense block of jargon-heavy prose with no line breaks or bullet structure, forcing the reader to parse a schema contract inline. For this complexity some length is warranted, yet the informativity-per-sentence varies and the pointer to "the server instructions' Component Contract" partially duplicates what is restated here.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description needn't explain return shape, and it correctly limits itself to id+metadata context. It covers the admission pipeline, versioning, scoping, and placement contract. It omits what happens on a duplicate or colliding componentId (create vs. overwrite, conflict status), which is the main remaining gap for a create operation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description earns more: the `source` field is opaque in the schema (just a pointer to describe_tool_input with required keys), and the description spells out the four sub-objects, the required template DOM skeleton, the __cfScene.mount call, the data-composition-variables projection rule, the manifest fields, and the slot constraint ("slots never travel in params"). That is meaning the schema does not carry.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
A concrete verb+resource ("Create and store a custom component for the tenant") plus a one-line explanation of what a component actually is (a native 3D scene tiling declared media). The tenant-scoping note ("No project arg") narrows scope, but no sibling is named, so a caller has to infer the boundary with update_component, preview_component, and resolve_builtin_component.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description lays out the downstream workflow explicitly — the returned ComponentResponse id is referenced from a composition, and placement uses execution {version:4,...} plus placement {version:3, kind:'clip'}. It never states when NOT to use this tool or which sibling to pick instead (e.g. preview_component before creating, update_component for edits), so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_projectCreate ProjectAInspect
Create a new project — the unit you compose and render into. compose / apply_composition / create_render / the preview family all require a projectId; this mints one. Pass name (required) plus optionally a format (aspectRatio/fps/resolution) and brandKitId. brandKitId binds a brand kit to the PROJECT (pass the kitId from create_brand_kit): colors/fonts/motion theme every render of this project automatically (omit it and the output is unbranded). Bind or change it later via update_project (PATCH /projects/:id over REST). Returns the ProjectResponse (id + metadata).
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | POST /projects body. | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| format | No | |
| webUrl | No | A browser URL that opens THIS project, or null when CueFrame exposes no web view for a project. Null today: the console serves account surfaces (keys, usage, billing) and has no per-project page, so there is no link to give. Do NOT synthesise one — a guessed console path 404s. Show the user rendered output (create_render → outputUrl) or a preview still instead. This field becoming non-null is the signal that a real project view exists. |
| createdAt | No | |
| brandKitId | No | |
| lastRender | No | Most recent render for a project, if any. |
| composition | No | Summary of a project's stored composition. |
| description | No | |
| activeCompositionId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (readOnlyHint=false, destructiveHint=false, openWorldHint=false, idempotentHint=false). The description adds genuinely useful behavior — brandKitId propagates colors/fonts/motion theme to every render of the project, and omitting it yields unbranded output — plus the return type. However, it is silent on the deprecated width/height fields and on what happens if format conflicts with them, which is the main behavioral risk here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, then prerequisite role, then parameters, then return value — a sensible order with no filler sentences. The parenthetical '(PATCH /projects/:id over REST)' is slightly extraneous transport detail for an MCP caller, but it does not obscure the guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and the description still names ProjectResponse (id + metadata), so return semantics are covered; creation effects and the brand-kit binding are explained. The remaining gap is the undocumented deprecated width/height pair, which an agent could plausibly pick from the schema without knowing the description's preferred format object.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents both top-level parameters and the nested format object; baseline is 3. The description does add real value for brandKitId by tying it to create_brand_kit's kitId and spelling out the consequence of omission, but it never mentions the deprecated width/height fields or the free-form description field.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Create a new project') and immediately defines what a project is ('the unit you compose and render into'), which distinguishes it from compose, create_render, and the preview siblings that consume a projectId rather than mint one.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly names the tools that require a projectId (compose / apply_composition / create_render / the preview family) and states this tool mints one, so the prerequisite relationship is unambiguous. It also routes the agent to update_project for later brand-kit changes, covering the obvious follow-up case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_renderCreate RenderAInspect
Queue an MP4 render of a project's composition (in a compose session, the session's scratch). Returns { id (renderId), status, warnings? } — warnings[] carries non-fatal advisories (omitted when none). The render themes from the project's brand kit (bind one via create_project / update_project with brandKitId — or PATCH /projects/:id over REST; without one the output is unbranded). Then call wait_job(kind="render", id=renderId, projectId=...) to block until the file is ready and get the download URL, or register a webhook (create_webhook on render.completed — status rides the payload).
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | POST /projects/:id/renders body. | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. | |
| projectId | Yes | projectId (path). |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| error | No | Human-readable failure message. Pair with `errorCode` for a stable, machine-readable code an agent runner can branch on. |
| engine | No | The render engine the row was minted for. Null on rows minted before the engine was recorded. |
| format | No | The resolved output format the render was encoded at (aspectRatio, fps, resolution): the frozen composition's, after any create-time scale override. Null on legacy rows. |
| status | No | |
| listUsd | No | A2 money stamp: the metered event's LIST price (USD), stamped at the success terminal (exports for deliverable renders, compose_capture for A8 previews). A plan allowance may zero the actual invoice line — this is the list price, never a Stripe charge. Absent while running, on failure, and for x402 orgs (on-chain receipts). Mirrors the get_usage ledger. |
| preview | No | The scoped preview window when this is a preview_clip render; null for a full deliverable. |
| category | No | Failure taxonomy when status is `error`; null otherwise. `authoring` = deterministic defect in YOUR composition/request — fix it, retrying is futile; `transient` = temporary pipeline/infra failure — safe to retry_render; `internal` = unexpected server fault — retry once then escalate. Mirrors the render.failed webhook's `category`. |
| progress | No | Non-terminal render progress; phase is one of the worker's emitted stages. |
| warnings | No | Non-fatal advisories surfaced at render-CREATE (omitted when none, and on GET — create-time only). |
| createdAt | No | |
| errorCode | No | Stable, machine-readable error code (e.g. `render_pipeline_unavailable`, `render_route_missing`, `render_pipeline_failed`). Null when status is not `error` or unavailable for an older render. |
| outputUrl | No | |
| retryable | No | Whether re-attempting the SAME render can succeed (status `error`); null otherwise. true → call retry_render. false → deterministic (category authoring/internal); fix the composition first — retry_render alone reproduces it. Mirrors the render.failed webhook's `retryable`. |
| updatedAt | No | ISO-8601 timestamp of the render's most recent progress update. Compute staleness = now − updatedAt to distinguish a wedged render from a slow one and decide whether to wait, cancel, or retry. |
| completedAt | No | ISO-8601 instant the render reached its terminal status (complete, error or cancelled); null while it runs. Pair with createdAt for the wall time. |
| errorDetails | No | Structured failure context — `{ targetUrl?, upstreamStatus?, upstreamCode?, attemptedAt? }`. Surfaced so agent runners can distinguish operator-config issues from upstream-down vs route-missing without parsing `error`. |
| compositionId | No | The composition this render froze at create time (the project's active one, or the compositionId the request named). Null on renders minted before this was recorded. |
| outputExpiresAt | No | |
| outputDurationSec | No | The output's length in seconds (the composition timeline's, or the preview window's), as billed. Null on legacy rows. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-readonly, non-idempotent, non-destructive, so the call's mutation profile is known. The description adds real value beyond that: it is asynchronous ('queue'), returns { id, status, warnings? } with warnings semantics, and states that an unknown/foreign/scratch-less session is a 404 rather than silently falling back to the active composition. It stops short of describing failure/rate-limit behaviour beyond the 404 case.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core action and the follow-up wait_job call are front-loaded; the branding caveat and webhook alternative come after. It is dense but nearly every clause carries information, with only mild redundancy (return shape is also covered by the output schema).
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is an async creation tool with nested body objects, and the description covers the full lifecycle an agent needs: what is queued, what comes back, how branding is resolved, how errors on the session target surface, and how to await completion. Nothing essential is missing despite the nested 'format' field delegating to describe_tool_input.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so a 3 is the baseline. The description compensates on the highest-value ambiguity: brandKitId determines whether the output is branded or unbranded, and how to bind one (create_project/update_project or PATCH /projects/:id). It also clarifies the session_id vs compositionId exclusivity, though that is largely duplicated from the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource+output type: 'Queue an MP4 render of a project's composition' with the compose-session scratch variant. This clearly separates it from get_render, retry_render, cancel_render, and wait_job in the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes the agent to the two follow-up paths: wait_job(kind="render", id=renderId, projectId=...) to block for the URL, or create_webhook on render.completed. It also names the alternative target (compose session scratch vs active composition) and calls them mutually exclusive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_template_package_uploadCreate Template Package UploadAInspect
Reserve a LOCAL portable CueFrame template package ZIP for import into the organization library. Supply idempotencyKey, archiveSha256 (exact lowercase SHA256) and archiveBytes (1..128MiB). Returns uploadId and a short-lived single PUT uploadUrl. PUT the exact raw archive bytes with Content-Type application/zip, then call import_template_package using uploadId. A reservation is not an import or a media item. Organization-library operation; project-bound editor credentials are refused.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. |
Output Schema
| Name | Required | Description |
|---|---|---|
| uploadId | No | |
| expiresAt | No | |
| uploadUrl | No | |
| contentType | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, it discloses that uploadUrl is short-lived and single-PUT, the exact content type required, the SHA256 must be exact lowercase, the archive size window, and the auth restriction. These details materially shape correct invocation of a non-readOnly, non-idempotent operation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four dense sentences, front-loaded with the reservation action and followed by the exact call sequence. Every sentence carries needed operational detail, though the density of constraints makes it slightly heavier than an ideally lean definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a multi-step upload-reservation tool with an output schema present, the description still explains the return values' purpose and the follow-up call, plus auth and content-type constraints. Nothing an agent needs to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 50%, with commandId documented in-schema and the nested body fields only named. The description compensates by humanizing archiveBytes as 1..128MiB and clarifying the lowercase hex SHA256 format, adding meaning beyond the raw pattern/max. It does not explain idempotencyKey semantics beyond naming it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Reserve) and resource (LOCAL portable CueFrame template package ZIP) targeted at the organization library, distinguishing it explicitly from import_template_package and media items. An agent can separate it from export_template_package and create_upload without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Lays out the full sequence: supply idempotencyKey/archiveSha256/archiveBytes, receive uploadId and uploadUrl, PUT raw bytes with Content-Type application/zip, then call import_template_package with uploadId. It also names the exclusion condition (project-bound editor credentials are refused) and clarifies a reservation is not an import.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_uploadCreate UploadAInspect
Ingest a LOCAL file — bytes you hold, when there is no public URL to hand import_media (prefer import_media whenever the bytes already sit at an https URL). TWO steps: (1) this tool reserves a media item and returns { id, uploadUrl, expiresAt } — a short-lived PUT URL. PUT the raw file bytes to uploadUrl over HTTPS with your declared Content-Type (≤ ~5 GB per PUT). (2) call finalize_upload({ mediaItemId: id }) to start processing. Body: filename, contentType (allowed enum), size (bytes). Thereafter it is async exactly like import_media: poll list_media for processingStatus, or register a webhook (create_webhook on media.completed). Use the returned id with get_media_context, suggest_briefs, or as a composition source.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | POST /media upload initiation body. | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| expiresAt | No | |
| uploadUrl | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations (which only say it is a non-read-only, non-destructive, non-idempotent, closed-world write): it discloses that the tool returns a short-lived PUT URL with an expiry, the ~5 GB per-PUT ceiling, the required Content-Type declaration, and that processing is asynchronous afterwards. It also names the exact follow-up call (finalize_upload with mediaItemId) needed to actually trigger processing — critical, non-obvious behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense but front-loaded and ordered as a procedure: routing rule, then step 1, step 2, then async follow-up. The 'Body: filename, contentType, size' sentence partially restates the schema and is the only borderline filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, yet the description still names the key returned fields ({ id, uploadUrl, expiresAt }), covers the out-of-band HTTPS PUT that no schema can express, and points to downstream consumers (get_media_context, suggest_briefs, composition source). Everything an agent needs to complete the workflow is present.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description adds real meaning by stating that contentType is an allowed enum, that size is in bytes and bound by the ~5 GB PUT limit (matching the schema maximum), and that filename identifies the object. The optional projectId is never explained, which keeps this from a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb+resource ('Ingest a LOCAL file') and immediately scopes it against the sibling import_media, so an agent knows exactly what this does and what it is not. The two-step reserve/PUT+finalize flow is stated up front rather than buried.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit selection rule: use this only when the bytes are local and there is no public URL; 'prefer import_media whenever the bytes already sit at an https URL'. It also tells the agent what to do after (finalize_upload, then poll list_media or create_webhook on media.completed), leaving nothing to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
create_webhookCreate WebhookAInspect
Register a webhook so long-running jobs notify you instead of blocking on wait_job — the right pattern for fan-out/async agents. Pass url + events — ONE terminal event per job kind with status INSIDE the payload (render.completed, compose.completed, media.completed, suggest.completed) plus checkpoint.ready (a held compose paused for review). DELIVERY: a POST { event, timestamp, projectId?, data } with Standard-Webhooks headers (webhook-id, webhook-timestamp, webhook-signature: v1,); the secret (whsec_) is returned ONCE — verify the RAW body with new Webhook(secret).verify(rawBody, headers). ACTIVATION is synchronous: CueFrame POSTs a signed webhook.verify challenge and your endpoint must reply 2xx echoing data.token — otherwise it returns status:"pending" and receives NO events (recover with verify_webhook, no delete/recreate). Read the cueframe://webhook-events resource (or GET /webhooks/events) for the full contract + every event's data shape BEFORE building your receiver.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | POST /webhooks body. | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| url | No | |
| events | No | |
| secret | No | Standard Webhooks signing secret, format `whsec_<base64>`. Returned ONCE at create; rotate = delete + recreate. Every delivery carries `webhook-id`, `webhook-timestamp` (unix seconds), and `webhook-signature: v1,<base64>` (HMAC-SHA256 over `{id}.{timestamp}.{rawBody}`). Verify with any Standard-Webhooks library (`standardwebhooks` / `svix`): `new Webhook(secret).verify(rawBody, headers)`. |
| status | No | active = ownership verified + receiving events; pending = challenge not echoed, inactive. |
| enabled | No | |
| settleMs | No | |
| verification | No | Present ONLY when ownership verification did not complete (status:"pending"). CueFrame POSTs a signed `webhook.verify` challenge whose `data.token` your endpoint must echo in a 2xx to activate; `reason` is one of token_not_echoed | non_2xx_<code> | unreachable | ssrf_blocked. A pending webhook receives no events — fix the receiver and POST /webhooks/:id/verify (no delete/recreate needed). See GET /webhooks/events for the full contract. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes far beyond the annotations: documents delivery payload shape, Standard-Webhooks headers, that the secret is returned once, the synchronous activation challenge with status:"pending" on failure, and non-idempotent-but-recoverable behavior. This is exactly the mutation-lifecycle context annotations don't carry.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and the wait_job contrast, and every clause carries operational substance. It is dense and runs long with stacked parentheticals, which slightly hurts scanability but little is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers the full contract an agent needs for a webhook-creation mutation: event set semantics, delivery format, secret handling, activation handshake, failure mode, and recovery path. Output schema exists, so return values are correctly not belabored.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, and the description still adds meaning: it clarifies that events are one terminal event per job kind with status inside the payload, plus checkpoint.ready semantics. It does not explain settleMs, which the schema leaves undocumented, so not a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Register a webhook') and immediately frames its role against the sibling wait_job. An agent can distinguish it from wait_job, verify_webhook, and update_webhook without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to use it ('the right pattern for fan-out/async agents', 'instead of blocking on wait_job') and names the recovery alternative (verify_webhook, 'no delete/recreate'). It also directs the agent to read a resource before building the receiver.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_briefDelete BriefADestructiveIdempotentInspect
Delete a brief. Compose jobs already run from it are unaffected (they snapshot).
| Name | Required | Description | Default |
|---|---|---|---|
| briefId | Yes | briefId (path). | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false. The description adds meaningful behavioral context beyond annotations by explaining that compose jobs already run from the brief are unaffected because they snapshot. It does not cover permissions or return behavior, but the key side-effect nuance is disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, front-loaded with the core action and immediately followed by the most relevant side-effect caveat. Every sentence earns its place with no redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter destructive tool with full annotation coverage and full schema coverage, the description is nearly complete. It explains the snapshot behavior of dependent compose jobs, which is the main non-obvious consequence. It could still mention irreversibility or authorization expectations, but annotations already flag destructiveness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so briefId and commandId are already documented in the schema. The description does not add syntax, format, or semantic detail for either parameter. Baseline 3 is appropriate when the schema fully carries parameter documentation.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: 'Delete a brief.' That is clear and unambiguous. It does not explicitly differentiate this from sibling deletion tools such as delete_composition or delete_project, but the resource is named.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description implies usage by naming the action and noting that previously run compose jobs are unaffected. However, it does not state when to use this tool versus update_brief, delete_composition, or other alternatives, nor does it describe prerequisites or when not to use it.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_compositionDelete CompositionADestructiveIdempotentInspect
Delete a composition (and its version history) from a project. REFUSES the ACTIVE composition (409) — make another one active first, or delete the project. Use list_compositions to see which is active.
| Name | Required | Description | Default |
|---|---|---|---|
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. | |
| projectId | Yes | projectId (path). | |
| compositionId | Yes | compositionId (path). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and idempotentHint=true, so the safety profile is covered; the description goes further by disclosing the cascade (version history is deleted), the 409 refusal condition, and remediation steps. Those are behavioral facts an agent cannot derive from the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the destructive action and its blast radius before the refusal rule. No filler and no restatement of the title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter destructive tool with no output schema, the description covers what is destroyed, when the call will fail, and how to avoid that failure. Nothing an agent needs to call it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so projectId, compositionId and the commandId retry-identity semantics are already documented in the schema. The description adds no parameter-level meaning beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Delete a composition') and adds scope that a name alone cannot convey: the version history is destroyed too. That distinguishes it cleanly from delete_project, delete_brief and delete_media in the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly names the exclusion — the ACTIVE composition is refused with 409 — and gives two concrete paths forward (activate another composition, or delete the project). It also routes the agent to list_compositions to determine active state before calling, which is exactly the pre-call check an agent needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_criticDelete CriticADestructiveIdempotentInspect
Delete a registered critic by its criticId. It stops running in the Director gates and score_composition immediately.
| Name | Required | Description | Default |
|---|---|---|---|
| criticId | Yes | criticId (path). | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true and readOnlyHint=false, so the safety profile is known. The description earns credit for adding the downstream consequence — the critic stops firing in Director gates and score_composition immediately — which is real context beyond the structured fields, though it omits reversibility and behavior when the criticId does not exist.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler, with the identifier requirement front-loaded and the effect second. Every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter delete with full annotation coverage and no output schema, this covers the essential action and its consequence. It leaves open whether deletion is permanent, how to restore a critic, and what happens on an unknown criticId — minor gaps rather than blocking ones.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: criticId is documented as a path parameter and commandId explains its retry-identity semantics in full. The description adds no meaning beyond naming criticId, so the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Delete a registered critic') plus the identifier it acts on ('by its criticId'), which cleanly separates it from register_critic and list_critics among the siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The intended use (removing a critic you no longer want in the pipeline) is implied rather than stated. There is no mention of when not to use it, no alternative such as disabling or re-registering, and no prerequisite for obtaining a criticId.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_mediaDelete MediaADestructiveIdempotentInspect
Permanently delete a media item from your library (cleanup). Irreversible. Compositions referencing it will fail to render — only delete media no composition still needs.
| Name | Required | Description | Default |
|---|---|---|---|
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. | |
| mediaItemId | Yes | mediaItemId (path). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and idempotentHint=true, so the safety profile is known; the description still adds real value with "Irreversible" and the downstream consequence that referencing compositions will fail to render. It does not clarify whether the call errors out when references exist or whether it silently succeeds, which is the one behavior an agent still needs.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, all load-bearing: action, irreversibility, and consequence plus precondition. The destructive warning is front-loaded before the caveat.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive tool with a fully documented 2-parameter schema and annotations covering safety, this covers the essential decision inputs: permanence and render breakage. The remaining gap is whether deletion is blocked or merely harmful when a composition still references the item.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, with mediaItemId documented and commandId carrying a full retry-semantics explanation, so the baseline is 3. The description adds no meaning about either parameter beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Permanently delete a media item from your library") and scopes the intent as cleanup. An agent can distinguish it from siblings like delete_composition, delete_brief, or delete_project without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear precondition for use: "only delete media no composition still needs," which functions as an explicit when-not rule. It stops short of naming alternatives (e.g., delete_composition for derived assets), but the usage context is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_projectDelete ProjectADestructiveIdempotentInspect
Permanently delete a project you created (cleanup). Removes its composition and render history. Irreversible — only call on a project you own and no longer need.
| Name | Required | Description | Default |
|---|---|---|---|
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. | |
| projectId | Yes | projectId (path). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and idempotentHint=true, so the lower bar applies; the description still adds the cascade targets (composition plus render history) and the ownership requirement, neither of which is in the annotations. It does not say whether active renders or jobs block deletion, which is the main remaining gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the irreversible action and cascade scope before the safety caveat. No filler, and the destructive nature is stated immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a destructive two-parameter tool with strong annotations and full schema coverage, the description supplies the cascade semantics and ownership precondition an agent needs before acting. Missing only the interaction with in-flight work (active renders or jobs) and whether deletion is blocked or forced.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and commandId is documented as retry identity, so the schema carries the parameter burden. The description adds nothing about projectId format or how to obtain it, leaving this at baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Permanently delete a project') with the cascade scope spelled out ('Removes its composition and render history'), which distinguishes it from sibling deleters such as delete_composition and delete_brief. The parenthetical '(cleanup)' further signals intent.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit precondition and gating condition: 'only call on a project you own and no longer need,' which prevents casual or speculative deletion. It stops short of naming a sibling alternative (e.g., update_project, or deleting only a composition), so it is clear context without full routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
delete_webhookDelete WebhookADestructiveIdempotentInspect
Delete a webhook subscription (stop receiving its deliveries). Irreversible — the signing secret is invalidated.
| Name | Required | Description | Default |
|---|---|---|---|
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. | |
| webhookId | Yes | webhookId (path). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already flag destructiveHint=true and idempotentHint=true; the description adds meaningful context beyond that by naming the irreversibility and the specific casualty (the signing secret is invalidated). It doesn't say whether delivery history is retained or what error occurs for a missing ID, so not a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, zero filler, with the destructive consequence front-loaded right after the purpose statement.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter destructive mutation whose safety profile is already covered by annotations, this is nearly sufficient. Minor gaps remain around post-deletion state (delivery history, secret invalidation side effects) but nothing blocks correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% and the commandId retry semantics are documented in the schema itself. The description adds nothing about either parameter, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource (delete a webhook subscription) and clarifies the effect with 'stop receiving its deliveries'. Siblings like create_webhook/update_webhook/verify_webhook are self-evidently different, but it never names them, so it falls just short of full differentiation.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical implies when you'd want this (to stop deliveries), but there is no explicit when-to-use guidance, no mention of alternatives such as updating/pausing a webhook, and no note on what happens for an unknown webhookId.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
derive_compositionDerive CompositionAInspect
Derive a reframed SIBLING composition for a different aspect ratio (the agent-native Auto-Reframe / Magic-Resize). Pass projectId + body { fromCompositionId, targetFormat: { aspectRatio, fps?, resolution? } }. CueFrame copies the source composition's authored intent and content-aware-reframes every clip for the new aspect (point/face/active-speaker focus), then saves a new independent composition in the same project. Returns { compositionId } — render it with create_render, or refine it with apply_composition. Use this to make 9:16 + 1:1 + 4:5 cuts from one 16:9 edit. (To only change resolution within the SAME aspect, pass create_render.format instead — that is a scale-only export override, not a new composition.)
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Derive a reframed sibling composition for a new aspect (Auto-Reframe / Magic-Resize, agent-native). | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. | |
| projectId | Yes | projectId (path). |
Output Schema
| Name | Required | Description |
|---|---|---|
| compositionId | No | The new sibling composition's id. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations by disclosing what actually happens internally (copies authored intent, content-aware reframes each clip with point/face/active-speaker focus) and what is created (a new independent composition, source preserved). Annotations already mark it as a non-read-only, non-destructive, non-idempotent write; the description supplies the missing 'what does it materialize' context. Minor gaps: it doesn't mention the commandId retry contract or any latency/async behavior for the reframing pass.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the verb and resource in the first clause, then the call shape, then behavior, then the sibling-routing note — a good information ordering. The two trailing parentheticals are dense but both earn their place by preventing misuse; the sentence is slightly overpacked, with a dangling parenthetical after the comma.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists and the description still names the return ({ compositionId }) and routes to create_render/apply_composition for next steps. With annotations, full schema coverage, and an output schema all present, nothing an agent needs in order to call this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3. The description still adds value by spelling out the nesting shape inline (projectId + body { fromCompositionId, targetFormat: { aspectRatio, fps?, resolution? } }), which makes the optionality of fps/resolution readable before opening the schema. The if_match and commandId semantics are left entirely to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (derive) and specific resource (a reframed SIBLING composition) with scope (different aspect ratio) and product terminology (Auto-Reframe / Magic-Resize). The word 'sibling' plus 'independent composition in the same project' distinguishes it from new_composition, create_render, and apply_composition without needing the schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit use case ('make 9:16 + 1:1 + 4:5 cuts from one 16:9 edit'), an explicit exclusion ('to only change resolution within the SAME aspect, pass create_render.format instead — that is a scale-only export override, not a new composition'), and names downstream alternatives (create_render, apply_composition). This is exactly the routing information an agent needs to pick between near-duplicate tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
describe_composition_opsDescribe Composition OperationsARead-onlyIdempotentInspect
Discover the exact CompositionOp vocabulary accepted by apply_composition. Omit type for a compact list of operation names and descriptions; pass type for only that operation's JSON Schema. Read this before authoring edits or captions.
| Name | Required | Description | Default |
|---|---|---|---|
| type | No | Exact CompositionOp type, such as captions.fromComposition. Omit for the operation list. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world behavior, so the safety profile needs no restating. The description earns credit by disclosing that the return payload differs by mode — a name/description list when type is omitted versus a JSON Schema for one op when supplied — which the annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short clauses, zero filler: purpose first, mode behavior second, call-site guidance last. Nothing could be removed without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With one optional parameter, full schema coverage, and no output schema, the description covers everything an agent needs: what the tool returns in each mode and when to invoke it. No output schema means return-shape disclosure falls to the description, and it delivers exactly that.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the parameter's description already says 'Omit for the operation list', so the description largely restates schema content. It clarifies the consequence of each mode, which is mildly additive, but under the high-coverage rule the baseline of 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Discover the exact CompositionOp vocabulary') and ties it directly to the sibling that consumes it (apply_composition). An agent can immediately separate this discovery tool from apply_composition or validate_composition without inspecting schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit trigger ('Read this before authoring edits or captions') and explains mode selection: omit type for the compact list, pass type for a single schema. It stops short of stating when not to call it or naming alternatives beyond apply_composition, so it is strong but not exhaustive.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
describe_tool_inputDescribe Tool InputARead-onlyIdempotentInspect
Return the exact JSON Schema for a body field the tool list abbreviates. An abbreviated field names this tool in its description. Pass that tool and field.
| Name | Required | Description | Default |
|---|---|---|---|
| tool | Yes | Tool whose argument the tool list abbreviates, such as validate_composition. | |
| field | Yes | Body field named in that argument's description, such as tracks. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive/closed-world, so the safety profile is covered. The description adds the non-obvious mechanism: this tool exists because the tool list abbreviates schemas, and it resolves one field at a time. It doesn't say what a failure looks like for an unknown tool/field.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the return value and followed by the reason and the call instructions. Nothing redundant for a meta-tool of this scope.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description does cover what is returned (the exact JSON Schema for the field). The only gap is error behavior for unknown tool/field names, which is minor for an idempotent read-only resolver.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters carry their own descriptions with examples (validate_composition, tracks). The description's 'pass that tool and field' adds no syntax or constraints beyond what the schema already documents, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: return the exact JSON Schema for an abbreviated body field. No sibling tool does anything similar, and the description makes the abbreviation-expansion role unmistakable.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives a clear trigger condition — an abbreviated field names this tool in its description — and says what to pass (that tool and field). It doesn't state what to do if the field is not actually abbreviated or what happens on a wrong tool/field pair, but the positive routing rule is explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
download_mediaDownload MediaARead-onlyIdempotentInspect
Get a presigned download URL for a media item's stored SOURCE file — the bytes CueFrame composes from (the raw upload, or its conformed transcode). This is how you copy media OUT of a library: fetch the URL directly (no auth header) and PUT the bytes elsewhere with create_upload, or hand it to import_media on another account. Works as soon as the upload or import is stored, before processing completes. The URL expires at expiresAt (about an hour) — call again for a fresh one rather than caching it. Read-only and free; nothing is persisted. For a render's MP4 use refresh_render_url instead.
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | No | ||
| mediaItemId | Yes | mediaItemId (path). |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | Presigned URL for the media item's stored source bytes. |
| expiresAt | No | Expiry of this URL in UTC (about one hour). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the readOnly/idempotent annotations: discloses that the URL requires no auth header, expires at expiresAt in about an hour, must be re-fetched rather than cached, is free with nothing persisted, and works as soon as the upload/import is stored before processing completes. These are non-obvious operational facts an agent would otherwise get wrong.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core definition, then usage, then behavioral caveats, with every sentence carrying information. It is dense but slightly long; the parenthetical about 'raw upload or conformed transcode' and the 'read-only and free' clause could be trimmed since annotations already imply safety.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need no explanation, and the description still flags the expiresAt field the agent will encounter. For a two-parameter read tool, the expiry, auth, and sibling-routing information covers everything needed to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50%, so the description must compensate — and it partly does, clarifying that mediaItemId selects the media item whose source file is returned and tying the result to expiresAt. However, projectId is never mentioned in either the schema or the description, leaving one of two parameters undocumented.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (presigned download URL for a media item) and narrows it precisely to the stored SOURCE file, explicitly contrasting it with a render's MP4. An agent can distinguish it from refresh_render_url and list_media without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use context ('this is how you copy media OUT of a library'), names the concrete downstream flows (fetch and PUT with create_upload, or import_media on another account), and names the alternative for a different case ('For a render's MP4 use refresh_render_url instead'). Nothing is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
editorial_applyEditorial ApplyAInspect
Commit an integrated editorial edit to the saved project composition with both runExpectedRevision and guarded composition fields. Preserve the observed concurrency basis and the composition journal identity: nested composition.commandId must equal composition.clientId + ":" + composition.sequence. The session call commandId is a separate HTTP request identity.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| runId | Yes | runId (path). | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the tool is mutating, non-read-only, non-destructive, and not idempotent. The description adds important behavioral context about concurrency guards, revision basis, journal identity, and the distinction between session command identity and HTTP request identity.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the commit action and uses only three dense sentences. Each sentence carries useful identity or concurrency information, though the phrase 'guarded composition fields' is slightly vague.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a nested mutation with no output schema, the description supplies the key concurrency and identity constraints needed to call it correctly. It does not fully explain the composition operations or sibling routing, but annotations cover safety and the schema covers required fields.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%, and the nested composition schema is only a pointer to describe_tool_input. The description compensates by explaining the critical relationship composition.commandId = composition.clientId + ':' + composition.sequence and by distinguishing the top-level commandId as a separate request identity.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: committing an integrated editorial edit to a saved project composition. It is clearly not a read or listing tool, but it does not explicitly differentiate itself from the similar sibling apply_composition.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives no explicit when-to-use guidance, prerequisites, or alternatives. It implies this is a commit step after editorial integration, but never says when to choose it over apply_composition or related editorial tools.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
editorial_create_briefEditorial Create BriefAInspect
Persist an authored brief for the selected project. The projectId belongs in body.brief; use the returned briefId to start an editorial run.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=false, destructiveHint=false and openWorldHint=false, so the safety profile is covered. The description adds only that the call persists data and yields a briefId; it says nothing about retry semantics (the commandId behavior lives only in the schema) or what happens when a brief already exists for the project.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with zero filler: the action comes first, then the parameter-placement hint, then the return-value handoff. Nothing could be removed without losing information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, and the description does at least name the returned briefId, which is the key detail. For a nested-object write tool, though, it omits the required `goal` field, validation/failure behavior, and any distinction from the non-editorial brief tools, leaving the agent to call describe_tool_input to proceed safely.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% and the nested `brief` object's own description just redirects to describe_tool_input, so the note that "the projectId belongs in body.brief" genuinely resolves a real nesting ambiguity. However, the other required brief field (goal) and commandId's retry semantics are left entirely to the schema, so it does not fully compensate for the coverage gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: "Persist an authored brief for the selected project." That is clear, but it does not differentiate this from the sibling `create_brief`, and an agent has no way to tell which one to reach for without guessing at the "editorial" prefix.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The second sentence implies a downstream workflow ("use the returned briefId to start an editorial run"), which hints at sequencing, but there is no explicit when-to-use vs `create_brief`/`update_brief`, and no stated preconditions beyond needing a projectId.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
editorial_create_runEditorial Create RunAInspect
Start an editorial run from a persisted brief and explicitly selected certified source ranges. Read editorial_run_source for each project media source first; use its exact identity, revision, frame count and fps ratio. Never invent a source pin or infer inspection from an index.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this is a non-read-only, non-destructive, non-idempotent, closed-world operation. The description adds a genuine guardrail ('never invent a source pin or infer inspection from an index'), but says nothing about the side effect of creating a run, what allowanceUsdMicros spends, or how the run behaves on retry. The commandId retry semantics live in the schema, not the description.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, front-loaded with the action and scope, then the prerequisite, then the prohibition. No repetition of the title or annotations. The final sentence is slightly cryptic ('infer inspection from an index') but is not padding.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutating, nested-object tool with no output schema, the description covers source-pin fidelity but omits what a successful call returns (run id/handle), what 'certified' means, and how budget allowance is enforced. An agent could call it, but would need to probe siblings to know what to do with the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 50% and the description compensates for part of it by naming the fields required in a source pin (identity, revision, frame count, fps ratio). It says nothing about briefId, outline, or allowanceUsdMicros, and the nested inputs/outline schemas are deferred to describe_tool_input. Marginal value over the structured fields, so baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Start an editorial run from a persisted brief and explicitly selected certified source ranges.' That clearly separates it from read-side siblings like editorial_get_run and editorial_list_runs. It does not name a sibling alternative it might be confused with (editorial_apply / editorial_integrate), so it stops short of a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit prerequisite workflow: 'Read editorial_run_source for each project media source first; use its exact identity, revision, frame count and fps ratio.' That tells the agent what must happen before calling. It gives no exclusion condition or alternative path for when a run should not be started.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
editorial_findings_appendEditorial Findings AppendAInspect
Persist one evidence-backed observation. A nothing_useful outcome may cover only what the cited evidence actually inspected; sparse stills do not certify an unsampled interval.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| runId | Yes | runId (path). | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already disclose the write/non-destructive/non-idempotent safety profile, so the description's main added value is the evidence-coverage caveat: nothing_useful may only cover inspected evidence and sparse stills do not certify unsampled intervals. That is useful domain behavior beyond annotations, though it does not cover return behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two compact sentences with the core action front-loaded and a relevant caveat second. Every sentence earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The nested schema and examples supply most structural detail, and annotations cover the safety profile. Still, with no output schema, the description does not explain what append returns or how findings relate to the run and evidence beyond the one outcome caveat.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67%, with top-level descriptions for runId and commandId and a detailed nested body schema with examples. The description adds meaning to outcome/evidenceIds via the evidence-backed and nothing_useful caveat, but leaves range, timebase, and other nested fields to the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: "Persist one evidence-backed observation." It is clear this appends a finding, but it does not explicitly differentiate from siblings like editorial_findings_list or editorial_integrate.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The second sentence gives a rule for when a nothing_useful outcome is valid, which implies usage after inspecting cited evidence. However, it does not state when to use this instead of alternatives or mention prerequisites such as existing evidence/run.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
editorial_findings_listEditorial Findings ListBRead-onlyIdempotentInspect
Read durable observations, including useful, nothing-useful and uncertain outcomes, in bounded pages. Pass nextCursor as cursor until done; retain evidence IDs, supersession and uncertainty when recovering decisions.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| runId | Yes | runId (path). | |
| cursor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds real value by disclosing pagination behavior and a response field ('nextCursor') that has no output schema, plus a warning to retain evidence IDs, supersession and uncertainty when recovering decisions. It does not state ordering, page size behavior, or what an empty page means.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the read operation and then the pagination/retention instructions; nothing is obviously redundant. It is somewhat dense with internal jargon, but the information per sentence is high.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only, three-parameter paged list with no output schema, the description covers pagination and key result concepts (evidence IDs, supersession, uncertainty) but omits the run scoping, limit semantics, and ordering. An agent can call it, but must infer what defines the result set.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33%: runId is documented merely as 'runId (path)' and limit/cursor are undocumented in the schema. The description partially compensates by explaining cursor semantics ('pass nextCursor as cursor until done'), but it says nothing about the runId scoping requirement or the limit bounds (1-100).
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description says it reads 'durable observations ... in bounded pages', which conveys a list/read operation but substitutes jargon ('observations', 'useful/nothing-useful/uncertain outcomes') for the resource name 'findings', and never states that results are scoped to a run. It gives no differentiation from close siblings such as editorial_list_evidence, editorial_get_run, or editorial_findings_append.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The pagination instruction ('Pass nextCursor as cursor until done') is a concrete procedural usage cue, which is more than most list tools offer. However, there is no guidance on when to choose this tool over editorial_list_evidence or editorial_get_run, and no stated preconditions or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
editorial_get_runEditorial Get RunARead-onlyIdempotentInspect
Read a persisted editorial run, including its revision, state, inputs, outline, selected finding IDs, omitted reasons and unresolved integration gaps. Read findings and evidence separately for complete coverage.
| Name | Required | Description | Default |
|---|---|---|---|
| runId | Yes | runId (path). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent and non-destructive, so safety is covered. The description adds real value by disclosing the exact payload shape and, importantly, what is excluded (findings and evidence), which prevents an agent from assuming full coverage.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, no filler, and the returned-contents list is front-loaded before the caveat about separate findings/evidence reads. Every clause earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description must convey return values, and it does so by enumerating the run's fields plus the notable omissions. It falls short only on failure behavior (missing/unknown runId) and identifier format.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and there is a single required parameter, so the schema carries the burden. The description adds nothing about runId format, whether it is a UUID versus a path-like identifier, or behavior when the run does not exist — baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Read') and resource ('a persisted editorial run') and enumerates the contents returned (revision, state, inputs, outline, selected finding IDs, omitted reasons, integration gaps). It implicitly distinguishes itself from editorial_list_runs and from the findings/evidence readers, though it never names those siblings directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The second sentence ('Read findings and evidence separately for complete coverage') signals that this tool is partial and that other tools fill the gap, which is useful routing. However, it never names editorial_findings_list or editorial_list_evidence, nor does it say when to prefer this over editorial_list_runs or editorial_apply.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
editorial_inspect_audioEditorial Inspect AudioBInspect
Deliver a bounded 16 kHz source audio interval and save an audio evidence receipt. The interval must lie inside a certified run input.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| runId | Yes | runId (path). | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already indicate this is a non-destructive, non-read-only operation, and the description correctly adds that it saves an audio evidence receipt. However, it does not explain what is persisted, whether the receipt is durable, permission requirements, or failure behavior beyond the certified-run constraint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tightly written sentences with no waste. The core action is front-loaded, and the certified-run constraint follows immediately.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a complex nested mutation with no output schema and only two sentences of description. It leaves critical gaps around what a certified run input is, how the saved evidence receipt is returned or identified, and how the nested range parameters interact.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%, so the description should compensate for undocumented nested fields such as frames, timebaseNum, timebaseDen, mediaId, and representationIdentity. It adds only the vague constraint that the interval must lie inside a certified run input and does not explain the parameters' roles or format.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb-and-resource: deliver a bounded 16 kHz source audio interval and save an audio evidence receipt. It is clear what the tool does, though it does not explicitly distinguish itself from sibling inspection tools such as editorial_inspect_source or editorial_inspect_transcript.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The only usage context is the precondition that the interval must lie inside a certified run input. There is no guidance on when to choose this tool over editorial_inspect_source, editorial_inspect_transcript, or editorial_sample_motion, and no exclusions or workflow context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
editorial_inspect_sourceEditorial Inspect SourceAInspect
Deliver one exact decoded source frame as JPEG and save its evidence receipt. Only that sampled frame is visually inspected; preserve the returned evidenceId and coverage.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| runId | Yes | runId (path). | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly=false and destructive=false, and the description adds useful behavioral context: it saves an evidence receipt, returns a JPEG, inspects only that sampled frame, and says to preserve the returned evidenceId and coverage. It does not explain retry/idempotency behavior, though the schema's commandId description does.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two tight sentences with no wasted wording. The core action is front-loaded, followed by the scoping constraint and the evidence fields to preserve.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must carry some return-value information; it names the JPEG artifact and the returned evidenceId and coverage. It still does not describe the full response shape or receipt format, but it covers the essential behavior for invoking the tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 67%, with runId and top-level commandId partially documented and an example for the nested body. The description adds that a single exact decoded frame is involved, loosely mapping to the frame parameter, but it does not explain mediaId, the body-level commandId, or frame indexing beyond 'one exact sampled frame'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource: deliver one exact decoded source frame as JPEG and save its evidence receipt. That is clear on its own, but it does not explicitly differentiate this tool from nearby siblings such as preview_frame, compare_frames, editorial_sample_motion, or editorial_inspect_audio/transcript.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit guidance on when to use this tool versus alternatives in the large sibling set. The statement that only the sampled frame is visually inspected implies a narrow scope, but it does not tell the agent when this tool is the right choice over preview_frame, compare_frames, or editorial_sample_motion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
editorial_inspect_transcriptEditorial Inspect TranscriptCInspect
Deliver at most 100 verified transcript words with their mapped certified decode interval and save a transcript evidence receipt.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| runId | Yes | runId (path). | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint=false and destructiveHint=false, the annotations already flag this as a non-destructive but state-changing operation, and the description usefully confirms that by naming the receipt that gets written. The 100-word cap is a genuine disclosure not present in any structured field. It stops short of explaining what the 'certified decode interval' is, what happens if the word span exceeds 100 words, or how the commandId retry semantics interact with idempotentHint=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with no filler, front-loading the deliverable before the side effect. It is dense with domain jargon but structurally efficient rather than padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
This is a state-mutating tool taking a nested range/wordSpan body with no output schema to explain the result, and the description leaves the return shape, the meaning of 'certified decode interval', and the range-identity requirements unspecified. For a nested-object mutation with only 67% schema coverage, more disclosure is needed to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67% and the gaps are exactly the ones that matter: body.wordSpan's [start, exclusive-end] semantics, the frames/timebase/representationIdentity bundle for range, and what runId must refer to. The description only echoes the word cap and says nothing about any of these three parameters, so it fails to compensate for the coverage shortfall.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a concrete verb and resource ('Deliver ... verified transcript words with their mapped certified decode interval') plus a side effect ('save a transcript evidence receipt'), so the agent knows roughly what comes out. It does not distinguish this from adjacent siblings like get_transcript or editorial_inspect_audio, so an agent cannot tell from the description alone why it would pick this over those.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use, when-not-to-use, or prerequisite guidance. Nothing says whether a run must already exist (the required runId implies it, but that is inference), nor when to prefer this over get_transcript or editorial_inspect_audio. Usage must be guessed entirely from the name and siblings.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
editorial_integrateEditorial IntegrateBInspect
Save selected finding IDs, explicit omitted reasons and unresolved gaps with the observed run revision. Read the run and findings before deciding.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| runId | Yes | runId (path). | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare not read-only, not idempotent, not destructive. The description adds the useful detail that a revision is 'observed' (optimistic concurrency against expectedRevision), but it doesn't say what happens on a revision mismatch, whether the save is rejected or overwrites, or what state results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences with the payload contents front-loaded before the prerequisite. No wasted clauses, though the second sentence reads as an instruction rather than definitional content.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a nested, multi-object mutation with no output schema and only partial schema coverage, the description leaves the response shape, revision-conflict behavior and the role of compositionId/transitionIntent unstated. Adequate to attempt a call, not to predict its outcome.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67% and the description maps its prose onto selectedFindingIds, omittedReasons, unresolvedGaps and the observed revision, which helps. However compositionId, compositionVersion and transitionIntent are documented nowhere, and the body/runId duplication is unexplained.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (save) and enumerates the resources being persisted: selected finding IDs, omitted reasons, unresolved gaps, tied to an observed run revision. That is distinguishable from editorial_findings_append and editorial_apply, though it never explicitly names those siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Read the run and findings before deciding' gives a prerequisite ordering, which implies the editorial workflow, but it never says when to pick this over editorial_apply or editorial_findings_append, nor what conditions make integration appropriate.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
editorial_list_briefsEditorial List BriefsARead-onlyIdempotentInspect
Recover persisted authored briefs for a project. Read bounded pages; pass nextCursor as cursor until done. Brief IDs link to editorial runs.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| cursor | No | ||
| projectId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, closed-world, so the safety profile is covered. The description adds real value beyond that by disclosing the bounded-page pagination model and that brief IDs link to editorial runs. It stops short of saying what a brief record contains or what happens at the end of the cursor chain.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, zero filler, with the core purpose front-loaded and the pagination mechanic immediately after. Every sentence carries information an agent needs.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a three-parameter read-only list tool with no output schema, the description covers purpose and pagination adequately, and 'Brief IDs link to editorial runs' hints at the return shape. It remains incomplete on the required projectId parameter and on how this list differs from the generic list_briefs sibling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description carries the burden. It does explain cursor semantics ('pass nextCursor as cursor') and gestures at limit ('bounded pages'), which is meaningful compensation, but projectId — the only required parameter — is never explained, and no defaults or bounds are given for limit.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — 'Recover persisted authored briefs for a project' — which is more concrete than a bare 'list'. It does not, however, explicitly distinguish itself from sibling list_briefs or suggest_briefs, so the agent must infer that 'editorial' scoping is the differentiator.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides procedural guidance for pagination ('pass nextCursor as cursor until done'), which is genuinely useful. But it never says when to choose this over list_briefs or editorial_list_runs, and states no prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
editorial_list_evidenceEditorial List EvidenceARead-onlyIdempotentInspect
Read delivered evidence and inspection coverage for a run in bounded pages. Pass nextCursor as cursor until done; an empty page does not prove the whole source was inspected.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| runId | Yes | runId (path). | |
| cursor | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and destructiveHint=false, so the safety profile is covered. The description adds a genuinely useful behavioral caveat that annotations cannot express: an empty page does not mean the source was fully inspected, which prevents premature conclusion. It stops short of describing ordering or page-size behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the core action first and the pagination caveat second. No filler and nothing redundant with the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With no output schema, the description partially compensates by naming nextCursor, but it does not describe what an evidence record or coverage entry contains, nor any ordering. Adequate for calling the tool, thin for interpreting results.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33% and the single documented parameter ('runId (path)') is essentially a restatement. The description does add real meaning for cursor by tying it to a 'nextCursor' value and implying bounded page sizes, but 'limit' and its 1-100 range are never explained in prose.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (Read) and resource (delivered evidence and inspection coverage) scoped to a run, and adds the bounded-paging qualifier. It is reasonably distinguishable from editorial_findings_list and editorial_get_run, though it does not name those siblings directly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives operational guidance for pagination ('Pass nextCursor as cursor until done') and a caveat about empty pages. However, it never says when to prefer this over editorial_findings_list, editorial_get_run, or editorial_inspect_source, so tool selection is left to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
editorial_list_runsEditorial List RunsARead-onlyIdempotentInspect
Recover persisted editorial runs for a project in bounded pages. Pass nextCursor as cursor until done, then read each relevant run for its integration decisions and unresolved gaps.
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | ||
| cursor | No | ||
| projectId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare safety (readOnly, idempotent, non-destructive, closed-world), and the description adds useful behavioral context: results are persisted, pagination is bounded, and cursor iteration continues until done. It does not contradict annotations and clarifies the follow-up reading pattern, though it does not describe return shape.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences, front-loaded with the core operation and pagination instruction, followed by the natural next step. Every sentence carries actionable meaning with no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a paginated read tool with no output schema and three parameters, the description covers pagination mechanics and the subsequent read action needed to get integration decisions and unresolved gaps. It stops short of describing the list items' fields, but that is reasonable given the instruction to read individual runs for details.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 0% schema description coverage, the description compensates well for cursor by explaining that nextCursor should be passed as cursor until done, and it implies project scoping and bounded pages. It does not explicitly name the limit parameter or clarify its maximum (the schema already declares maximum 20), so the coverage is strong but not complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb and resource: recovering persisted editorial runs for a project in bounded pages. It distinguishes itself from a single-run read via the follow-up instruction to 'read each relevant run' afterward, though it does not explicitly name the sibling tool for that follow-up.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It provides concrete pagination guidance: pass nextCursor as cursor until done, then inspect each relevant run for decisions and gaps. This is clear procedural context, but it does not state when to prefer this tool over alternatives such as editorial_list_briefs or editorial_get_run.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
editorial_run_sourceEditorial Run SourceARead-onlyIdempotentInspect
Read the certified decode representation for media selected in this project before starting an editorial run. Supply projectId and mediaId; a null representation means this source cannot be pinned. The response omits internal storage paths. Select a bounded range from the returned frameCount and exact fps ratio; do not invent a source identity.
| Name | Required | Description | Default |
|---|---|---|---|
| mediaId | Yes | ||
| projectId | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, and the description adds genuine behavior beyond that: a null representation signals the source cannot be pinned, the response omits internal storage paths, and it returns frameCount and an exact fps ratio. That tells the agent what to expect on failure and what data comes back, which annotations alone would not.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, front-loaded with the action and precondition, followed by output semantics and a guardrail. Dense jargon ('certified decode representation', 'pinned') costs a point but nothing is wasted or redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter read with no output schema, the description covers purpose, precondition, failure signal, and what the response surfaces (frameCount, fps). Only the provenance of the identifiers and how this differs from the inspect_* siblings are missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% for both required parameters, so the description must carry the load. It names projectId and mediaId and implies mediaId must belong to the given project, but does not say where those identifiers come from (e.g., list_media/list_projects) or what form they take; the guidance is only partially compensating.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
A specific verb ('Read') and resource ('certified decode representation for media selected in this project') make the intent clear, and the phrase 'before starting an editorial run' anchors it to the editorial workflow. It does not differentiate itself from close siblings such as editorial_inspect_source or editorial_inspect_audio, which an agent could easily confuse with this tool.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The first sentence gives a clear timing precondition ('before starting an editorial run'), and 'do not invent a source identity' is an explicit negative instruction telling the agent to derive values rather than guess. There are no named alternatives or exclusions, so a 4 is the correct ceiling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
editorial_sample_motionEditorial Sample MotionBInspect
Deliver bounded sampled motion frames and save their evidence receipt. The sampled frames do not certify continuous visual coverage.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| runId | Yes | runId (path). | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare the safety profile (non-destructive, non-open-world, non-read-only), and the description adds two things beyond that: the call persists an evidence receipt as a side effect, and the returned frames do not certify continuous coverage. That coverage caveat is genuinely non-obvious and prevents an agent from over-claiming completeness of a visual inspection.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences, front-loaded with the action and followed by a distinct caveat that earns its own sentence. Nothing is wasted, though the whole description is thin for a tool with a six-field nested body and a persistence side effect.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, so the description must describe what comes back, and it does not: no indication whether the result is frame data, a receipt identifier, or both, and no pointer to how the saved receipt is later retrieved (e.g. editorial_list_evidence). For a tool that writes state and has a nested object parameter, this leaves the agent guessing on the return and follow-up path.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67% and the description adds essentially no parameter meaning beyond the word 'bounded', which loosely maps to the two-frame cap enforced structurally. The nested body object (mediaId, representationIdentity/Revision, timebaseNum/Den) carries only structural constraints with an example, and runId is documented as 'runId (path).' only, so the hardest parameters are left to the token names.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States specific verbs and resources: it samples motion frames over a bounded range and persists an evidence receipt. That is materially more informative than the title alone. However, it does not distinguish this from nearby frame-inspection siblings such as preview_frame, compare_frames, or editorial_inspect_source, so the agent cannot tell from the description alone which one to reach for.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no when-to-use guidance, no exclusions, and no named alternative among the many sibling tools. The second sentence is a scope caveat about the accuracy of the output, not a usage condition. An agent must infer entirely from the name when this is the right call versus compare_frames or preview_frame.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
export_template_packageExport Template PackageAInspect
Export an exact SAVED project snapshot as a portable template package. Supply idempotencyKey, expectedRevision, name, new slug and optional bounded mediaParams/textParams selectors for existing clip/leaf sites. Reads actual saved composition/components/media through the maintained extractor; no caller document, source, sample URL or provenance assertions. Returns a durable library-export job; poll get_template_job until ready, then pass its receiptId to get_template_package_download. An existing slug conflicts. A project-bound editor may export only its bound project. Does not render or create a new project.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. | |
| projectId | Yes | projectId (path). |
Output Schema
| Name | Required | Description |
|---|---|---|
| mode | No | |
| jobId | No | |
| stage | No | |
| status | No | |
| package | No | |
| createdAt | No | |
| errorCode | No | |
| projectId | No | |
| updatedAt | No | |
| templateId | No | |
| templateRef | No | |
| errorMessage | No | |
| documentSha256 | No | |
| sourceProjectId | No | |
| templateVersion | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations (readOnlyHint=false, destructiveHint=false, openWorldHint=false), it discloses that the operation is durable/asynchronous, requires expectedRevision concurrency control, surfaces slug conflicts as errors, and enforces editor scoping. It also clarifies that data is read via the maintained extractor rather than from caller input, which is exactly the kind of behavior an agent cannot infer from the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and inputs, then workflow, then constraints — no filler sentences. Some clauses are dense and run long (the mediaParams/textParams sentence), but every sentence carries operational information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a nested-body mutation with an output schema, the description covers the async job lifecycle, the downstream retrieval step, conflict behavior, and authorization scoping. An agent can complete the full export flow without consulting anything else except the schema for field shapes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 67% schema coverage, the description still adds real meaning: expectedRevision is framed as a revision guard, mediaParams/textParams are "optional bounded ... selectors for existing clip/leaf sites" (max 128), and slug conflicts are called out. The role enum (project-template vs component-package) and the commandId retry parameter are left to the schema, so it does not fully cover the surface.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
"Export an exact SAVED project snapshot as a portable template package" states a specific verb and resource plus the source of truth (saved composition, not caller-supplied documents). It is clearly separable from siblings such as import_template_package, create_template_package_upload, and get_template_package_download.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives the full call chain: submit, poll get_template_job until ready, then pass receiptId to get_template_package_download. It also states exclusions ("Does not render or create a new project") and preconditions (existing slug conflicts; a project-bound editor may export only its bound project).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
extract_brand_kitExtract Brand KitAIdempotentInspect
Queue brand-token extraction from a website URL — ASYNC: returns a jobId immediately; then wait_job(kind="brand_kit_extract", id=jobId) for the tokens (colors/fonts/title/description, fetched + regex-parsed from the site's HTML/CSS — NOT a screenshot/vision pass). It does NOT persist — review the tokens, then call create_brand_kit to save a kit. A blocked (private/SSRF), non-2xx, non-HTML, or slow (>20s) URL degrades to EMPTY token arrays (a succeeded job) rather than erroring — JS-rendered SPAs typically extract empty; author the kit manually from the compiled CSS in that case.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | POST /brand-kits/extract body — the website URL to extract brand tokens from. | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. |
Output Schema
| Name | Required | Description |
|---|---|---|
| kind | No | Job family, e.g. `verify` | `preview` | `brand_kit_extract`. |
| jobId | No | Poll GET /v1/jobs/{jobId} / wait_job until terminal. |
| jobKey | No | Deterministic identity of the work (content hash of every input the result depends on). Re-enqueueing the same key returns the same job while it runs; a failed key revives as a fresh attempt. |
| status | No | running on a fresh/deduped enqueue; succeeded when an identical request already completed. Cancelled is part of the shared status vocabulary; identical cancelled work revives to running. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial context beyond annotations: async job semantics, the 20s timeout, SSRF/private-URL blocking, non-2xx and non-HTML handling, and the crucial non-obvious behavior that all these degrade to empty token arrays on a *succeeded* job rather than an error. That failure mode is exactly what an agent would otherwise misread as success with real data. Consistent with readOnlyHint=false (a job record is queued) and idempotentHint=true.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the verb and the ASYNC warning, and every clause carries load-bearing information (job polling, no-persistence, degradation behavior). The long em-dash-and-parenthetical sentences are dense but not padded; slightly heavier parsing than necessary.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists so return shape needn't be explained, yet the description still tells the agent the immediate return is a jobId. Combined with the async polling instruction and the empty-tokens caveat, an agent has everything needed to call this correctly and interpret the result.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so both url and commandId (including retry-replay semantics) are already documented in the schema. The description adds the nature of the URL (a website to parse, not an asset) but says nothing about commandId, so it adds only marginal meaning over the structured fields. Baseline 3.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Queue brand-token extraction from a website URL') and pins the exact scope: HTML/CSS regex parsing of colors/fonts/title/description, explicitly 'NOT a screenshot/vision pass'. It also distinguishes itself from the nearest sibling by name, noting it does not persist and that create_brand_kit does.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives the full workflow: call this, then wait_job(kind="brand_kit_extract", id=jobId), then create_brand_kit to persist. It also names the when-not case ('JS-rendered SPAs typically extract empty; author the kit manually from the compiled CSS').
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
finalize_uploadFinalize UploadAInspect
Finalize a direct upload once you have PUT the bytes to the uploadUrl from create_upload. Confirms the bytes landed and starts ingest: image/asset become ready immediately (status "complete"); audio/video enter processing (status "processing"). Returns { id, status, processingPhase }. 400 if no bytes were uploaded (PUT first) or the item is not yours. Then call wait_job(kind="media", id=mediaItemId), or use a media.completed webhook.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | POST /media/:id/finalize body — optional declared audioRole. | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. | |
| mediaItemId | Yes | mediaItemId (path). |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| status | No | |
| processingPhase | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds context annotations cannot carry: image/asset complete immediately vs audio/video entering 'processing', the returned fields, the 400 conditions, and ownership checks. The idempotency-via-commandId note clarifies the opt-in retry semantics rather than contradicting idempotentHint=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the action and precondition in the first sentence, then layers outcomes, return shape, errors, and next steps in a logical order with no redundant restatement of the name or title.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even though an output schema exists, the description briefly states the return shape and, more importantly, tells the agent exactly what to do next and what errors to expect — everything needed to invoke this correctly in the upload lifecycle.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the baseline is 3. The description references mediaItemId only implicitly through the wait_job example and does not mention audioRole or commandId, so it adds little beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Finalize a direct upload') and explicitly anchors it to the two-step flow with create_upload, so it is clearly distinguishable from siblings like create_upload, import_media, and prepare_media.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit preconditions (after PUTting bytes to the uploadUrl from create_upload), explains the failure mode when that has not happened (400), and names the follow-up paths: wait_job(kind="media", id=mediaItemId) or a media.completed webhook.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
forget_tasteForget TasteADestructiveIdempotentInspect
Delete one entry from the org's learned taste by its id (from get_profile taste or remember_taste). This is how the user's "undo" works.
| Name | Required | Description | Default |
|---|---|---|---|
| tasteId | Yes | tasteId (path). | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true, idempotentHint=true, and readOnlyHint=false, so the safety profile is covered. The description adds useful framing (org-scoped, an undo of a learned preference, so low blast radius), but says nothing about what happens with an unknown or already-deleted id, or whether the removal is permanent versus soft.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, zero padding, with the core action and id source front-loaded and the undo framing used as a closing hook rather than filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a two-parameter, single-required delete with full annotation coverage and no output schema, the description supplies what an agent needs: what it deletes, how to obtain the id, and why a user would invoke it. Only edge-case behavior (missing id, repeat with a different commandId) is left to the schema and annotations.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and commandId's retry semantics are documented in the schema, so the baseline is 3. The description earns a step up by documenting the provenance of tasteId (get_profile `taste` or remember_taste), which the schema does not say.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and cardinality ('Delete one entry'), the exact resource ('the org's learned taste'), and the keying parameter ('by its id'). It also implicitly distinguishes itself from remember_taste and list_taste by naming where the id comes from, so an agent can separate it from siblings without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives the trigger context explicitly: 'This is how the user's "undo" works,' which tells the agent when to reach for it, and points to get_profile `taste` / remember_taste as the id source. It stops short of naming an alternative or a when-not condition, but the use case is unambiguous.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
generate_mediaGenerate MediaAInspect
Generate one first-class Library media item from a prompt. Choose generator: text-to-video | text-to-image | image-to-video | text-to-music | text-to-speech | text-to-sfx | auto. Put supported presentation controls in body.style and first/last/image references in body.refs. Returns { id, status:"generating", estimateUsd? }; returns 402 if the estimate exceeds the per-call ceiling. Async — call wait_job(kind="media", id=mediaItemId) or use a webhook (media.completed — status rides the payload). Use the returned id like any other media item.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | POST /media/generate body. | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| status | No | |
| estimateUsd | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With annotations silent on cost and async semantics, the description carries that load well: it discloses the return shape ({ id, status:"generating", estimateUsd? }), the 402 behavior when the estimate exceeds the per-call ceiling, and that the operation is async with two completion paths. It also tells the agent the returned id is a normal media item id, which prevents follow-on misuse.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Five short sentences, front-loaded with the verb and generator list, then effects, then async guidance. No filler; even the return-shape parenthetical is compressed to a single fragment.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a nested-schema, async, paid generation tool, the description covers selection, input placement, error condition, return shape, and both completion mechanisms. An output schema exists, so restating the payload is optional and the description already does the essential part.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 100%, so the baseline is 3, but the description adds real routing value for the nested objects: style holds presentation controls and refs holds first/last/image references. It omits any mention of commandId, the retry-identity parameter, which is a meaningful gap for a non-idempotent generation call.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Generate one first-class Library media item from a prompt') and immediately enumerates the seven mutually exclusive generator modes, so the agent knows exactly what the tool produces. It is clearly distinguishable from siblings like import_media, prepare_media, and compose.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete routing: pick a generator, place presentation controls in body.style and references in body.refs, then handle the async result via wait_job(kind="media", id=mediaItemId) or a media.completed webhook. It does not explicitly say when NOT to use this versus alternatives such as import_media or preview_clip, which keeps it from a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_accountGet AccountARead-onlyIdempotentInspect
ORIENT FIRST — show THIS key's account before you spend a metered call: the org it is bound to, the current plan, a per-feature entitlements map, and per-call cost ceilings. READ balance, NOT included. CueFrame is credit-funded: rendering (entitlements.exports), generation (generate), preview stills (compose_capture), the judge (compose_verify) and the Director (compose) have NO separate per-plan allowance — they all spend one shared wallet, named in fundedBy (credits; generation is metered in provider-cost units against that wallet). Each balance restates that ONE wallet in that feature's own unit at creditCost credits per unit, so they are alternative ways to spend the same money, not four budgets. Each entitlement also carries listUsdPerUnit: the dollar quote for ONE unit before you call (0 = a plan grant that draws no credits, e.g. resource_import — stock search + import are free; null = not quotable up front). Check the requested cost against the balance. For generation, also check generationLimit: free accounts have a separate provider-cost cap even with a positive wallet. A billing_required error with reason free_generation_cap requires a credit-pack purchase through normal checkout. included:false means the plan genuinely lacks the feature. Every new org starts with a free credit grant, so an account with an empty usage history can still render, generate, preview and score. costCeilings.generateMediaUsdPerCall is the generate_media per-call USD cap. No args — identity is resolved from your key (never echoed from input).
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| plan | No | The customer's current base plan/tier. null = unknown (billing not configured, or no active plan resolvable yet). |
| orgId | No | The org this API key is bound to — resolved server-side from the Authorization credential, NEVER from the request body/query. |
| surfaces | No | The browser URLs that actually exist, so an agent asked to "show me" can hand the user a real link instead of guessing one from an id. A null means the surface is not built, not that it is hidden from this key. |
| displayName | No | Org/customer display name from the billing record; null when not set or unknown. |
| costCeilings | No | Discoverable per-call cost ceilings so an agent can price/right-size a request before a guaranteed 402. |
| entitlements | No | Per-feature entitlements keyed by featureId. Covers the billing-gated capabilities: `exports` gates create_render AND generate_media output; `compose` gates compose; `brand_kits` gates create_brand_kit; `resource_import` gates import_resource (a boolean grant: `listUsdPerUnit` 0 — stock search and import cost no credits for a keyed caller); plus ai_tokens/storage/compose_verify/compose_capture/etc. Read `listUsdPerUnit` for what one unit costs before you spend it. Most capabilities are CREDIT-FUNDED — `included` is true and the real limit is `balance`, drawn from the shared wallet named in `fundedBy` (`credits` — generation included; a free org is additionally bounded by a generation cap). So read `balance`, not `included`, to decide whether you can afford a call; `included:false` means the plan genuinely lacks the feature. Check BEFORE a metered call to avoid a mid-workflow 402 billing_required (whose error `details.featureId` names the gating feature). |
| generationLimit | No | Separate lifetime generation cap before a credit-pack purchase. Wallet balance is still shared; generation must also fit this remaining provider-cost allowance. null means unknown. |
| billingConfigured | No | false = billing is not configured in this environment, so plan/entitlement values are best-effort and may be null (unknown), not authoritative. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare readOnly/idempotent/non-destructive; the description adds the entire funding model (one shared credit wallet via `fundedBy`, per-feature balances as alternative views of the same money), the `listUsdPerUnit` quoting semantics including 0 and null cases, and specific error behavior (billing_required with reason free_generation_cap). It also discloses that free accounts start with a grant and can still spend, which is exactly the kind of non-obvious trait annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The action directive is correctly front-loaded, but the middle is a dense wall of field-level documentation for `balance`, `included`, `fundedBy`, `creditCost`, `listUsdPerUnit`, and `costCeilings` that largely duplicates the output schema. Several sentences (e.g. the full enumeration of which features spend the shared wallet) could be compressed without losing the decision rule.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema exists, the definition is more than complete — it covers funding semantics, error reasons, free-tier caveats, and the per-call cap name. The only shortfall is that it pours return-value documentation into the description rather than letting the output schema carry it, which is a completeness-by-volume rather than completeness-by-gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so the baseline is 4; it earns a 5 by explicitly stating 'No args — identity is resolved from your key (never echoed from input)', which prevents an agent from inventing an account_id argument. That is meaningful semantics for an otherwise empty schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening clause names a specific verb and resource ('show THIS key's account') and enumerates exactly what is returned: bound org, current plan, entitlements map, cost ceilings. It is clearly distinguishable from get_usage and list_plans, which sit alongside it as siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit ordering rule ('ORIENT FIRST ... before you spend a metered call') plus a concrete read rule ('READ `balance`, NOT `included`') and an explicit pre-call check pattern against cost. The agent is told not just when to call it but what to do with the result before calling metered siblings like generate_media or compose.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_briefGet BriefARead-onlyIdempotentInspect
Read a brief by id — the persisted intent plus its current quote (compose + estimated render).
| Name | Required | Description | Default |
|---|---|---|---|
| briefId | Yes | briefId (path). |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| cta | No | |
| goal | No | What the video must accomplish. |
| hook | No | |
| kind | No | authored = create_brief; clip = minted by suggest_briefs from an AI clip suggestion. |
| name | No | |
| tone | No | |
| audio | No | |
| beats | No | |
| gates | No | |
| quote | No | |
| format | No | |
| locale | No | Output language (BCP-47 tag, e.g. 'es-419'): ALL on-screen copy + captions. |
| caption | No | |
| audience | No | |
| captions | No | |
| platform | No | |
| createdAt | No | |
| projectId | No | |
| updatedAt | No | |
| exclusions | No | |
| references | No | |
| durationSec | No | Target output duration. HONOR-OR-REFUSE: compose validates it against the beat-source window (±1.5s) and refuses a brief it cannot honor. |
| motionStyle | No | |
| mustIncludes | No | |
| seededGraphics | No | Client-authored graphic clips the Director must carry VERBATIM: seeded into the design loop's base composition as LOCKED clips (never re-authored, never discarded). |
| sourceSuggestionId | No | kind:'clip' provenance — the suggestion this Brief was minted from. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so the safety profile is covered. The description adds that the response bundles the persisted intent with a current quote (compose + estimated render), which is useful behavioral context about how fresh/derived the returned data is. It does not say whether the quote is recomputed on read or cached, which is the main open question for a read tool with derived content.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single sentence with zero filler; the verb and resource lead, and the parenthetical clarifying the payload comes last. Nothing to trim.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description needn't enumerate return fields, and it still summarizes the payload shape. One parameter, rich annotations, and a clear scope make this largely self-sufficient; only the not-found/error behavior is unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100% for the single briefId parameter (documented as a path parameter), so the schema carries the burden and baseline 3 applies. The description's 'by id' adds no format, sourcing, or failure semantics (e.g. what happens on an unknown id) beyond what the schema states.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (read) and resource (a brief by id), and clarifies what the payload contains: persisted intent plus its current quote (compose + estimated render). That is far more telling than a bare 'Get Brief'. It does not explicitly contrast with list_briefs or get_composition, so sibling differentiation is left implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Read a brief by id' implies the single-record lookup case, which implicitly separates it from list_briefs. But there is no explicit when-to-use guidance, no mention of prerequisites, and no named alternative for retrieving composition-level detail (e.g. get_composition).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_checkpointGet CheckpointARead-onlyIdempotentInspect
Read a checkpoint packet — the durable approval unit a held compose pauses at (wait_job reports awaiting_input with {checkpointId, stage, version}). Carries the stage artifact, presigned storyboard stills (REVIEW THE EVIDENCE, not raw JSON), critic verdicts, the money triple {thisStepUsd, jobSpendSoFarUsd, estimatedJourneyTotalUsd} to relay to your human, and the recorded decision once resolved. When the Brief's gates set reviewMode:'hosted' the packet also carries reviewUrl — a browser review page where your human decides directly (relay THAT link instead of raw stills; you learn the decision via checkpoint webhooks / wait_job). Answer an awaiting packet with resume(checkpointId, ...).
| Name | Required | Description | Default |
|---|---|---|---|
| checkpointId | Yes | checkpointId (path). |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| kind | No | |
| quote | No | |
| stage | No | |
| status | No | |
| briefId | No | |
| version | No | |
| artifact | No | The stage artifact under review: the locked ComposePlan at content; the composition wire shape at layout/motion; the judged composition snapshot on kind:'score'. |
| decision | No | The recorded decision {decision, comments?, globalNote?, decidedAt} once resolved. |
| createdAt | No | |
| projectId | No | |
| reviewUrl | No | Hosted review-page URL (present when reviewMode is 'hosted') — a human decides from this link, no account or agent session; the recorded decision rides the SAME resume rail, and the agent learns of it via checkpoint webhooks / wait_job. |
| stillUrls | No | Presigned storyboard/eval stills — the packet's visual evidence (may be GC'd by the retention sweep after the job goes terminal; the decision record is immortal). |
| updatedAt | No | |
| reviewMode | No | How this packet is decided (from the Brief's gates). 'hosted' = the review PAGE captures the decision; absent/'agent' = the decision flows back through the driving agent. |
| composeJobId | No | |
| revisionCycle | No | Revise cycles this gate has consumed. The brief quote states the included count (revisionCyclesIncluded); beyond it, resume(revise) is refused with a typed error. |
| criticVerdicts | No | Per-criterion scores + critique from the design loop / judge, incl. lock_violation entries. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish readOnly/idempotent/non-destructive, and the description adds substantial context beyond that: the packet carries presigned stills (with the instruction to review evidence rather than raw JSON), critic verdicts, the three cost figures to surface to a human, and the recorded decision once resolved. It also discloses how resolution is learned (webhooks / wait_job), which is real behavioral information no annotation covers.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The definition is front-loaded and the parenthetical enrichment (stills must be reviewed visually, hosted review link preferred over stills) is actionable rather than filler. It is dense and long for a one-parameter read, so some trimming is possible, but each clause carries operational guidance.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return shape needn't be spelled out, yet the description still gives the agent what the schema can't: how to interpret the contents, which link to relay to a human, and how the decision is subsequently delivered. Nothing needed to call this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% for the single parameter, so the baseline is 3; the description adds genuine value by specifying the provenance of checkpointId (it comes from wait_job's awaiting_input result) and by pairing it with resume(checkpointId, ...), showing how the same identifier is reused.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb and resource ('Read a checkpoint packet') and immediately defines the resource as 'the durable approval unit a held compose pauses at', which distinguishes it from list_checkpoints and wait_job. It then enumerates the packet's contents, so an agent knows exactly what it gets back before opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states the trigger condition ('wait_job reports awaiting_input with {checkpointId, stage, version}') and the required follow-up ('Answer an awaiting packet with resume(checkpointId, ...)'). It also branches on the Brief's gates setting reviewMode:'hosted', telling the agent to relay reviewUrl instead of raw stills, and routes decision discovery to checkpoint webhooks / wait_job.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_component_sourceGet Component SourceARead-onlyIdempotentInspect
Read an exact component source as complete JSON. Supply sourceVersionId from the selected catalog card to read that immutable revision, retaining sourceSnapshot with its complete versioned definition, manifest and template beside its exact pin and schema metadata. For an explicitly selected builtin, also supply builtinCollection:'native'|'curated-definitions' and its exact sourceVersionId; without builtinCollection resolution is scoped to the authenticated org. An unavailable exact pin refuses; never retry a head or another scope. To fork, keep the version-4 snapshot whole, change its componentId (the template root's data-composition-id too) and template, and send it to create_component. Builtins always require an exact collection and pin; ID-only builtin reads are refused. Declared slots are bound per placement in execution.assets, never caller params.
| Name | Required | Description | Default |
|---|---|---|---|
| componentId | Yes | componentId (path). | |
| sourceVersionId | No | ||
| builtinCollection | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| origin | No | |
| source | No | |
| tokens | No | |
| examples | No | Usage examples, as authored. A built-in primitive projects {name, mood?, params?, description?}; an authored component's examples are whatever it wrote, which is why the item is open. One shape for both directions: what you write here is what you read back. |
| manifest | No | |
| tsxSource | No | |
| propSchema | No | |
| description | No | |
| ejectedFrom | No | |
| metadataStatus | No | Historical source-only reads omit unavailable discovery name/description instead of borrowing current metadata. |
| sourceSnapshot | No | Immutable source snapshot: a version 4 template, a retired version 3 TSX module, or the historical version 2 source of a component stored before versioned sources (read-only; it never executes). source remains provenance. |
| sourceVersionId | No | Exact immutable source pin; distinct from bundle revisions. |
| durationInFrames | No | |
| componentVersionId | No | Exact owned source history row; equal source hashes can have different ancestry. |
| registryProvenance | No | Server-derived acquisition ancestry for this exact source row; pending is not captured qualification or portable closure. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the read-only/idempotent annotations, it discloses that unavailable exact pins refuse, head or alternative scopes must never be retried, builtins require exact collection and pin, ID-only builtin reads are refused, and caller params cannot bind slots. These are concrete behavioral constraints that materially affect invocation.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded and most sentences carry distinct information about scoping, refusal behavior, and forking. The single dense paragraph packs in multiple concepts and includes some fork-adjacent detail, making it slightly heavier than necessary but still efficient.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema and safety annotations, the description covers the key read-path semantics: immutable pinning, builtin collection requirements, scoping, refusal behavior, and fork handoff. It remains a bit thin on how componentId should be obtained or interpreted, but overall it is sufficiently complete for this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 33%, but the description compensates by explaining sourceVersionId as an exact immutable pin from a catalog card and builtinCollection as required for explicitly selected builtins with org-scoped resolution otherwise. It says little about componentId beyond the fork note, leaving one parameter less covered.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource: read an exact component source as complete JSON. It distinguishes exact immutable revision reads from head/retry behavior and from forking via create_component, so an agent can identify the tool's role.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives clear operational guidance: supply sourceVersionId from the selected catalog card, include builtinCollection for builtins, and use create_component after modifying a snapshot to fork. It does not explicitly compare against preview_component or resolve_builtin_component, so the alternative-selection guidance is strong but not complete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_compositionGet CompositionARead-onlyIdempotentInspect
Read a compact structural composition view by default, preserving observed ETag, authority metadata, clip timing, token values and source pins without large HTML bodies. Ordinary exact-ETag reads can omit includeDependencies. With includeDependencies=true, compact returns a dependency key/size index, not executable tokens; these tokens can contain full sources. Request explicit dependencyKeys for exact selected tokens, or response:"full" for all tokens. Selection does not establish a sufficient operation basis. Use clipIds:[id] with response:"full" for complete exact selected sources; unknown IDs are refused. Use response:"full" without clipIds for the original full backend JSON. Local response/clipIds/dependencyKeys arguments never reach the backend. READ BACK a composition as JSON — the edit itself: tracks, clips, card HTML, reframe segments, captions, markers, format. This is what create_render encodes, so it is also what you hand to validate_composition (which needs a full inline composition body), what you diff after an edit, and what you archive/share so someone else can re-render the SAME video. Read-only and free. Authoring stays op-based (apply_composition) — do not round-trip this object back as a write. A composition too large for routine model context can be read selectively with clipIds and response:"full"; the compact view explicitly identifies omitted source bodies. Defaults to the project's ACTIVE composition; pass compositionId to read a specific one (the same id apply_composition takes as composition_id, and preview_frame / create_render take as compositionId) so an A/B variant can be read back, not just written. The result includes the exact HTTP etag string; copy it to apply_composition.body.if_match (the numeric revision is not an ETag). In a compose session this reads the session's scratch, the composition its edits, previews and renders target. Pass includeDependencies="true" on a v1 guarded endpoint to read composition_id, revision and dependency tokens. With componentExecutionVersions=["3","4"], this envelope also returns expectedBrandIdentity from the persisted project authority; carry it unchanged into the matching negotiated write. Preserve those observed tokens when authoring; never refresh the basis to hide a conflict. BOTH shapes carry needsUpgrade when clips are stored in a retired form (unpinned or TSX component placements, removed primitives): each entry names the clipId, the kind and, when one exists, the native successor pin — move those with repin_component and rebuild the rest with create_component; such a composition will not save or render as-is. Absent when nothing needs upgrading.
| Name | Required | Description | Default |
|---|---|---|---|
| clipIds | No | Read only these exact clip IDs. With response full their complete sources are returned. Unknown and duplicate IDs are refused. Omit for all clips. | |
| response | No | MCP response view. Default compact omits repeated source bodies. Full returns the complete backend receipt or requested sources. This does not change the saved composition. | |
| projectId | Yes | projectId (path). | |
| session_id | No | Compose-session id: read that session's SCRATCH composition (what the session has been editing) instead of the active one. Mutually exclusive with `compositionId`. An unknown, foreign or scratch-less session is a 404, never the active composition. | |
| compositionId | No | Read a SPECIFIC composition instead of the project's active one. Omit it and the active composition is returned. Pairs with `composition_id` on the apply op: an edit you can make to a second composition is one you can read back. | |
| dependencyKeys | No | Select these exact existing dependency keys from includeDependencies=true. Tokens are returned byte-for-byte; unknown or duplicate keys are refused. This selection does not establish that the basis is sufficient for an operation. | |
| includeDependencies | No | Return the immutable composition identity, project revision and shared v1 dependency expectations alongside the composition. | |
| componentExecutionVersions | No | The component execution versions this reader accepts, one parameter per version: 3, or 3 and 4 (native placements). Absent readers accept only the historical protocol. |
Output Schema
| Name | Required | Description |
|---|---|---|
No output parameters | ||
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Far exceeds the annotations: it discloses that local response/clipIds/dependencyKeys never reach the backend, that unknown/duplicate IDs are refused, that an unknown or foreign session is a 404 rather than a fallback to active, that compact explicitly marks omitted source bodies, and that needsUpgrade blocks save/render with a named successor pin. It also states the cost profile ('read-only and free') and the ETag→if_match carry rule, which the annotations do not cover.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core behavior, but it is a wall of text with real redundancy: the clipIds+response:"full" recipe appears three times and the 'selection does not establish a sufficient operation basis' caveat is stated twice. Splitting the ETag/if_match and needsUpgrade rules into their own sentences would make it scannable; as written, some sentences do not earn their place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given 8 params, an output schema, and full read-only annotations, the definition covers everything an agent needs: defaulting behavior, session-scratch semantics, refusal modes, the ETag contract, and the upgrade-blocking condition. Return-shape detail is rightly deferred to the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3; the description still adds real meaning — compositionId defaults to the ACTIVE composition and maps to apply_composition's composition_id / preview_frame / create_render's compositionId, includeDependencies returns identity+revision+expectedBrandIdentity, and dependencyKeys selection 'does not establish a sufficient operation basis'. Slightly dense phrasing keeps it off a 5, but the cross-tool id mapping is genuinely beyond the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Read a compact structural composition view') and enumerates the exact content it returns (tracks, clips, card HTML, reframe segments, captions, markers, format, ETag, source pins). It explicitly separates itself from the write path ('do not round-trip this object back as a write → apply_composition'), so an agent can distinguish read from mutate without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives concrete when-to-use routing: omit includeDependencies for ordinary exact-ETag reads, use clipIds+response:"full" for large compositions or complete selected sources, response:"full" without clipIds for the original backend JSON, includeDependencies="true" on v1 guarded endpoints, componentExecutionVersions with expectedBrandIdentity for negotiated writes. It also names the consumers (validate_composition, create_render, diff-after-edit, archive/share) so the agent knows the downstream step.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_media_contextGet Media ContextARead-onlyIdempotentInspect
Fetch bounded authoring context for a media item: dimensions/thumbnail, compact face roster, transcript counts/sample, temporal grids, and fact readiness. Transcript and word-grid counts cover one page only (default 20 utterances); pass transcript.data.pagination.nextCursor as after to get_media_context for the next context page, or use get_transcript for exact paginated word timings.
| Name | Required | Description | Default |
|---|---|---|---|
| after | No | Zero-based utterance cursor from transcript.data.pagination.nextCursor. | |
| limit | No | Transcript utterances per context page (default 20, maximum 100). | |
| projectId | No | Read the item through this project, for media shared into it. | |
| mediaItemId | Yes | mediaItemId (path). |
Output Schema
| Name | Required | Description |
|---|---|---|
| faces | No | |
| facts | No | Derived facts about this source (subject tracks, mattes): what has been computed, its status, and what it was billed. Same shape as GET /media/{id}/facts. |
| width | No | |
| height | No | |
| offers | No | Enhancements this source does not have yet, with a server quote. Same shape as GET /media/{id}/facts. Mattes are quoted per-window via POST /media/{id}/matte, never here. |
| mediaId | No | |
| beatGrid | No | The MUSIC-role rhythm grid (audio-substrate MVP). Present only for a music bed that carries a computed beat grid; null otherwise. For a music-driven film, cut on these beats (transition midpoints on beats, risers resolving on downbeats). |
| envelope | No | Envelope evidence (audio-substrate P0). `envelopeClass` is always present when an envelope exists (the SFX pack carries it); the numeric probe stats are present only when an audio probe has run. Null when no envelope is stored. |
| wordGrid | No | The VO-role rhythm grid for this bounded transcript page. Present when a transcript exists; null otherwise. Check pagination.hasMore before treating it as a complete voice spine. |
| audioRole | No | DECLARED audio role of this asset (audio-substrate P0): 'vo' (narration), 'music' (bed that ducks under speech), 'sfx' (one-shot hit), 'ambience' (a bed that HOLDS under VO — never ducks). Author the clip source's `audioRole` from this. Null for footage/images or an undeclared audio asset. |
| thumbnail | No | Presigned processing thumbnail (~1 week) — the footage at a glance. For stills at chosen timestamps, use preview_frame with a one-clip composition over this media. |
| transcript | No | |
| durationSec | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds genuinely non-obvious behavior the annotations cannot convey: results are page-bounded (default 20 utterances, max 100) and counts/word-grids only cover that single page, which prevents an agent from mistaking partial counts for totals.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with what the tool returns before the pagination caveat. The payload enumeration is dense but every item is informative. Slightly overpacked — the pagination and the get_transcript handoff compete in one sentence.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists so return-shape explanation is unnecessary; annotations cover safety. The description supplies the two things an agent actually needs and could not infer: data is page-bounded with a default of 20, and how to continue. Nothing required for a correct first call is absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description earns an extra point by documenting the relationship between parameters and output that the schema can't express: `after` must be fed the transcript.data.pagination.nextCursor value, and `limit` governs utterances per context page. `projectId` is left to the schema, which documents it adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('Fetch bounded authoring context') and resource ('a media item'), then enumerates the exact payload: dimensions/thumbnail, face roster, transcript counts/sample, temporal grids, fact readiness. It also names the sibling it should not be confused with, get_transcript, so the agent can disambiguate without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit routing rule: use this for bounded context pages, use get_transcript for exact paginated word timings. It also spells out the pagination loop (pass nextCursor as `after`). What's missing is a stated exclusion for get_media_facts, the closest other context-ish sibling, so the boundary there is left implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_media_factsGet Media FactsARead-onlyIdempotentInspect
Read prepared subject tracks and behind-subject mattes for one media item. For an exact readiness check, pass kind + startSec + endSec together using the same SOURCE window sent to prepare_media; exact.state is pending | ready | failed | available | unavailable. If subjectTrack was prepared without intent, omit all three filters and check the whole-source subjectTrack in facts instead. Wait for the required fact to be ready before preview_frame / score_composition.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | Resolve one exact editor prerequisite. Requires startSec and endSec; the response includes the server-selected `exact` result. | |
| endSec | No | Source-out of the clip's trim, in seconds. Must be sent WITH startSec. | |
| startSec | No | Source-in of the clip's trim, in seconds. Must be sent WITH endSec — one without the other is a 400, never a silent whole-source default. | |
| mediaItemId | Yes | mediaItemId (path). |
Output Schema
| Name | Required | Description |
|---|---|---|
| exact | No | The server-selected fact or offer for one exact source window. Present when kind, startSec, and endSec are supplied; clients consume this instead of recreating the fact hash. |
| facts | No | |
| offers | No | What is NOT yet present and could be bought. A `matte` offer appears ONLY when the request carried `startSec`+`endSec` (the clip's SOURCE window) — a matte's price is a function of its duration, so there is no honest whole-source matte quote. `transcript` is never offered: it is produced by the ingest pipeline, not bought here. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover read-only/idempotent safety, and the description layers on non-obvious behavior: the readiness state machine (pending | ready | failed | available | unavailable) and the 400-on-partial-window rule from the schema. Those are operational traits an agent cannot infer from annotations alone.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, then two conditional usage paths, then the sequencing gate — no wasted sentences. Slightly dense with jargon (SOURCE window, exact.state, facts) that assumes familiarity with the sibling tooling.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
A read tool with an output schema and full annotation coverage, so return shape needn't be explained. The description still supplies the pieces an agent needs to call it correctly: mode selection, the state enum, and the downstream ordering constraint.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% so the baseline is 3, but the description adds cross-parameter semantics the schema does not: the three filters are a coupled unit tied to the prepare_media SOURCE window, and omitting all three yields a whole-source check on facts.subjectTrack. It stops short of describing units or edge cases for individual params, which the schema already handles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Read prepared subject tracks and behind-subject mattes for one media item.' It is clearly distinguishable from prepare_media (which creates the artifacts) and preview_frame / score_composition (which consume them), both named explicitly.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit routing rules: pass kind + startSec + endSec together using the same SOURCE window sent to prepare_media for an exact check; omit all three filters if the track was prepared without intent. It also states the sequencing precondition — wait for the fact to be ready before preview_frame / score_composition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_profileGet ProfileARead-onlyIdempotentInspect
The org's legible taste in ONE read: brand kits, registered critics (the machine-checkable standard both the Director's gates and score_composition enforce), their reference media (presigned thumbnails), the recent checkpoint-decision log, and the learned taste (style preferences saved with remember_taste). Read this BEFORE composing for an org you haven't worked with — it is the house style. Learned taste is advice: the current request, brief, project, brand kit, exclusions and critics take precedence; name any conflict.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| taste | No | Learned style preferences. Advice only: the current request, its brief, the project and the brand kit, exclusions and critics all take precedence. |
| critics | No | Registered critics — run in the Director's gates AND score_composition. |
| brandKits | No | The org's brand kits (bind one to a project via update_project). `audio` carries the brand sound kit when set. |
| references | No | The union of critic reference media — the org's visual standard, with provenance. |
| recentDecisions | No | The last recorded checkpoint decisions — the raw log learned taste is saved from. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
With readOnlyHint, idempotentHint, and destructiveHint already covering safety, the description adds useful behavior: presigned thumbnails, a recent checkpoint-decision log, and the precedence rule for learned taste versus current request/brief/project/brand kit/critics. It stops short of mentioning auth context or presigned URL expiration, so it is strong but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The main content is front-loaded and every clause contributes to telling the agent what is inside the profile and how to treat it. The first sentence is dense and relies on domain jargon, which keeps it from being maximally concise, but it is appropriately sized for a multi-part read tool.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the output schema exists, the description need not document return shapes, and it otherwise covers the key context: what the profile contains, when to consult it, and how to resolve conflicts between learned taste and current instructions. An agent has enough to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool has zero parameters and schema coverage is 100%, so there is no parameter ambiguity to resolve. Per the rubric, a zero-parameter tool gets a baseline of 4.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states the resource (the org's profile/taste) and enumerates exactly what comes back: brand kits, critics, reference media, checkpoint log, and learned taste. It also distinguishes this as a consolidated 'ONE read' rather than a generic list or account fetch.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a clear trigger: read this BEFORE composing for an unfamiliar org, and explains that it is the house style. It does not explicitly name when not to use it or route to a specific alternative, but the 'ONE read' framing implies it replaces multiple narrower reads.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_registry_acquisitionGet Registry AcquisitionBRead-onlyInspect
Recover an organization-owned immutable acquisition receipt, exact raw/transformed file descriptors, bounded source text and an expiring archive link. Retain the bundle digest and distinguish original upstream bytes, installer transformations and later CueFrame adaptations. Binary/large files are explicitly identified; omitted text is not empty source. Foreign live references refuse. Saved provenance supports owned forks; it never grants compatibility, ownership of another organization’s objects, or a fresh rendered preview.
| Name | Required | Description | Default |
|---|---|---|---|
| receiptId | Yes | receiptId (path). |
Output Schema
| Name | Required | Description |
|---|---|---|
| files | No | |
| archive | No | |
| candidate | No | |
| receiptRef | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already establish a safe read (readOnlyHint=true, destructiveHint=false), and the description adds substantial context beyond them: an expiring archive link, refusal of foreign live references, and the caveat that omitted text is not empty source. This also implicitly explains the idempotentHint=false (expiring link). It stops short of describing the receipt's failure modes or bundle ordering in detail.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core resource is front-loaded in the first sentence, but the paragraph is dense and jargon-laden ('bounded source text', 'later CueFrame adaptations', 'foreign live references refuse'), reducing scannability. Sentences carry content but several caveats could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, the description needn't explain return structure, and it sensibly covers behavioral caveats instead. For a single-param getter this is largely sufficient; the main gap is the absence of sibling differentiation across the many registry-related tools.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the sole parameter is documented only as 'receiptId (path).' and the description never mentions receiptId or its expected format/value. With the schema doing essentially all the work and the description adding nothing, the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb ('Recover') and a well-defined resource (an organization-owned immutable acquisition receipt with raw/transformed descriptors, source text and archive link). It is clear what the tool returns, but it never distinguishes itself from nearby siblings like get_registry_item, acquire_registry_item, or search_registry_items, so an agent cannot route between them from this text alone.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no explicit statement of when to use this tool versus get_registry_item or search_registry_items, and no stated preconditions or exclusions. The only guidance-like clauses ('Foreign live references refuse', 'never grants compatibility') are behavioral constraints, not usage routing, leaving selection to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_registry_itemGet Registry ItemARead-onlyInspect
Inspect one exact external registry item manifest, including examples. Supply all snapshot fields returned by discovery together, or omit all to inspect current. Unknown upstream metadata is preserved. Inspect actual source and requirements before adaptation; an upstream poster/movie is unverified reference evidence. This read never invokes add/init or executes downloaded source. An example can be inspectable while its init acquisition remains explicitly unsupported.
| Name | Required | Description | Default |
|---|---|---|---|
| name | Yes | name (path). | |
| sourceCommit | No | ||
| registryOrigin | No | ||
| inventorySha256 | No | ||
| cliArtifactSha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| kind | No | |
| name | No | |
| tags | No | |
| title | No | |
| source | No | |
| preview | No | |
| itemType | No | |
| snapshot | No | |
| admission | No | |
| stability | No | |
| variables | No | |
| acquisition | No | |
| deprecation | No | |
| description | No | |
| rawMetadata | No | |
| manifestSha256 | No | |
| licenseEvidence | No | |
| declaredRequirements | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/destructive annotations, the description discloses several non-obvious traits: it never invokes add/init or executes downloaded source, unknown upstream metadata is preserved, upstream items are unverified reference evidence, and an item can be inspectable while its init acquisition is unsupported. This is exactly the added context annotations cannot convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core action and the snapshot-field rule are front-loaded, and most sentences carry distinct information. The closing sentence about an inspectable example with unsupported init is a useful but slightly repetitive restatement of the unverified-reference point.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return shapes need not be explained, and the description covers safety, snapshot-field grouping, and evidence trustworthiness. The gap is the individual snapshot parameter meanings, which remain undocumented given the low schema coverage.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 20% (only `name` is described, and thinly as 'name (path)'), so the description must compensate. It does so meaningfully with the all-or-nothing rule for the four snapshot fields (sourceCommit, registryOrigin, inventorySha256, cliArtifactSha256) versus omitting them to inspect current state. It still doesn't explain what each hash/origin field represents, so not a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb+resource: 'Inspect one exact external registry item manifest, including examples.' That distinguishes it from the listing/search siblings, though it never names `search_registry_items` or `acquire_registry_item` directly, so the boundary is inferred from 'one exact' rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives a concrete usage rule: supply all snapshot fields from discovery together, or omit all to inspect current, plus a directive to 'inspect actual source and requirements before adaptation.' What's missing is explicit routing to alternatives — acquire_registry_item and search_registry_items are never mentioned even though they are the natural next/previous steps.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_renderGet RenderARead-onlyIdempotentInspect
Read ONE render's record without waiting on it: status, progress while it runs, outputUrl + outputExpiresAt once complete, the typed failure (errorCode / category / retryable) if it failed, and WHAT RENDERED — compositionId (the composition it froze), format (aspect/fps/resolution it encoded at), engine, createdAt / completedAt, outputDurationSec, and the preview window for a preview_clip. Free, read-only, instant — use it to audit or correlate a past render (which composition, when, how long) where wait_job would block; wait_job remains the way to block until a running render finishes. An expired outputUrl is refreshed with refresh_render_url.
| Name | Required | Description | Default |
|---|---|---|---|
| renderId | Yes | renderId (path). | |
| projectId | Yes | projectId (path). |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| error | No | Human-readable failure message. Pair with `errorCode` for a stable, machine-readable code an agent runner can branch on. |
| engine | No | The render engine the row was minted for. Null on rows minted before the engine was recorded. |
| format | No | The resolved output format the render was encoded at (aspectRatio, fps, resolution): the frozen composition's, after any create-time scale override. Null on legacy rows. |
| status | No | |
| listUsd | No | A2 money stamp: the metered event's LIST price (USD), stamped at the success terminal (exports for deliverable renders, compose_capture for A8 previews). A plan allowance may zero the actual invoice line — this is the list price, never a Stripe charge. Absent while running, on failure, and for x402 orgs (on-chain receipts). Mirrors the get_usage ledger. |
| preview | No | The scoped preview window when this is a preview_clip render; null for a full deliverable. |
| category | No | Failure taxonomy when status is `error`; null otherwise. `authoring` = deterministic defect in YOUR composition/request — fix it, retrying is futile; `transient` = temporary pipeline/infra failure — safe to retry_render; `internal` = unexpected server fault — retry once then escalate. Mirrors the render.failed webhook's `category`. |
| progress | No | Non-terminal render progress; phase is one of the worker's emitted stages. |
| warnings | No | Non-fatal advisories surfaced at render-CREATE (omitted when none, and on GET — create-time only). |
| createdAt | No | |
| errorCode | No | Stable, machine-readable error code (e.g. `render_pipeline_unavailable`, `render_route_missing`, `render_pipeline_failed`). Null when status is not `error` or unavailable for an older render. |
| outputUrl | No | |
| retryable | No | Whether re-attempting the SAME render can succeed (status `error`); null otherwise. true → call retry_render. false → deterministic (category authoring/internal); fix the composition first — retry_render alone reproduces it. Mirrors the render.failed webhook's `retryable`. |
| updatedAt | No | ISO-8601 timestamp of the render's most recent progress update. Compute staleness = now − updatedAt to distinguish a wedged render from a slow one and decide whether to wait, cancel, or retry. |
| completedAt | No | ISO-8601 instant the render reached its terminal status (complete, error or cancelled); null while it runs. Pair with createdAt for the wall time. |
| errorDetails | No | Structured failure context — `{ targetUrl?, upstreamStatus?, upstreamCode?, attemptedAt? }`. Surfaced so agent runners can distinguish operator-config issues from upstream-down vs route-missing without parsing `error`. |
| compositionId | No | The composition this render froze at create time (the project's active one, or the compositionId the request named). Null on renders minted before this was recorded. |
| outputExpiresAt | No | |
| outputDurationSec | No | The output's length in seconds (the composition timeline's, or the preview window's), as billed. Null on legacy rows. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/non-destructive, so the bar is lower; the description still adds latency semantics ("instant", "without waiting") and the expiry behavior of outputUrl with the recommended recovery tool. It does not restate annotation claims in a contradictory way. Minor gap: no mention of error surfacing for unknown renderId or project scoping behavior.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core capability and the wait_job contrast are front-loaded, and the sentences are dense but earned. The long field enumeration is slightly overstuffed given an output schema exists, but it remains scannable rather than redundant filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 2-param read tool with annotations and an output schema, the description supplies all selection-critical information: scope, non-blocking behavior, failure fields, and URL refresh path. The field enumeration partially duplicates the output schema, leaving a small redundancy rather than a gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, but the schema descriptions are placeholder-thin ("renderId (path)."). The description adds no semantics about renderId/projectId formats or scoping, so the baseline 3 is the right ceiling when the schema nominally covers both parameters.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a specific verb and resource ("Read ONE render's record") and immediately scopes it against the sibling that blocks ("without waiting on it"). It enumerates the concrete payload (status, progress, outputUrl/expiry, typed failure fields, compositionId, format, engine, timestamps), so an agent knows exactly what it retrieves and how it differs from wait_job.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states both when to use it ("audit or correlate a past render ... where wait_job would block") and when not to ("wait_job remains the way to block until a running render finishes"). It also routes the expired-URL case to refresh_render_url, giving explicit alternatives for the edge condition.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_templateGet TemplateARead-onlyIdempotentInspect
Read a saved organization template by id or a known public catalog template by slug. The answer is a summary: the media and value parameters with their kinds and options, presets with their values and brand kit, the brand kit, rubric, components (id, version, asset slots) and an outline of the tracks and clips; never component sources (read one with get_component_source, or pass full: true for the whole document). Use the exact reference with start_template or apply_template. Do not invent a slug from a component-library card.
| Name | Required | Description | Default |
|---|---|---|---|
| full | No | Return the whole template document, component sources included, instead of the summary. | |
| template | Yes | template (path). |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| slug | No | |
| version | No | |
| document | No | A CueFrame template document (kernel TemplateDocument): v: 1, slug, name, composition with {{name}} references, parameters, components by value, an optional brandKit, presets, rubric, gallery and provenance. |
| createdAt | No | |
| updatedAt | No | |
| fromCatalog | No | |
| documentSha256 | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, and an output schema exists, so the bar is lower. The description still adds real value by disclosing the summary-vs-full distinction and the hard exclusion ('never component sources'), which is the main gotcha an agent would hit.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, then return shape, then alternatives and a caveat — a sensible order. It is a single dense paragraph with a few repeated ideas (summary vs full appears twice), so it is not maximally tight, but nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers purpose, both retrieval modes, return contents, the one exclusion, and the follow-up tools to call. With an output schema handling return structure and annotations handling safety, nothing an agent needs to invoke this correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3, but the description adds semantics the schema does not: the 'template' argument accepts an id or a public catalog slug, and the reference must be exact. That is meaningfully more than the terse schema text 'template (path)'.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb+resource and two retrieval modes (org template by id, public catalog template by slug), which immediately separates it from list_templates and get_component_source. The rest of the sentence enumerates what the read returns, so an agent knows exactly what it gets.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes to alternatives: get_component_source for a single source, full: true for the whole document, and start_template/apply_template for actually using the template. It also gives a negative rule ('Do not invent a slug from a component-library card') that prevents a foreseeable failure mode.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_template_jobGet Template JobARead-onlyIdempotentInspect
Read exact durable template preparation status. For library-import or library-export, ready means a saved organization template and destination-owned package receipt; projectId remains null. Preserve templateId/templateVersion, documentSha256 and package receipt; refresh its URL with get_template_package_download. Export sourceProjectId identifies the original saved project; projectId remains null. For ordinary instantiation/apply, read the returned projectId. Failed/cancelled states include the retained reason. Do not treat preparing as successful import.
| Name | Required | Description | Default |
|---|---|---|---|
| jobId | Yes | jobId (path). |
Output Schema
| Name | Required | Description |
|---|---|---|
| mode | No | |
| jobId | No | |
| stage | No | |
| status | No | |
| package | No | |
| createdAt | No | |
| errorCode | No | |
| projectId | No | |
| updatedAt | No | |
| templateId | No | |
| templateRef | No | |
| errorMessage | No | |
| documentSha256 | No | |
| sourceProjectId | No | |
| templateVersion | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, so the safety profile is covered; the description goes beyond by disclosing state semantics that annotations cannot — projectId stays null for import/export jobs, failed/cancelled states retain a reason, and "preparing" must not be read as success. That is genuine added behavioral context an agent would otherwise have to guess.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded and every clause carries distinct information about a different job mode, so nothing is strictly wasted. But the delivery is a dense semicolon-chained wall mixing status interpretation, ID preservation advice, and sibling routing, which makes it harder to scan than a mode-segmented structure would be.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value explanation is not required, and the description instead supplies the interpretive layer the schema cannot encode: what ready means per mode, what null fields signal, and how failure states surface. For a single-parameter read tool this is close to complete, with only the jobId source being unspecified.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Single required jobId with 100% schema description coverage, so the schema carries the burden and the baseline of 3 applies. The description adds no format, provenance, or sourcing hint for jobId (e.g., where to obtain one), so it neither compensates nor detracts.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb+resource pair ("Read exact durable template preparation status"), which tells an agent this is a status-read for a template job rather than the template itself. It implicitly distances itself from polling siblings via "durable", but never names get_template or wait_job, so the sibling boundary is inferred rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives conditional interpretation rules keyed to mode (library-import/export vs. ordinary instantiation) and one explicit routing instruction to get_template_package_download for URL refresh. However, it never says when to call this versus wait_job or get_template, nor what preconditions produce a valid jobId, so the primary use decision is left implicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_template_package_downloadGet Template Package DownloadARead-onlyInspect
Refresh the short-lived download URL for an exact organization-owned portable template package receipt. Supply the receiptId from a ready import/export template job. Server verifies retained immutable package/document authority; never pass bucket keys or arbitrary archive URLs. Project-bound editors must also pass the exact ready export jobId for their bound source project and this receipt; an unrelated job or receipt refuses.
| Name | Required | Description | Default |
|---|---|---|---|
| jobId | No | ||
| receiptId | Yes | receiptId (path). |
Output Schema
| Name | Required | Description |
|---|---|---|
| url | No | |
| warnings | No | |
| expiresAt | No | |
| receiptId | No | |
| archiveBytes | No | |
| archiveSha256 | No | |
| documentSha256 | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description discloses important behavior: the URL is short-lived, the server verifies retained immutable package/document authority, bucket keys are rejected, and project-bound editors face additional jobId matching requirements. These details materially reduce the risk of misuse.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The purpose is front-loaded in the first sentence, followed by usage constraints and refusal conditions. Every sentence contributes useful information without filler or repetition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
The tool has an output schema, so return values need not be explained. The description covers purpose, parameter meaning, security validation, and invocation conditions completely enough for an agent to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Although schema description coverage is only 50%, the description explains that receiptId comes from a ready import/export template job and that jobId is required for project-bound editors and must match the bound source project. This adds substantial meaning beyond the sparse schema descriptions.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: refresh the short-lived download URL for an exact organization-owned portable template package receipt. It clearly distinguishes this tool from siblings such as export_template_package or refresh_render_url by scoping it to receipt-based package downloads.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says to supply the receiptId from a ready import/export template job, warns never to pass bucket keys or arbitrary archive URLs, and states that project-bound editors must pass the exact ready export jobId. It also notes that an unrelated job or receipt will be refused, giving clear when/when-not conditions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_transcriptGet TranscriptARead-onlyIdempotentInspect
Read exact source-time transcript words in bounded utterance pages. Word start/end values are seconds from the source media start. Default limit is 20; pass pagination.nextCursor as after for later pages. The formatter omits the unbounded fullText duplicate.
| Name | Required | Description | Default |
|---|---|---|---|
| after | No | Zero-based utterance cursor returned as pagination.nextCursor. | |
| limit | No | Utterances per page. | |
| before | No | Zero-based utterance cursor for a backward page. Do not combine with after. | |
| mediaItemId | Yes | mediaItemId (path). |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| fullText | No | |
| language | No | |
| pagination | No | Cursor pagination metadata. |
| utterances | No | |
| mediaItemId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this as read-only, idempotent, non-destructive, and closed-world. The description adds valuable behavioral context beyond annotations: source-time units are seconds from media start, results are bounded utterance pages, and the formatter omits the unbounded fullText duplicate.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is short, front-loaded, and every sentence serves a purpose: it defines the read operation, units, pagination usage, default limit, and output omission behavior.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With read-only annotations, full schema descriptions, and an output schema, the description is complete enough for correct invocation. The main remaining gap is that it does not route the agent away from the similar editorial_inspect_transcript sibling.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the parameters are already well documented. The description reinforces the default limit and cursor relationship, but mostly repeats schema details and does not explain the before parameter or add much new parameter semantics.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description clearly states a specific verb/resource: reading exact source-time transcript words in bounded utterance pages. It is understandable without opening the schema, but it does not distinguish this tool from the sibling editorial_inspect_transcript.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives useful pagination guidance: default limit is 20 and pagination.nextCursor should be passed as after. However, it does not say when to use this tool versus related transcript or media-inspection siblings, nor does it provide exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
get_usageGet UsageARead-onlyIdempotentInspect
The A2 usage ledger: every metered billing event newest-first with attribution — featureId, amount, the project/job that produced it, and the event's LIST price in USD (a plan allowance may zero it on the invoice). Answer "what did project X cost this period?" with a query instead of summing your own quotes. Filter by projectId, jobId, and/or a [from, to) epoch-ms window. Requires the billing:read scope.
| Name | Required | Description | Default |
|---|---|---|---|
| to | No | Period end, epoch milliseconds, EXCLUSIVE. | |
| from | No | Period start, epoch milliseconds, INCLUSIVE. | |
| after | No | Opaque cursor from the previous page's `pagination.nextCursor`. Forward-only. | |
| jobId | No | Only events produced by this job — how to answer "did my failed render post a charge?" for one run. | |
| limit | No | Page size (1..100), default 20. Out-of-range or unparseable clamps into the range. | |
| projectId | No | Only events attributed to this project. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| pagination | No | Cursor pagination metadata. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds meaningful context beyond the readOnly/idempotent annotations: newest-first ordering, that the amount is LIST price (invoice may zero it), and the billing:read scope requirement. Pagination semantics are left to the schema, which keeps it from a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, front-loaded with what the tool is and its value, then filters and the scope prerequisite. Dense but every sentence contributes; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists so return values needn't be spelled out, and the description covers purpose, use case, filters, and auth. Complete enough for correct invocation across all six optional params.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so all six parameters are already documented. The description reiterates projectId/jobId/[from,to) filtering but adds little beyond what the schema's per-parameter descriptions convey, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource (metered billing events / usage ledger) with concrete returned fields (featureId, amount, attribution, LIST price) and ordering (newest-first). No sibling tool deals with billing, so the agent can confidently distinguish it.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Provides a concrete use-case framing ('answer what did project X cost this period?') and warns against summing quotes manually. It doesn't name alternatives or state when-not to use it, so it stops short of full routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
import_mediaImport MediaAInspect
Import a media item into your library from a public URL — the agent-friendly ingest path (single call, no upload protocol). Pass url (https) + filename (+ optional contentType). Returns { id, status:"importing" }. Processing is async: call wait_job(kind="media", id=mediaItemId), or register a webhook (create_webhook on media.completed — status: complete|failed rides the payload). Use the returned id with get_media_context, suggest_briefs, or as a composition source.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | POST /media/import body. | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| status | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare the safety profile (non-read-only, open-world, non-idempotent, non-destructive); the description supplies what they cannot: the operation is asynchronous, what is returned ('{ id, status: "importing" }'), how to await completion, and the alternative webhook path with its payload semantics. That is exactly the behavioral context an agent needs beyond the structured hints.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
A single tight paragraph with the primary action and mechanism front-loaded, then inputs, then return value, then follow-up. Every sentence carries information an agent must act on.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even though an output schema exists, the description still documents the async contract and downstream consumers (get_media_context, suggest_briefs, composition source), which the schema cannot express. Nothing critical to calling it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so baseline is 3. The description adds the 'https' requirement for url (more specific than format: uri) but omits the size and audioRole inputs entirely, and calls contentType optional even though the schema lists it under required — a small inaccuracy that could mislead.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Import a media item into your library from a public URL') plus the ingestion mechanism. The parenthetical 'single call, no upload protocol' implicitly separates it from the create_upload/finalize_upload siblings, so an agent can pick it without opening another schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives clear usage context ('agent-friendly ingest path, single call, no upload protocol') and an explicit follow-up path (wait_job or create_webhook). It stops short of naming a concrete alternative for the case when a local file rather than a public URL is the source, which is the one branching decision an agent faces here.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
import_resourceImport ResourceAInspect
Import a stock candidate (candidateId from search_resources) into a project as an ORG-OWNED media item — provider/externalId/license provenance preserved, bytes deduped across orgs. Pass projectId + candidateId. Returns { id, status:"importing"|"ready" }; processing is async — call wait_job(kind="media", id=mediaItemId), then use the returned id as a composition source. Gated on the resource_import plan feature (402 billing_required if your plan lacks it). COST: 0 credits — search and import are both free for a keyed caller (get_account → entitlements.resource_import.listUsdPerUnit is 0); imported bytes count toward the storage gauge. 422 candidate_mismatch if the candidate expired — re-run search_resources.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | POST /resources/import body — stock candidate lane { projectId, candidateId } OR curated pack lane { kind:"sfx-pack"|"music-pack", id }. | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| status | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial context beyond the annotations (readOnly=false, idempotent=false, destructive=false): async processing with status importing|ready, the exact follow-up wait_job call, storage-gauge accounting, zero credit cost with the entitlement field to verify it, and the 402/422 failure modes. No contradiction with the annotations — the per-commandId retry note is scoped to body.commandId and does not conflict with idempotentHint=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the action and scope, then sequencing, then cost/errors — a sensible order with no filler sentences. The COST sentence is somewhat dense with the get_account/entitlements parenthetical, which is the only clause that could be trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers what an agent needs for the common path: preconditions, async lifecycle, follow-up tool, return shape documented by the existing output schema, and error codes. The one gap is the curated pack lane (kind/id) permitted by the schema, which the description never mentions, leaving that branch to the schema alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema baseline is 3. The description adds useful provenance for candidateId (comes from search_resources) but its instruction "Pass projectId + candidateId" omits the second supported body shape (kind:"sfx-pack"|"music-pack" + id) that the schema explicitly documents, so the description under-states the parameter surface rather than enriching it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb and resource plus the exact scope: import a stock candidate (candidateId from search_resources) into a project as an org-owned media item with provenance and cross-org dedup. This clearly separates it from import_media (external files) and from search_resources (discovery), which is the distinction an agent actually needs.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives real sequencing guidance: call after search_resources, then wait_job(kind="media", id=mediaItemId), then use the returned id as a composition source. Also documents prerequisites (resource_import plan feature, 402 billing_required) and recovery on 422 candidate_mismatch (re-run search_resources). It stops short of naming when to prefer import_media or a pack lane instead, so not a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
import_template_packageImport Template PackageAInspect
Import an uploaded portable template package using only uploadId and idempotencyKey. The reservation binds archive bytes and ownership; never supply storage keys, document bodies or provenance assertions. Optional destinationSlug/name creates an explicit fork. Updating an existing slug requires both expectedVersion and expectedDocumentSha256. Returns a durable library-import job; use get_template_job until ready. Read its destination templateId/templateVersion and package receipt. Organization-library operation; project-bound editor credentials are refused.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. |
Output Schema
| Name | Required | Description |
|---|---|---|
| mode | No | |
| jobId | No | |
| stage | No | |
| status | No | |
| package | No | |
| createdAt | No | |
| errorCode | No | |
| projectId | No | |
| updatedAt | No | |
| templateId | No | |
| templateRef | No | |
| errorMessage | No | |
| documentSha256 | No | |
| sourceProjectId | No | |
| templateVersion | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the annotations, the description explains the reservation binding archive bytes and ownership, the no-storage-key/no-provenance rule, fork semantics, update preconditions, asynchronous job behavior, and authorization constraints. These are meaningful operational details for a non-read-only import tool.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is dense but front-loaded and largely waste-free, covering requirements, constraints, update semantics, and the follow-up job tool. It is appropriately sized for a complex import operation, though it is packed enough to read as a single compressed block.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given the tool is a complex mutating import with an output schema, the description supplies the missing operational context: required inputs, forbidden inputs, fork vs update behavior, authorization scope, asynchronous job handling, and what to read from the resulting job. No essential call-time information is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is only 50% and the body is nested, but the description carries most of the semantic burden: it explains uploadId, idempotencyKey, optional destinationSlug/name behavior, expectedVersion and expectedDocumentSha256 preconditions, and forbids irrelevant storage/provenance fields. The commandId parameter is left to the schema description.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource: importing an uploaded portable template package. It distinguishes this from sibling operations by naming the upload reservation, the optional fork behavior, the job handoff, and the related package/export tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives explicit usage rules: use only uploadId and idempotencyKey, never supply storage keys or document bodies, optional destinationSlug/name forks, updating an existing slug requires expectedVersion and expectedDocumentSha256, and the caller should poll get_template_job until ready. It also states that project-bound editor credentials are refused.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_briefsList BriefsARead-onlyIdempotentInspect
List briefs. DEFAULT shows human-authored briefs only; kind:"clip" shows the machine-minted clip briefs (suggest_briefs output), kind:"all" shows everything. Each carries its quote.
| Name | Required | Description | Default |
|---|---|---|---|
| kind | No | Which briefs to list. `authored` (default) = human-authored only; `clip` = the machine-minted clip briefs from suggest_briefs; `all` = both. | |
| after | No | Opaque cursor from the previous page's `pagination.nextCursor`. Forward-only. | |
| limit | No | Page size (1..100), default 20. Out-of-range or unparseable clamps into the range. | |
| projectId | No | Scope to one project. Omit for every brief in the org. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| pagination | No | Cursor pagination metadata. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare this a safe, idempotent read. The description adds a genuinely non-obvious behavioral trait: the DEFAULT result set is filtered to human-authored briefs only, so an agent won't silently miss clip briefs. It also notes "Each carries its quote," hinting at payload content. Leaving out pagination behavior keeps it just short of a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences with the default behavior front-loaded before the alternatives, which is the correct ordering. "Each carries its quote" is slightly opaque out of context, costing a point, but nothing is padded.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return shape needs no explanation, and annotations cover the safety profile. The description supplies the critical default-filtering caveat; the only real gap is any mention of cursor-based pagination beyond what the schema states.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the schema already documents all four parameters including `after`, `limit`, and `projectId`. The description only restates the `kind` semantics (adding the mild extra context that clips originate from suggest_briefs) and says nothing about the other three parameters, so baseline 3 is right.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("List briefs") and immediately characterizes the three scopes the result set can take, which is the main thing separating this from a plain enumeration. It does not differentiate itself from close siblings like editorial_list_briefs or get_brief, so an agent must still reason about which brief-listing tool to pick.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description explains how the `kind` values change results, which implies when to reach for each mode, but it never states when to use this tool instead of get_brief, editorial_list_briefs, or create_brief. Usage is inferable rather than explicit.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_catalogList CatalogARead-onlyIdempotentInspect
Use projection:'component-library' for the unified source-free library page, returned as complete JSON with exact scoped definition/preset/recipe cards and pagination. Choose origin:'builtin' for the maintained builtins or origin:'library' for the authenticated serving home; use libraryKind, category, q, limit and after to filter/page. Preserve each card identity.scope and identity.revision, its source/definition pin or exact recipe document identity; same names/IDs in different scopes remain distinct. Resolve the selected exact source with sourceVersionId (plus builtinCollection for an explicitly selected builtin), never a latest-head or another-home lookup. Presets identify their exact presetVersionId, definition pin and historical document witness; recipes identify their complete exact document and member source pins. This projection contains no source bodies or legacy thumbnail substitution. Omit projection for the historical catalog protocol below. DISCOVER WHAT TO BUILD WITH — list the component catalog: the one built-in primitive (heroText, the behind-subject overlay) plus your org-installed components. Desktop also includes bundled kind:'component-package' entries: these are complete reusable authored packages; insert them with the desktop apply_template tool using placement.template and explicit insert.startTime/idPrefix, media bindings and parameter values. Do not pass their ids to clip.add, get_component_source, or cueframe://component resources. Their draft status does not certify visual review or licensing. For hosted builtin preset/recipe cards, call resolve_builtin_component with the exact collection, id and revision, then apply_template with template: and body:{projectId,documentSha256,insert:{startTime,idPrefix},...}. Hosted tool request fields live under body; desktop tool shapes may differ. The agent-safe default page is 20 entries; use pagination.nextCursor as after, or narrow with category, kind, tier, useCase, mood, q, or intent. Results are recommended-tier-first when filtered. Primitive/installed entries carry the exact placement hint for apply_composition and fixedCopy warnings; use get_component_source to fork a primitive when baked copy must change. Read cueframe://component/{id} for the full primitive/installed prop schema. SCENE SHOTS ARE NOT LISTED HERE: there is no built-in scene primitive, so do not look for one — author a shot with the scene.add op (see cueframe://scene-shot). The wrapper it registers then appears here as an ordinary INSTALLED component under these same rules.
| Name | Required | Description | Default |
|---|---|---|---|
| q | No | Free-text match across id/name/description/intent/useWhen/tags/mood. Recommend-orders results. | |
| kind | No | Filter by render kind (component|transition|scene). | |
| mood | No | Filter to entries whose mood tags include this value (e.g. cinematic, minimal). | |
| tier | No | Filter by curation tier (recommended|standard|niche). | |
| after | No | Opaque cursor from a previous page's nextCursor (forward-only). | |
| limit | No | Page size (1..100). Omit to return the whole filtered catalog in one page. | |
| intent | No | Alias of `q` framed as recommend-by-intent (e.g. intent=intro). Recommend-orders results. | |
| origin | No | With component-library projection, builtin selects immutable builtin cards; library selects the authenticated org's exact serving datastore. | |
| useCase | No | Filter to entries whose useCase includes this edit role (e.g. intro, title-over-footage, grade). | |
| category | No | Filter to one category bucket (text|effects|transitions|layouts|backgrounds|ui-blocks|scenes). | |
| projection | No | ||
| libraryKind | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations that already mark this as a safe read-only listing, the description discloses important behavioral traits: the projection is source-free, draft status does not certify visual review or licensing, results are recommended-tier-first when filtered, and card identity.scope/revision and exact source pinning must be preserved. It also states the agent-safe default page size, pagination cursor behavior, and that scene shots are intentionally absent.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is long, dense, and not front-loaded around the primary action; the high-level purpose appears well after projection-specific instructions. It mixes two catalog protocols, routing guidance, result-field rules, and scene-shot caveats into a single wall of text, with some repetition and capitalization used as structure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex 12-parameter listing tool with no output schema, the description is largely complete: it explains return-card identity, source-free behavior, draft caveats, pagination, and how to resolve exact preset/recipe sources. The remaining gap is that the historical protocol and full return-card shape are described by implication rather than cleanly separated, so an agent may need to reread to distinguish the two modes.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already high at 83%, but the description adds meaningful semantics for key parameters: projection='component-library', origin='builtin' vs 'library', libraryKind filtering, after as pagination.nextCursor, q/intent recommend-ordering, and narrowing by category, kind, tier, useCase, mood, or intent. It also references sourceVersionId and builtinCollection in the result-resolution protocol, though those are not present in the input schema, which slightly muddies the parameter story.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description eventually states the core action clearly: "list the component catalog: the one built-in primitive ... plus your org-installed components." It also distinguishes the tool from siblings such as apply_template, get_component_source, resolve_builtin_component, and clip.add. However, the purpose is delayed behind a dense projection-specific opening, so it is clear but not front-loaded.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says when to use the component-library projection, when to omit projection for the historical protocol, and how to route builtin preset/recipe cards through resolve_builtin_component then apply_template. It also names alternatives and exclusions, including not passing component-package ids to clip.add, get_component_source, or cueframe://component resources, and directing scene shots to scene.add instead.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_checkpointsList CheckpointsARead-onlyIdempotentInspect
List checkpoint packets newest-first (filter with composeJobId for one run's v1→vN gate history, or projectId). The version stack with per-version status + decisions IS the review history — nothing is deleted.
| Name | Required | Description | Default |
|---|---|---|---|
| after | No | Opaque cursor from the previous page's `pagination.nextCursor`. Forward-only. | |
| limit | No | Page size (1..100), default 20. Out-of-range or unparseable clamps into the range. | |
| projectId | No | Scope to everything reviewable in one project. | |
| composeJobId | No | Scope to ONE compose run — its v1→vN gate history with per-version status and decisions. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| pagination | No | Cursor pagination metadata. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so the safety profile is covered. The description adds genuinely new behavioral context: the result is ordered newest-first, and the version stack is the durable review history with 'nothing is deleted' as a retention guarantee, which tells the agent the listing is historically complete.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences with the core action front-loaded and the filter guidance nested beside it. No filler, though the em-dash aside about review history is slightly compressed and could read as marketing rather than instruction.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists and annotations cover the safety profile, so the description is not obligated to explain return shape. What remains slightly missing is how this relates to get_checkpoint for fetching a single packet, and whether the stack is per-packet or flattened.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the param descriptions already spell out 'Scope to ONE compose run — its v1→vN gate history with per-version status and decisions,' which the tool description largely restates. It adds little beyond the schema apart from combining the filters in one sentence.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List checkpoint packets') plus the ordering ('newest-first'), which is enough to distinguish it from mutation-oriented siblings like apply_composition. It does not name get_checkpoint, the obvious single-item alternative, so the boundary is left implicit.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The parenthetical explains which filter to pick ('composeJobId for one run's v1→vN gate history, or projectId'), which is useful selection guidance. But it never says when to call this versus get_checkpoint or list_compositions, and gives no prerequisites or exclusions.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_compositionsList CompositionsARead-onlyIdempotentInspect
List every composition (video) in a project, with its format and which one is active. Use a returned compositionId with create_render(compositionId=...) to render a specific video, or apply_composition to edit it.
| Name | Required | Description | Default |
|---|---|---|---|
| projectId | Yes | projectId (path). |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already establish read-only, idempotent, non-destructive, closed-world behavior, so the safety profile is covered. The description adds output-oriented context by mentioning format and the active composition, but it does not add auth, rate-limit, pagination, or error behavior beyond that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is two sentences and front-loads the core purpose before the follow-up usage guidance. There is no wasted text, and the structure makes the tool's role immediately clear.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple one-parameter list tool with an output schema and strong safety annotations, the description is complete enough. It explains scope, response highlights, and how the returned compositionId can be used next.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so the single projectId parameter is already documented in the schema. The description implies project scoping with 'in a project', but it does not add projectId identifier format or deeper meaning beyond the schema baseline.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description uses a specific verb, 'List', and a clearly scoped resource: every composition (video) in a project. It also names what the response includes, format and active composition, which distinguishes it from the singular get_composition sibling.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives useful downstream guidance: use a returned compositionId with create_render to render or apply_composition to edit. That clearly frames this as a discovery/list step, though it does not explicitly contrast with get_composition or state when not to use this tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_criticsList CriticsARead-onlyIdempotentInspect
List registered critics: criticId, label, tier (rules|rubric|evaluator), phase, floor, referenceMediaIds. Rubric text / rules / evaluator URLs are write-only — never echoed. Manage with register_critic (upsert) / delete_critic.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| critics | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, and openWorldHint=false, so the safety profile is covered. The description adds genuinely non-obvious behavior: rubric text, rules, and evaluator URLs are write-only and never echoed, which prevents the agent from expecting that content in the response.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the primary purpose front-loaded and the write-only caveat immediately following. The enumeration of returned fields is somewhat redundant given that an output schema exists, costing a little space that could have been trimmed.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present and annotations covering the safety profile, the description supplies the one thing structured data cannot: the write-only redaction behavior. The field list duplicates the output schema, so the description is complete but not maximally efficient.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4. There are no argument semantics to explain and the description appropriately spends no space on them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('List') and resource ('registered critics') and enumerates the returned attributes including the tier enum values (rules|rubric|evaluator). It distinguishes itself from the mutation siblings by explicitly naming register_critic and delete_critic.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The second sentence routes the agent to the correct alternatives for write operations: register_critic for upsert and delete_critic for removal. There is no explicit 'when not to use' guidance, but the read-vs-mutate split is clear from context.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_mediaList MediaARead-onlyIdempotentInspect
List the media in your CueFrame library. Filter a real library with kind (video|audio|image|gif|asset|source|stock), source (upload|generated|import-url|stock), or tag — so you find YOUR footage, not e2e debris. Returns media item IDs and metadata; use an ID with get_media_context, suggest_briefs, or as a composition source.
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | Filter to items carrying this EXACT tag (not a prefix or substring match). | |
| kind | No | Filter to one media kind. | |
| after | No | Opaque cursor from the previous page's `pagination.nextCursor`. Forward-only. | |
| limit | No | Page size (1..100), default 20. Out-of-range or unparseable clamps into the range. | |
| source | No | Filter by how the item entered the library. | |
| projectId | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| pagination | No | Cursor pagination metadata. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the read-only, idempotent, non-destructive profile, and an output schema covers the return shape, so the description only needs to add context — which it does by stating that IDs feed get_media_context/suggest_briefs and that results are the real library rather than e2e fixtures. It does not mention pagination behavior, though the `after`/`limit` schema fields carry that.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three sentences, front-loaded with the core action, then filters, then return/next-step guidance. The inline enum enumeration duplicates the schema slightly, but it lets an agent choose filters without opening the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present the description needn't explain return values, and the annotations handle safety, so what remains — filters, real-vs-test scope, and the ID-chaining workflow — is covered. The only gap is projectId, which is undocumented in both schema and description, leaving the agent to guess that ambiguity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 83%, so the schema already documents tag (exact match), kind, source, after, and limit. The description echoes the filter names and enumerates most kind/source values but adds no semantics beyond the schema, and it never mentions projectId, which has no schema description at all. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("List the media in your CueFrame library") plus the available filter dimensions, which separates it cleanly from list_projects, list_compositions, and list_catalog. It also names the downstream consumers of the returned IDs, so the agent knows exactly what this tool produces.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Clear about when this is the right call (browsing real library assets rather than test debris) and explicitly routes to get_media_context, suggest_briefs, or composition sourcing once an ID is in hand. It does not name an alternative listing tool to use instead when, e.g., the agent wants catalog/stock browsing, so it stops short of full when-not coverage.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_plansList PlansARead-onlyIdempotentInspect
List the plan catalog (tiers, intervals, product ids, prices) BEFORE a checkout, so create_checkout requests a real {plan, interval} instead of guessing an id. No args — reads the platform catalog.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| plans | No | Every purchasable {tier, interval} and its product id. |
| billingConfigured | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The annotations already declare readOnlyHint, idempotentHint, destructiveHint=false, and openWorldHint=false, so the safety profile is covered. The description adds that it reads the platform catalog with no args, but does not disclose freshness, auth requirements, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two tight sentences with the purpose and the checkout dependency front-loaded. Every phrase earns its place and nothing is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return-value details need not be repeated. Given the zero-parameter, read-only nature of the tool and the rich annotations, the description is complete enough for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
There are zero parameters, and the description explicitly says 'No args', which matches the empty schema. No further parameter semantics are needed.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a specific verb and resource ('List the plan catalog') and enumerates the contents (tiers, intervals, product ids, prices). This clearly differentiates it from the generic sibling list_catalog and from create_checkout.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It explicitly says to call this BEFORE a checkout so create_checkout receives a real {plan, interval} instead of guessing an id. It omits an explicit contrast with list_catalog or any when-not guidance, but the intended usage is unmistakable.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_projectsList ProjectsARead-onlyIdempotentInspect
List your projects — re-orient in an existing workspace instead of minting duplicates (steady-state entry, A9). Each row carries the id every other tool needs.
| Name | Required | Description | Default |
|---|---|---|---|
| after | No | Opaque cursor from the previous page's `pagination.nextCursor`. Forward-only. | |
| limit | No | Page size (1..100), default 20. Out-of-range or unparseable clamps into the range. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| pagination | No | Cursor pagination metadata. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint, destructiveHint=false and openWorldHint=false, so the safety profile is fully covered. The description's one added behavioral fact — that each row carries the id every other tool needs — is genuinely useful for chaining, but pagination behavior and result scoping go unmentioned.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two short sentences, with the purpose and the anti-duplication intent front-loaded. The internal label "(steady-state entry, A9)" is the only dead weight and could be dropped without loss.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a simple two-parameter list tool with an output schema, full annotation coverage and 100% schema documentation, the description supplies what the structured fields cannot: why to call it and what the rows give you. Only the omission of any paging cue keeps it from being fully complete.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%: cursor semantics (opaque, forward-only) and limit range/clamping are already documented in the schema. The description adds nothing about either parameter, so the baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("List your projects") and adds the intent behind it — re-orienting in an existing workspace rather than creating duplicates, which implicitly separates it from create_project. It stops short of naming any sibling outright, so the differentiation is inferred rather than stated.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"re-orient in an existing workspace instead of minting duplicates" gives a usable when-to-use signal and hints at the create_project alternative, but the parenthetical "(steady-state entry, A9)" is internal jargon that conveys nothing to an agent. No explicit exclusion such as when to prefer list_catalog or another listing tool.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_render_fontsList Render FontsARead-onlyIdempotentInspect
The fonts the RENDERER can actually draw — read this BEFORE authoring type, not after a refusal. Per family: the exact family name authoring accepts, the weight RANGES a shipped file declares (a static face has min===max; a variable face gives its axis range), the caption default weights, and whether the bytes are bundled or an aliased metric-compatible stand-in. Anything listed here passes validation by construction: it is derived from the same table the font gate refuses by. Two facts worth reading off it — every family's styles is ["normal"], because NO bundled family ships an italic FILE (a real italic comes only from a brand-kit font asset), and a weight outside every range is REFUSED, never synthesised. Contrast search_fonts, which searches the GOOGLE catalog and will happily return families the renderer cannot draw. manifestVersion identifies this exact face table; record it beside a composition to state what a font choice was validated against. Covers the bundled set only — a brand kit's sealed faces are per-org and per-render. No args, read-only, free.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| families | No | |
| manifestVersion | No | Identifies this exact face table. Derived from the table's own content, so it moves when and only when the admitted set moves. Record it beside a composition to state which face table a font choice was validated against. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover readOnly/idempotent/closed-world, but the description adds non-obvious behavior no structured field carries: results pass validation by construction, `styles` is always ["normal"] because no bundled family ships an italic file, out-of-range weights are refused rather than synthesised, and `manifestVersion` is a reproducibility handle.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The load-bearing constraint (read before authoring) is front-loaded and the sibling contrast closes the loop. A few clauses are rhetorically padded — 'will happily return', 'not after a refusal' — which cost a little density in an otherwise tight definition.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Although an output schema exists, the description still explains the fields an agent must reason about at call time (weight ranges vs. static faces, bundled vs. metric-compatible alias) and states the scope limit for brand kits. Nothing needed to call it correctly and act on the result is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Zero parameters, so the schema-completeness baseline of 4 applies; there is nothing to disambiguate. The description spends its space on output-field semantics (ranges, styles, manifestVersion) rather than inputs, which is appropriate but not additive on the parameter axis itself.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific resource and scope: the font families the renderer can actually draw, plus per-family details it returns (family name, weight ranges, caption defaults, bundled vs alias). It explicitly distinguishes itself from search_fonts, the one sibling that overlaps, so an agent can route without opening either schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit timing rule — read this BEFORE authoring type, not after a refusal — and names the alternative (search_fonts for the Google catalog) plus the failure mode that alternative causes. It also bounds itself: covers the bundled set only, with brand-kit faces out of scope.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_tasteList TasteARead-onlyIdempotentInspect
Read the org's learned taste: whether the owner has it on (enabled) and its saved entries, oldest first. While enabled is false, do not apply the entries. Learned taste is advice: the current request, brief, project, brand kit, exclusions and critics take precedence.
| Name | Required | Description | Default |
|---|---|---|---|
No parameters | |||
Output Schema
| Name | Required | Description |
|---|---|---|
| enabled | No | The owner's switch. While off, nothing is saved or recalled. |
| entries | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint, idempotentHint and destructiveHint:false, so the safety profile is covered; the description adds genuinely new behavioral semantics about how the result must be treated (advisory only, gated on enabled, subordinate to other signals). It does not discuss org-level authorization or whether entries can be stale.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two dense sentences with no filler: the first defines the read and its output shape, the second defines the constraint on using that output. Both facts are front-loaded and each earns its place.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a zero-param, read-only tool with an output schema and full annotation coverage, the description supplies the one thing structured data cannot: how to interpret and prioritize the returned taste. Only minor scoping details (per-org vs per-owner, whether entries can be empty) are absent.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
The tool takes zero parameters, so the baseline is 4; nothing in the schema needs compensating for. The description still characterizes the returned values (enabled flag, entries ordered oldest first), which is a bonus rather than a parameter concern.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Read the org's learned taste') and names the two fields returned ('enabled' and saved entries, oldest first), so the agent knows exactly what it gets. It separates itself from remember_taste/forget_taste only implicitly through the read verb rather than by naming them.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit conditional rule ('While enabled is false, do not apply the entries') and a precedence rule listing what outranks learned taste (request, brief, project, brand kit, exclusions, critics). It stops short of saying when to call it versus remember_taste/forget_taste, but the usage context is clear.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
list_templatesList TemplatesARead-onlyIdempotentInspect
List this organization's saved templates. Follow pagination.nextCursor with after to read further pages. Public catalog slugs are not enumerated here; read a known public slug with get_template.
| Name | Required | Description | Default |
|---|---|---|---|
| after | No | Opaque cursor from the previous page's `pagination.nextCursor`. Forward-only. | |
| limit | No | Page size (1..100), default 20. Out-of-range or unparseable clamps into the range. |
Output Schema
| Name | Required | Description |
|---|---|---|
| data | No | |
| pagination | No | Cursor pagination metadata. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive and closed-world, so safety is covered. The description adds behavior beyond that: how to continue pagination (follow pagination.nextCursor into after) and that public catalog entries are excluded from results — both are non-obvious result-set facts.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, each doing distinct work: scope, pagination, exclusion plus redirect. Scope is front-loaded and there is no redundant restatement of the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With a full schema, an output schema, and complete annotations, the description covers the remaining gaps an agent needs: scope, paging continuation, and what is not returned. Minor omissions like ordering or empty-result behavior are tolerable given the output schema.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% with both params fully documented, so the baseline is 3. The description goes further by linking the response field pagination.nextCursor to the `after` parameter, clarifying the cursor chaining contract that the schema alone states only abstractly.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('List this organization's saved templates') with an explicit scope qualifier that separates it from catalog-wide listing tools. An agent can immediately tell this returns org-owned templates, not the public catalog.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly excludes public catalog slugs and routes the agent to get_template for reading a known public slug, which is real when-not guidance with a named alternative. It stops short of naming list_catalog as the tool to browse the public catalog, so the alternative routing is only partial.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
new_compositionNew CompositionAInspect
Create a NEW composition (a new video) inside a project — a project is a workspace that holds many videos. Returns { compositionId, format, etag }. Pass an optional name and format (aspectRatio/fps/resolution); format defaults to the project's compositionFormat. The first composition becomes the project's active default. To author it, seed with apply_composition then compose({ fromComposition: true }) — your authored graphics ride as locked clips, carried verbatim; to render a specific one, pass its compositionId to create_render. (For a reframed sibling in another aspect, use derive_composition.)
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | POST /projects/:id/compositions body — create a new video (composition) in the project. `format` defaults to the project's compositionFormat when omitted. | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. | |
| projectId | Yes | projectId (path). |
Output Schema
| Name | Required | Description |
|---|---|---|
| etag | No | The strong ETag of the empty composition, for If-Match on its first write. |
| format | No | |
| compositionId | No | The new composition's id: `composition_id` for apply_composition, `compositionId` for preview_frame and create_render. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare the mutating, non-idempotent profile; the description adds substantive behavior: the return shape, that format defaults to the project's compositionFormat, that the first composition becomes the active default, and that authored graphics ride as locked clips carried verbatim. These are real side effects and data-flow facts an agent cannot get from the annotation flags.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and return shape, then workflow, then alternatives. Dense but every clause carries information; the trailing parenthetical is slightly cramped but useful.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema, full schema descriptions, and annotations present, the description fills the remaining gap: the authoring workflow and the defaulting behavior. Nothing an agent needs to invoke this correctly appears missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds meaning beyond field names: the name is optional, format is optional and falls back to the project's compositionFormat, and it summarizes the format facets (aspectRatio/fps/resolution). It does not explain commandId's retry semantics (that lives in the schema) or the platform field.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Starts with a specific verb and resource ('Create a NEW composition (a new video) inside a project') and defines the parent concept. It explicitly separates itself from siblings by naming derive_composition for reframed variants and create_render for rendering.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit workflow: seed with apply_composition then compose({ fromComposition: true }), then pass compositionId to create_render. It also states the alternative route ('For a reframed sibling in another aspect, use derive_composition'), leaving little to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
prepare_mediaPrepare MediaAIdempotentInspect
Prepare the perception artifact an authored edit needs BEFORE sighted review. Pass body.kind="subjectTrack" for face/active-speaker reframing, or body.kind="matte" for a true zPlane:"behind-subject" graphic. Pass body.intent {startSec,endSec} using SOURCE time (the media trim, not timeline time); it is required for mattes and strongly recommended for subject tracks so the prepared fact exactly matches the clip and quote. This is the supported product path — never accept a preview that silently flattens depth or ignores speaker tracking. Returns a fact receipt; with intent, poll get_media_facts using the same kind/window until exact.state is ready; without intent, omit all three filters and find the whole-source subjectTrack in facts until status is ready (failed is terminal). Existing pending/ready facts are reused without another charge.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | POST /media/:id/facts body. | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. | |
| mediaItemId | Yes | mediaItemId (path). |
Output Schema
| Name | Required | Description |
|---|---|---|
| factId | No | |
| status | No | |
| quotedUsd | No | |
| alreadyExisted | No | True when this exact fact was already pending or ready. Nothing was dispatched and nothing will be charged. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond annotations by disclosing billing behavior ('pay only for its duration', 'reused without another charge'), a terminal failure state ('failed is terminal'), and the async receipt-and-poll contract. Annotations only declare idempotency and non-destructiveness; the cost/reuse/terminal-state semantics are the operationally critical details and are all surfaced here.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the action and the kind branching, then intent, then the follow-up polling steps. Some sentences are overloaded (the kind/intent sentence packs three constraints) and the polling instructions add length, but nearly every clause carries actionable information, so little is wasted.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter async operation with an output schema, the description covers the decision (which kind), the required inputs and their time basis, the async completion path via get_media_facts, cost/reuse behavior, and terminal failure. Nothing an agent needs to call it and correctly follow up is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the schema already documents kind and intent, but the description adds real meaning: intent must be in SOURCE time (the trim, not timeline time) and why (so the prepared fact matches the clip and quote), plus the cost/required distinction between kinds. It does not clarify commandId (left to the schema) but that is a minor omission.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('prepare') and resource ('perception artifact') and enumerates the two purchasable kinds, subjectTrack and matte, so the agent can tell it apart from get_media_facts (which is described as the polling companion). The framing is dense with domain jargon ('perception artifact', 'fact receipt', 'zPlane'), which slightly obscures what is actually being created.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when to use each kind (subjectTrack for face/active-speaker reframing, matte for a behind-subject graphic), the timing constraint ('BEFORE sighted review'), and the follow-up path via get_media_facts with the same kind/window including the no-intent variant. It also names an anti-pattern to reject ('never accept a preview that silently flattens depth'), which is exactly the routing guidance an agent needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_cardPreview CardARead-onlyIdempotentInspect
Render ONE authored card on its own and SEE it, before placing it in a composition. Pass the same html (+ optional tokens) you would put in a {kind:"card"} clip; you get the still back as an image. Use this while writing a card — it is the fast loop for catching type that overflows the frame, a headline that collides with a logo, or tokens that did not resolve. Sized to the format you name, so what you see is what that aspect ratio will show. To judge MOTION rather than layout, shell the card with a motion preset and use preview_clip.
| Name | Required | Description | Default |
|---|---|---|---|
| html | Yes | The card markup, exactly as it would appear in a {kind:"card"} clip source. | |
| tokens | No | Token substitutions the html references (e.g. brand colours, fonts). Same shape as the clip source `tokens`. | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. | |
| projectId | Yes | projectId (path) — the card is rendered inline; nothing is persisted to the project. | |
| aspectRatio | No | Frame to size the card into. Default 9:16 — a card that fits 16:9 often overflows vertical. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly/idempotent/non-destructive, so safety is covered. The description adds real context beyond them: the result is a still image returned inline, nothing is persisted, and the frame is sized to the named aspect ratio so the preview matches the final crop. Return payload structure and any render failure behavior are not described, keeping it below a 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action, then usage loop, then the sibling hand-off — a sensible order. It is slightly long for a five-parameter read-only tool, with some rhetorical phrasing ('SEE it', 'what you see is what that aspect ratio will show') that could be tightened.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a read-only preview tool with no output schema, the description covers input provenance (card markup + tokens), output form (a still image), and framing behavior. Only edge cases — invalid html, unresolved tokens, or render failures — are left unaddressed, which are minor for this complexity.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With 100% schema coverage the baseline is 3, but the description adds cross-tool semantics the schema cannot: html must be exactly what a {kind:"card"} clip source would carry, and tokens must match that same shape. It does not restate the aspectRatio enum or commandId retry semantics, which the schema already handles.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource — render one authored card standalone and see it as an image — and anchors it in the product's data model ('the same html you would put in a {kind:"card"} clip'). It is plainly distinct from preview_clip (motion) and from the composition/render tools.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit timing ('use this while writing a card — the fast loop for catching overflow, collisions, unresolved tokens') plus a named alternative and the condition that selects it ('to judge MOTION rather than layout ... use preview_clip'). No inference required.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_clipPreview ClipAInspect
Render a scoped, cheap MOTION preview — ONLY body.fromSec→body.toSec of the composition (max 60s) at preview quality (capped resolution, lighter encode) through the real render pipeline. THE way to judge motion — a cut, a transition, a component's animation — at full fidelity BEFORE paying for a full render (a still cannot show motion; a full render costs the export). ASYNC: returns a render job; wait_job(kind="render", id=renderId) or a render.completed webhook for the URL. Meters the capture feature, never an exports credit.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | POST /projects/:id/preview-clip body. | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. | |
| projectId | Yes | projectId (path). |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| error | No | Human-readable failure message. Pair with `errorCode` for a stable, machine-readable code an agent runner can branch on. |
| engine | No | The render engine the row was minted for. Null on rows minted before the engine was recorded. |
| format | No | The resolved output format the render was encoded at (aspectRatio, fps, resolution): the frozen composition's, after any create-time scale override. Null on legacy rows. |
| status | No | |
| listUsd | No | A2 money stamp: the metered event's LIST price (USD), stamped at the success terminal (exports for deliverable renders, compose_capture for A8 previews). A plan allowance may zero the actual invoice line — this is the list price, never a Stripe charge. Absent while running, on failure, and for x402 orgs (on-chain receipts). Mirrors the get_usage ledger. |
| preview | No | The scoped preview window when this is a preview_clip render; null for a full deliverable. |
| category | No | Failure taxonomy when status is `error`; null otherwise. `authoring` = deterministic defect in YOUR composition/request — fix it, retrying is futile; `transient` = temporary pipeline/infra failure — safe to retry_render; `internal` = unexpected server fault — retry once then escalate. Mirrors the render.failed webhook's `category`. |
| progress | No | Non-terminal render progress; phase is one of the worker's emitted stages. |
| warnings | No | Non-fatal advisories surfaced at render-CREATE (omitted when none, and on GET — create-time only). |
| createdAt | No | |
| errorCode | No | Stable, machine-readable error code (e.g. `render_pipeline_unavailable`, `render_route_missing`, `render_pipeline_failed`). Null when status is not `error` or unavailable for an older render. |
| outputUrl | No | |
| retryable | No | Whether re-attempting the SAME render can succeed (status `error`); null otherwise. true → call retry_render. false → deterministic (category authoring/internal); fix the composition first — retry_render alone reproduces it. Mirrors the render.failed webhook's `retryable`. |
| updatedAt | No | ISO-8601 timestamp of the render's most recent progress update. Compute staleness = now − updatedAt to distinguish a wedged render from a slow one and decide whether to wait, cancel, or retry. |
| completedAt | No | ISO-8601 instant the render reached its terminal status (complete, error or cancelled); null while it runs. Pair with createdAt for the wall time. |
| errorDetails | No | Structured failure context — `{ targetUrl?, upstreamStatus?, upstreamCode?, attemptedAt? }`. Surfaced so agent runners can distinguish operator-config issues from upstream-down vs route-missing without parsing `error`. |
| compositionId | No | The composition this render froze at create time (the project's active one, or the compositionId the request named). Null on renders minted before this was recorded. |
| outputExpiresAt | No | |
| outputDurationSec | No | The output's length in seconds (the composition timeline's, or the preview window's), as billed. Null on legacy rows. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations, it discloses the async contract (returns a render job; wait via wait_job(kind="render", id=renderId) or a render.completed webhook), the billing nuance ('meters the capture feature, never an exports credit'), and quality limits (max 60s, capped resolution, lighter encode). These are exactly the operational details annotations cannot express.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with scope and purpose, then alternatives, then async/metering behavior — a sensible order with no filler sentences. The emphatic caps and em-dash phrasing make it denser than strictly necessary, but every clause carries information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an async job-creating tool with an output schema and annotations already present, this covers the remaining gaps: how to collect the result, how it is billed, what quality/limits to expect, and when not to use it. Nothing an agent needs to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds a constraint not present in the schema: the 60-second maximum on the fromSec→toSec window. It doesn't explain compositionId or commandId, but the schema describes those adequately.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description states a specific verb and resource ('Render a scoped, cheap MOTION preview') and immediately narrows the scope to body.fromSec→body.toSec. It explicitly distinguishes itself from the two nearest alternatives: preview_frame ('a still cannot show motion') and create_render ('a full render costs the export').
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives an explicit when-to-use rule ('THE way to judge motion... at full fidelity BEFORE paying for a full render') and names the conditions that select the alternatives (still vs. full export). An agent can pick the correct tool without opening any schema.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_componentPreview ComponentARead-onlyIdempotentInspect
Queue a typed preview artifact for ONE org-installed component — ASYNC: returns a jobId immediately; then wait_job(kind="preview", id=jobId). The preview and production compositor consume the same content-addressed component bundle and verified artifact contract. body.componentId selects the component; pass body.params to render it with props (the mount's params); declared manifest slots are bound separately and reach the scene's assets, never params. Admission/runtime/capability failures land on the job terminal with sanitized author-fixable messages. Idempotent per immutable render key.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. | |
| projectId | Yes | projectId (path). |
Output Schema
| Name | Required | Description |
|---|---|---|
| kind | No | Job family, e.g. `verify` | `preview` | `brand_kit_extract`. |
| jobId | No | Poll GET /v1/jobs/{jobId} / wait_job until terminal. |
| jobKey | No | Deterministic identity of the work (content hash of every input the result depends on). Re-enqueueing the same key returns the same job while it runs; a failed key revives as a fresh attempt. |
| status | No | running on a fresh/deduped enqueue; succeeded when an identical request already completed. Cancelled is part of the shared status vocabulary; identical cancelled work revives to running. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well past the annotations: async job lifecycle, the wait_job follow-up contract, failure handling (admission/runtime/capability failures land on the job terminal with sanitized author-fixable messages), and idempotency keyed on the immutable render key. The idempotency-per-render-key detail refines rather than restates idempotentHint=true.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the verb and the async contract, then progressively narrows to params vs assets and failure semantics. It is dense and jargon-heavy ("content-addressed component bundle", "verified artifact contract") but no sentence is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Given an output schema exists and the schema documents most body fields, the description covers everything needed to call correctly: async flow, follow-up tool, prop-vs-slot distinction, failure surface, and idempotency. Nothing material is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
At 67% schema coverage, the description compensates where the schema is silent: `params` has no schema description, and the text explains it renders the mount's props, while manifest slots bind separately and reach the scene's `assets`, never params. It also clarifies that `body.componentId` selects the component, though it adds nothing for fps/width/height/durationInFrames, which the schema already documents.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: "Queue a typed preview artifact for ONE org-installed component." The scope qualifiers (ONE, org-installed) separate it from composition-level previews like preview_frame/preview_clip without the agent needing to open a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit invocation context: it is ASYNC, returns a jobId immediately, and the agent must follow up with wait_job(kind="preview", id=jobId). It also says which body fields select the component and supply props. It stops short of naming alternatives such as preview_frame or preview_clip and when those should be preferred.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
preview_framePreview FrameARead-onlyIdempotentInspect
Queue durable still-frame evidence for layout/copy judgment. Returns immediately with {jobId, kind:'preview_frame', status}; then call wait_job(kind="preview_frame", id=jobId) for artifact metadata and up to four embedded frame images; fetch failures or payload limits may return fewer. Use wait_job imageIndices to read other original image artifacts from the completed job, at most four indices per call, without rendering again. Repeating the same arguments repeats the same selection. Artifact URLs alone are not observed pixels. The immutable snapshot records geometry, layers, warnings, and whether the target was persisted, inline, or session scratch. A still cannot prove motion — use preview_clip or preview_component for animation.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. | |
| projectId | Yes | projectId (path). |
Output Schema
| Name | Required | Description |
|---|---|---|
| kind | No | Job family, e.g. `verify` | `preview` | `brand_kit_extract`. |
| jobId | No | Poll GET /v1/jobs/{jobId} / wait_job until terminal. |
| jobKey | No | Deterministic identity of the work (content hash of every input the result depends on). Re-enqueueing the same key returns the same job while it runs; a failed key revives as a fresh attempt. |
| status | No | running on a fresh/deduped enqueue; succeeded when an identical request already completed. Cancelled is part of the shared status vocabulary; identical cancelled work revives to running. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well past the readOnly/idempotent hints: discloses the async job contract (immediate {jobId, kind, status} return), the follow-up call needed, a cap of four embedded images, partial results on fetch failure or payload limits, cache behavior on repeated args, and that URLs are not observed pixels. These are exactly the traits annotations cannot express.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the immediate return contract before the follow-up instructions, and nearly every sentence carries unique operational information. It is dense and runs long, spanning wait_job usage and vision-token caveats, but no sentence is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For an async render tool with a nested body object and an output schema, the description supplies the missing pieces: the immediate-response shape, the job-polling path, image-count limits, and failure-mode expectations. An agent could invoke and complete this flow from the description alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67% and the schema itself documents scale, session_id, timestamps, imageFormat, jpegQuality, and compositionId thoroughly. The description adds no parameter-level meaning for this tool — its numeric caps ('at most four indices per call', '18 per request' is only in the schema) refer to wait_job, not to preview_frame inputs. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('queue durable still-frame evidence for layout/copy judgment') and implicitly scopes it to stills, which separates it from the motion siblings it names. An agent can tell what it does and what it produces without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicit routing: call wait_job(kind="preview_frame", id=jobId) to get artifacts, and an explicit when-not with the alternative named — 'A still cannot prove motion — use preview_clip or preview_component for animation.' This is the when/when-not/alternatives pattern in full.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
refresh_registry_snapshotRefresh Registry SnapshotAInspect
Explicitly refresh external registry metadata: resolve moving main once to a full commit, then capture one coherent fixed inventory/manifest snapshot using the qualified client. Pass body:{commandId,expectedSnapshot,expectedRevision}; both expected values are null only for first selection. Preserve the observed snapshotRevision returned by current discovery and the exact snapshot as the CAS witness. Native author sessions inject their existing replay-stable top-level commandId. Stale head/revision refuses rather than rebasing silently. Refresh does not change customer sources, local forks or timeline placements. Preview/variable/dependency metadata changes remain separate, and actual source-byte differences require explicit acquisition before adaptation, review and guarded adoption.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. |
Output Schema
| Name | Required | Description |
|---|---|---|
| diff | No | |
| revision | No | |
| snapshot | No | |
| warnings | No | |
| commandId | No | Create with boundedCommandId(ulid(), digest) from @cueframe/studio-contracts/commandIdentity, using ulid from the ulid package: cf1:<26-character uppercase ULID>:<64 lowercase hexadecimal characters>. Keep the whole original identity for every retry within the 14-day retry window. After expiry, reconcile the original outcome instead of assigning a new identity. The caller-provided digest is not checked against the request body. |
| completeness | No | |
| previousSnapshot | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only blanket-declare readOnly=false, destructive=false and openWorld=true; the description adds real substance beyond that: stale head/revision refuses rather than rebasing silently, refresh does not touch customer sources, local forks or timeline placements, and source-byte differences require a separate acquisition step. The 14-day retry window and commandId replay semantics are also disclosed. Slightly short of 5 because return/response behavior after a successful refresh is left entirely to the output schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded in the first clause, but the text is a dense run-on stack of internal jargon (CAS witness, replay-stable, guarded adoption) with no formatting breaks, making it hard to scan for the operative instruction. It is information-rich but not efficiently structured.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a CAS-guarded mutation with nested parameters and a present output schema, the description covers the essential invocation preconditions, refusal semantics, and side-effect boundaries. Gaps are minor: no mention of permission/auth requirements for touching an external registry, and no note on what a successful refresh yields (left to the output schema).
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
With only 50% schema coverage, the description compensates well: it explains that expectedSnapshot/expectedRevision are null only for the first selection, that the observed snapshotRevision and exact snapshot act as the CAS witness, and that native author sessions inject their existing replay-stable top-level commandId rather than a new body one — a distinction the schema alone does not make. This is meaningfully more than the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The opening sentence gives a specific verb and resource ('Explicitly refresh external registry metadata') and elaborates the mechanism: resolve moving main to a fixed commit, then capture one coherent inventory/manifest snapshot. That is more than a restatement of the title. It does not, however, name or contrast any of the adjacent registry siblings (acquire_registry_item, get_registry_acquisition, get_registry_item), so an agent gets no direct routing signal.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Usage is implied through 'Explicitly refresh' and the rule that both expected values are null only for first selection, which tells the agent this is the follow-up to discovery. But it never states when to prefer this over acquire_registry_item or get_registry_acquisition, nor what precondition (an existing observed snapshotRevision) is mandatory before calling.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
refresh_render_urlRefresh Render UrlAIdempotentInspect
Re-sign a COMPLETE render's output URL. A render's presigned MP4 link lasts ~7 days, so wait_job / getRender on an old render hands back a link that 403s; this mints a fresh one for the same file and returns { outputUrl, outputExpiresAt }. Needs projectId + renderId (from create_render). 422 render_not_complete while the render is still running or failed — wait_job for it first. Requires renders:write (the row's stored URL is updated).
| Name | Required | Description | Default |
|---|---|---|---|
| renderId | Yes | renderId (path). | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. | |
| projectId | Yes | projectId (path). |
Output Schema
| Name | Required | Description |
|---|---|---|
| outputUrl | No | |
| outputExpiresAt | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations declare the safety profile (readOnlyHint=false, idempotentHint=true, destructiveHint=false), and the description adds real context beyond that: the ~7-day expiry, the exact error code and its cause, the required scope renders:write, and the notable side effect that the row's stored URL is updated. That side-effect disclosure is the kind of thing annotations alone would not convey.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four tight sentences, front-loaded with the core action before rationale, preconditions, and permissions. Nothing is padding; the parenthetical "(the row's stored URL is updated)" earns its place as a mutation disclosure.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a narrow single-purpose minting tool, everything an agent needs is present: when to call, preconditions, error semantics, auth scope, and side effects. Return values are also restated, which is mildly redundant given the output schema exists, but it does not hurt completeness.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so projectId, renderId and commandId are already documented in the schema, and commandId's retry-identity semantics live there too. The description only adds provenance for the two required params ("from create_render"), so the baseline 3 is right.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ("Re-sign a COMPLETE render's output URL") and scopes it with the emphasized COMPLETE, which immediately differentiates it from get_render/wait_job. An agent can tell exactly what this tool does and what it does not do.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says when to reach for it (an old render's ~7-day presigned MP4 link 403s) and names the alternatives it supersedes (wait_job / getRender hand back a stale link). It also gives a precondition: 422 render_not_complete while running or failed, so "wait_job for it first."
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
register_criticRegister CriticAIdempotentInspect
Register a custom eval into the compose critic panel — the critic contract is { rubric (or rules/evaluator), referenceMediaIds?, floor }. Three tiers: rules (declarative constraints — keep-out regions, required elements, max overlays, brand colors), rubric (a text criterion scored by the judge as an extra column), or evaluator (your HTTPS webhook — CueFrame POSTs the composition+stills+facts, you return { score, critique }). referenceMediaIds (≤6 org media ids) attach YOUR reference frames as the standard — the judge scores candidates for consistency with them, so "indistinguishable from mine" is a machine check. Lane scope: rules + rubric critics run in BOTH lanes (the Director's gates AND standalone score_composition); evaluator webhooks run in the Director lane only. Use phase 'static' (the default) — 'temporal' (final-render evaluation) is accepted but not yet wired, so a temporal critic produces no verdicts today. A low client score drives a refine like a built-in criterion. You see your eval output + our scores, never our rubric. Re-registering the same criticId upserts (list_critics / delete_critic manage the set). Evaluator tier returns a signing secret ONCE.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Register a custom compose critic. | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| tier | No | |
| secret | No | evaluator tier: Standard-Webhooks signing secret, returned ONCE. |
| criticId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations cover the safety profile (idempotent, non-destructive), and the description adds non-obvious behavior: same criticId upserts rather than duplicating, the evaluator tier returns a signing secret ONCE, a 422 names any reference media that isn't org-owned with a visual thumbnail, and clients see their eval output plus our scores but never our rubric. That last point is a genuine information-asymmetry disclosure an agent cannot infer from annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and dense with information — nearly every clause carries a fact an agent needs. It is a single long paragraph, though, and the three tiers would scan faster as a structured list rather than inline prose.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a nested two-parameter registration tool with an output schema, the description covers everything that matters: tier semantics, lane behavior, the temporal caveat, upsert semantics, reference-media constraints, and the one-time secret. Return values are left to the output schema, which is correct.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description goes further by tying parameters to tiers (referenceMediaIds only for rubric/evaluator, url only for evaluator) and explaining floor's routing consequence and the ≤6 limit. It stops short of documenting the shape of the rules array, which is an opaque additionalProperties object in the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb+resource: "Register a custom eval into the compose critic panel," then immediately defines the contract object. It also distinguishes itself from list_critics and delete_critic, which manage the same set, so an agent can pick the right tool without opening schemas.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly enumerates the three tiers and what each is for (rules = declarative constraints, rubric = judge-scored text criterion, evaluator = your HTTPS webhook), states lane scope per tier, and gives a hard when-NOT: temporal phase is "accepted but not yet wired, so a temporal critic produces no verdicts today." It also names the sibling tools for managing the set.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
remember_tasteRemember TasteAIdempotentInspect
Save one durable style preference to the org's learned taste, with its source (the job, checkpoint or chat, plus the date). Only for a preference the user stated: a revise comment, a chat correction or an explicit "remember this"; never one-off brief content, footage facts or secrets. Tell the user what you saved and that they can say undo (forget_taste). Saving text the org already holds changes nothing. Refused, never truncated, past 2,048 bytes per entry or 4,000 characters per org, or while the owner has learned taste off; a refusal is final. get_profile returns the saved entries as taste.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Remember a style preference for the org. Saving text the org already holds changes nothing. | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. |
Output Schema
| Name | Required | Description |
|---|---|---|
| entry | No | One learned style preference: advice for agents, never enforcement. |
| created | No | False when the org already held this exact text. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond annotations: discloses size limits (2,048 bytes/entry, 4,000 chars/org), refusal-not-truncation behavior, idempotency on duplicate text, owner-toggle gating, and finality of refusals. Also instructs the agent to tell the user and mention undo. Rich, non-contradictory behavioral context.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loads the core action, then constraints and the undo path. Dense with no filler, though the byte/char limits appear in both schema and description, a minor redundancy.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists so return values needn't be explained, yet the description still notes get_profile surfaces entries as `taste`. The refusal thresholds, usage scope, and undo path cover everything an agent needs to invoke it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and parameter descriptions already carry the byte/char limits and source format. The description restates some limits but adds little beyond the schema. Baseline 3 is appropriate when the schema does the heavy lifting.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Save one durable style preference to the org's learned taste') with the source it captures. Clearly distinguishes it from siblings like forget_taste, list_taste, and get_profile by naming them for their different roles.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly defines when to use ('Only for a preference the user stated: a revise comment, a chat correction or an explicit "remember this"') and when not ('never one-off brief content, footage facts or secrets'). Names forget_taste as the undo alternative, completing the routing.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
repin_componentRepin ComponentAInspect
Move clips stored in a retired form to their native (version 4) successors: a clip pinning a retired TSX (version 3) component, or one stored before execution pins (needsUpgrade kind unpinned-component), moves to the successorSourceVersionId that get_composition's needsUpgrade (or a component_source_retired refusal) names. Pass projectId and, in body, optional clip_ids (omit them to move every clip that has a successor) and composition_id (the active composition when omitted). Saved inputs are kept. The answer lists moved and withoutSuccessor; rebuild the latter as native components (create_component, then apply_composition at the same timing and placement). A retired clip with no successor must be rebuilt or removed in the same write that upgrades the others: a write never leaves one in place.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. | |
| projectId | Yes | projectId (path). |
Output Schema
| Name | Required | Description |
|---|---|---|
| etag | No | |
| moved | No | |
| inputsRefused | No | Clips whose successor refuses their stored inputs (its input schema), each with why: fix the inputs by rebuilding the clip, or remove it. |
| withoutSuccessor | No | Clips in a retired form no curated release recorded: rebuild them as native components, or remove them, in the same edit that upgrades the others. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare it is a non-readOnly, non-destructive, non-idempotent write. The description adds real behavioral context beyond that: saved inputs are preserved, the response partitions results into moved and withoutSuccessor, and a write must never leave a retired clip in place. It does not fully spell out atomicity/permission requirements, so it is strong but not exhaustive.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Information-dense and front-loaded: the operation and target come first, defaults and the withoutSuccessor follow-up after. The opening sentence is a long compound clause chain, but every clause carries usable meaning rather than filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 3-parameter mutation with an output schema and annotations present, the description covers the trigger condition, parameter defaults, preserved state, the withoutSuccessor remediation path, and the invariant that no retired clip survives the write. Nothing an agent needs to invoke it correctly is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67% and the schema already documents clip_ids (omit to move every clip with a successor), composition_id (active when omitted), and commandId retry identity. The description largely restates those defaults and adds no format, ordering, or edge-case detail beyond the schema, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb (move) and resource (clips stored in a retired form) with the exact target (successorSourceVersionId of native version-4 components). It names the distinguishing conditions (unpinned-component needsUpgrade, component_source_retired refusal) and routes away from get_composition/create_component/apply_composition, so an agent can identify it without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use: a clip pinning a retired TSX v3 component or one stored before execution pins, as flagged by get_composition's needsUpgrade or a component_source_retired refusal. It also states what to do for the no-successor case (rebuild via create_component then apply_composition) rather than leaving the alternative to inference.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resolve_builtin_componentResolve Builtin ComponentARead-onlyIdempotentInspect
Resolve a selected builtin component-library card using its exact collection, id and revision. Returns the canonical pinned document and source snapshots for a preset or recipe, or the exact source for a definition. Preserve documentSha256 and all identities; a missing revision refuses without falling back to another version or scope. Resolve before apply_template; do not invent wrapper source or reconstruct a package from a thumbnail.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | ||
| revision | Yes | ||
| collection | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| card | No | |
| preset | No | |
| source | No | |
| sources | No | |
| document | No | |
| documentText | No | |
| previewMedia | No | |
| documentSha256 | No | |
| previewDelivery | Yes |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (readOnly, idempotent, non-destructive), and the description adds substantive behavior beyond them: it returns the canonical pinned document plus source snapshots, requires preserving documentSha256 and all identities, and fails closed on a missing revision without falling back to another version or scope. That fail-closed guarantee is exactly the kind of non-obvious behavior an agent must know before calling.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four sentences, front-loaded with purpose and return shape, then constraints, then ordering. Every sentence carries information, though the final clause about thumbnails is slightly cryptic and the density makes it a tight read rather than an effortless one.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Return values are largely covered by the existing output schema and the description reinforces the key invariant (documentSha256, identities), and the fail-closed revision behavior is spelled out. The remaining gap is discovery: nothing tells the agent how to find a valid collection/id/revision in the first place, which matters for a tool that refuses rather than falls back.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0%, so the description must carry the load, and it does name all three parameters and stresses that revision must be exact with no version fallback. It does not explain what a 'collection' is, how to obtain valid collection/id values, or that revision is a 64-char hex digest (left to the schema pattern), so the compensation is good but not complete.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb ('resolve'), a specific resource ('builtin component-library card'), and the exact keying (collection, id, revision). It also distinguishes what is returned for a preset/recipe versus a definition, and implicitly separates itself from thumbnail/preview siblings with 'do not reconstruct a package from a thumbnail'.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
'Resolve before apply_template' gives an explicit ordering constraint, and 'do not invent wrapper source or reconstruct a package from a thumbnail' tells the agent when not to substitute guesswork or a preview sibling. It stops short of naming the adjacent read tools (get_component_source, preview_card, search_registry_items) as explicit alternatives, so the routing is implied rather than fully enumerated.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
resumeResumeAInspect
Answer the checkpoint packet wait_job reported as awaiting_input (its {checkpointId} — read the packet FIRST with get_checkpoint and relay the stills + money triple to your human). ONE body.decision per gate: 'approve' (proceed; comments allowed — they record as taste without gating), 'revise' (the director revises per your body.comments [{anchor: {beatId}|{timecodeMs}, verdict: 'approve'|'revise'|'lock', note}] and/or body.edits, then RE-PRESENTS this same gate as a new packet — in-job, no new charge; the brief quote states the included revision cycles, beyond them revise is refused 402), or 'abandon' (end the run — the only terminal refusal). 'lock' freezes an element contractually: the director touching it surfaces as a lock_violation verdict on the next packet. On approve/revise the Director rehydrates its warm box and continues; then wait_job again.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | POST /checkpoints/:id/resume body — the A1 review grammar. | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. | |
| checkpointId | Yes | checkpointId (path). |
Output Schema
| Name | Required | Description |
|---|---|---|
| ok | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations: revise is described as in-job re-presentation with no new charge, revision cycles beyond the brief's quote are refused with 402, abandon is the only terminal refusal, and lock surfaces later as a lock_violation verdict. The only mild tension is that annotations say destructiveHint=false while 'abandon' ends the run, but the description makes the consequence explicit so the agent is not misled.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The essential instruction (which packet, read it first) is front-loaded, and the decision branches follow in the order an agent needs them. It is dense and parenthetical-heavy, and the lock semantics could be split out, but no sentence is filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a mutation tool with nested objects and an output schema, the description covers everything an agent needs before calling: prerequisite read, per-decision outcomes, cost/refusal boundaries, and the next step (wait_job). Return values are left to the output schema, which is appropriate.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and the schema already explains decision, comments, anchor, verdict and commandId, so the description only needs to add workflow meaning. It does add real value by clarifying that approve comments are recorded as taste without gating and that edits take the 'power path' where the re-presented packet carries exactly what was supplied.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Answer the checkpoint packet wait_job reported as awaiting_input') and pins the exact object via {checkpointId}. It also distinguishes itself from the read path by ordering the agent to call get_checkpoint first, so the boundary with that sibling is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit prerequisite ('read the packet FIRST with get_checkpoint and relay the stills + money triple to your human') and an explicit follow-up ('then wait_job again'). The three decision values are each given a when-to-use meaning, including the terminal case, so the agent knows which branch selects which behavior.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
retry_renderRetry RenderAInspect
Re-render an existing render job's FROZEN composition snapshot — it inherits that job's exact composition/intent/priority and queues a fresh renderJob; it does NOT re-read the project's current composition. So it only helps a TRANSIENT failure (the failed render's retryable:true / category:"transient" — a flaky pipeline/infra fault): re-attempting the same snapshot may succeed. For a DETERMINISTIC failure (retryable:false / category:"authoring" — a bad param, an unresolvable media/brand ref), retry_render reproduces the SAME failure: FIX the composition first via apply_composition, then create_render (a retry alone is futile). Check retryable on getRender / wait_job to pick the path. Returns the new render; then wait_job(kind="render", id=).
| Name | Required | Description | Default |
|---|---|---|---|
| renderId | Yes | renderId (path). | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. | |
| projectId | Yes | projectId (path). |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| error | No | Human-readable failure message. Pair with `errorCode` for a stable, machine-readable code an agent runner can branch on. |
| engine | No | The render engine the row was minted for. Null on rows minted before the engine was recorded. |
| format | No | The resolved output format the render was encoded at (aspectRatio, fps, resolution): the frozen composition's, after any create-time scale override. Null on legacy rows. |
| status | No | |
| listUsd | No | A2 money stamp: the metered event's LIST price (USD), stamped at the success terminal (exports for deliverable renders, compose_capture for A8 previews). A plan allowance may zero the actual invoice line — this is the list price, never a Stripe charge. Absent while running, on failure, and for x402 orgs (on-chain receipts). Mirrors the get_usage ledger. |
| preview | No | The scoped preview window when this is a preview_clip render; null for a full deliverable. |
| category | No | Failure taxonomy when status is `error`; null otherwise. `authoring` = deterministic defect in YOUR composition/request — fix it, retrying is futile; `transient` = temporary pipeline/infra failure — safe to retry_render; `internal` = unexpected server fault — retry once then escalate. Mirrors the render.failed webhook's `category`. |
| progress | No | Non-terminal render progress; phase is one of the worker's emitted stages. |
| warnings | No | Non-fatal advisories surfaced at render-CREATE (omitted when none, and on GET — create-time only). |
| createdAt | No | |
| errorCode | No | Stable, machine-readable error code (e.g. `render_pipeline_unavailable`, `render_route_missing`, `render_pipeline_failed`). Null when status is not `error` or unavailable for an older render. |
| outputUrl | No | |
| retryable | No | Whether re-attempting the SAME render can succeed (status `error`); null otherwise. true → call retry_render. false → deterministic (category authoring/internal); fix the composition first — retry_render alone reproduces it. Mirrors the render.failed webhook's `retryable`. |
| updatedAt | No | ISO-8601 timestamp of the render's most recent progress update. Compute staleness = now − updatedAt to distinguish a wedged render from a slow one and decide whether to wait, cancel, or retry. |
| completedAt | No | ISO-8601 instant the render reached its terminal status (complete, error or cancelled); null while it runs. Pair with createdAt for the wall time. |
| errorDetails | No | Structured failure context — `{ targetUrl?, upstreamStatus?, upstreamCode?, attemptedAt? }`. Surfaced so agent runners can distinguish operator-config issues from upstream-down vs route-missing without parsing `error`. |
| compositionId | No | The composition this render froze at create time (the project's active one, or the compositionId the request named). Null on renders minted before this was recorded. |
| outputExpiresAt | No | |
| outputDurationSec | No | The output's length in seconds (the composition timeline's, or the preview window's), as billed. Null on legacy rows. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare the safety profile (readOnlyHint=false, idempotentHint=false, destructiveHint=false), but the description adds far more: it inherits the frozen snapshot, queues a fresh renderJob, reproduces deterministic failures identically, and returns the new render. This goes well beyond the annotations and discloses the core behavioral trap (identical reproduction of authoring faults).
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense and front-loaded with the frozen-snapshot constraint and the failure taxonomy, with the next-step wait_job call at the end. Slightly heavy with em-dash nesting, but every clause carries decision-relevant information.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema, annotations, and full schema coverage are present, and the description still supplies everything an agent needs: failure-condition routing, return value (new render), and the follow-up wait_job call. Nothing essential for correct invocation is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so parameters (renderId, commandId, projectId) are already documented including commandId's dedup semantics. The description adds no parameter-specific syntax or format detail beyond what the schema provides, so the baseline 3 is appropriate.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Re-render an existing render job's FROZEN composition snapshot') and immediately distinguishes itself from create_render by noting it does NOT re-read the project's current composition. An agent can tell exactly what this does and how it differs from the sibling that creates a render from current state.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly states when it helps (transient failure, retryable:true) and when it is futile (deterministic failure, retryable:false), and names the correct alternative path: apply_composition then create_render. It even tells the agent how to check (retryable on getRender / wait_job). This is textbook when/when-not/alternatives guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
score_compositionScore CompositionAIdempotentInspect
Queue the durable server-side judge — it snapshots the exact authored target, samples eval beats, captures frames asynchronously, and grades editorial/spatial/brand/caption. Then wait_job(kind="verify", id=jobId) for per-criterion scores, weighted composite, worst-first critique, and checkpointId. body.composition is optional (absent ⇒ ACTIVE). Fix the lowest criterion via apply_composition and re-score. Idempotent per immutable snapshot; compose_verify bills only on the guarded success terminal.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. | |
| projectId | Yes | projectId (path). |
Output Schema
| Name | Required | Description |
|---|---|---|
| kind | No | Job family, e.g. `verify` | `preview` | `brand_kit_extract`. |
| jobId | No | Poll GET /v1/jobs/{jobId} / wait_job until terminal. |
| jobKey | No | Deterministic identity of the work (content hash of every input the result depends on). Re-enqueueing the same key returns the same job while it runs; a failed key revives as a fresh attempt. |
| status | No | running on a fresh/deduped enqueue; succeeded when an identical request already completed. Cancelled is part of the shared status vocabulary; identical cancelled work revives to running. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare non-read-only, idempotent, non-destructive, closed-world; the description adds real value beyond them by explaining the async job model, idempotency keyed to the immutable snapshot, and the billing rule (compose_verify bills only on the guarded success terminal). It also warns that a stale/foreign compositionId is a 404, not a silent fallthrough.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and the follow-up call, then the optional-target rule and remediation loop. Dense with product jargon ("guarded success terminal", "eval beats") but every sentence carries operational information; no filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema exists, so return values needn't be spelled out, yet the description still previews what wait_job yields (per-criterion scores, weighted composite, worst-first critique, checkpointId). That covers the async mutation workflow well; minor gaps remain on failure modes other than the 404 case.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67% and the description's main param claim (body.composition absent ⇒ ACTIVE) merely restates the schema's own description. It adds no meaning for commandId retry identity or the interplay of session_id/compositionId beyond what the schema already says, so baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Names a specific verb+resource: queues a durable server-side judge that snapshots the authored target, samples eval beats, captures frames asynchronously, and grades editorial/spatial/brand/caption. This is clearly distinguishable from compose, create_render, and validate_composition in the sibling list.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly describes the follow-up flow (wait_job(kind="verify", id=jobId) for scores), the optional-target rule (body.composition absent ⇒ ACTIVE), and the remediation loop (fix lowest criterion via apply_composition and re-score). It does not, however, contrast itself against near siblings like validate_composition or compose, leaving that inference to the agent.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_fontsSearch FontsARead-onlyInspect
Search web font families by name/style — returns family names to use in composition/component params. Pass query (+ optional perPage ≤50). Read-only + free; surfaces the Google Fonts catalog (family + category + variants + css2 stylesheet URL). IMPORTANT: this searches the GOOGLE catalog, not what the render can actually draw. Only the faces vendored into the render page are guaranteed to rasterize; naming any other family gets you the generic fallback (Liberation Sans) with no error. Call list_render_fonts for the set you may actually choose from, WITH the admitted weights per family — treat that, not this catalog, as the list. An empty result set here means no match, or the upstream catalog was unavailable.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | POST /fonts/search body. |
Output Schema
| Name | Required | Description |
|---|---|---|
| results | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations (readOnly/openWorld/destructive=false) by disclosing a silent failure mode: unnamed or unvendored families fall back to Liberation Sans with no error. It also notes the tool is free, that it reads an upstream catalog, that results include category/variants/css2 URL, and that an empty set can mean upstream unavailability rather than no match.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose and return value, then the critical warning. A few clauses are mildly redundant ('treat that, not this catalog, as the list' restates the vendored-faces point), but the repetition is purposeful for a high-cost failure mode.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Even though an output schema exists, the description covers the one thing the schema cannot: that catalog membership does not imply renderability. Nested body structure and limits are handled by the schema; nothing needed to invoke or interpret this tool is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3, but the description adds genuine semantics: query matches name/style (not just any string) and perPage is bounded at 50, framing how the parameters behave rather than merely restating them.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('search web font families by name/style') and immediately says what it returns ('family names to use in composition/component params'). It explicitly distinguishes itself from the sibling list_render_fonts and from the render's actual font inventory, so an agent can route without opening a schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly routes the agent: use this for catalog lookup, but call list_render_fonts for the set you may actually choose from, 'treat that, not this catalog, as the list.' It also explains the empty-result condition, covering the when-not case.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_registry_itemsSearch Registry ItemsARead-onlyInspect
Discover external registry source candidates through the maintained pinned client. Omit every snapshot field to use the current organization snapshot, or provide registryOrigin, sourceCommit, inventorySha256 and cliArtifactSha256 together. Preserve the exact returned snapshot, item manifest digest, source requirements and unverified upstream preview provenance. Results may be partial; zero compatible candidates in a shortlist does not prove catalog-wide absence. itemType:example lists examples in inventory order; query/tag ranking for examples is unsupported. These are external candidates, not insertable CueFrame cards or rendered fidelity evidence. If no current snapshot exists, explicitly refresh with an observed null snapshot and revision; do not fabricate pins.
| Name | Required | Description | Default |
|---|---|---|---|
| tag | No | ||
| limit | No | ||
| query | No | ||
| cursor | No | ||
| itemType | No | ||
| sourceCommit | No | ||
| registryOrigin | No | ||
| inventorySha256 | No | ||
| cliArtifactSha256 | No |
Output Schema
| Name | Required | Description |
|---|---|---|
| items | No | |
| stale | No | |
| snapshot | No | |
| warnings | No | |
| nextCursor | No | |
| searchTier | No | |
| totalItems | No | |
| completeness | No | |
| snapshotRevision | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond the readOnly/openWorld annotations, it discloses non-obvious traits: results may be partial, zero hits do not prove catalog-wide absence, and returned snapshot/manifest digest/requirements/preview provenance must be preserved. It also warns that items are external candidates and not insertable cards or fidelity evidence, which prevents misinterpretation of results.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Purpose is front-loaded, but the paragraph drifts into agent-process instructions ('preserve the exact returned snapshot', 'do not fabricate pins') that crowd out parameter meaning. Six dense sentences with heavy jargon; a tighter split between what the tool does and agent policy would read better.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
An output schema exists, so return values need not be explained, and the partiality/provenance caveats are valuable. However, for a 9-parameter tool with zero schema descriptions, the description leaves cursor paging and limit/query/tag semantics unexplained, which an agent needs to call it correctly.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 0%, so the description must carry parameter meaning, and it only fully clarifies the four snapshot pins (must be supplied together) and the itemType=example special case. query, tag, limit, and especially cursor are left with no semantic explanation, so the compensation is only partial.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The first sentence gives a specific verb (discover) and resource (external registry source candidates), which separates it from get_registry_item and acquire_registry_item, which retrieve rather than discover. The phrasing 'through the maintained pinned client' is internal jargon that adds little, but the core purpose is unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states a clear usage condition: omit all snapshot fields to use the current organization snapshot, or supply registryOrigin, sourceCommit, inventorySha256 and cliArtifactSha256 together. It also routes the agent to refresh_registry_snapshot when no snapshot exists and flags that itemType:example does not support query/tag ranking. It does not explicitly contrast with acquire_registry_item/get_registry_item, so the sibling routing is incomplete.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
search_resourcesSearch ResourcesARead-onlyInspect
Search licensed stock media to compose with across video, photo, sound effects, and GIFs. Pass query for ONE search, or queries[] (≤10) to run them all in a SINGLE call — strongly prefer the batch when you know several things you need. A batch returns results[], one per query in order, each with its own candidates; a query that fails carries an error and never discards the others. Optional kind [default video], provider pin, and limit ≤50 apply to every query in the batch. Returns ranked candidates, each with an opaque candidateId + attribution (author, assetUrl) + license, and a preview URL in the text. FREE + rate-limited + cached — reach for this before generate_media when real footage beats synthesis. TO SEE the candidates rather than read about them, pass limit ≥2: thumbnails/audio are attached only when you asked for options to compare. Import a chosen candidate into a project with import_resource. Candidate handles expire; re-search to refresh one.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | POST /resources/search body — one `query`, or a batch of `queries[]`. |
Output Schema
| Name | Required | Description |
|---|---|---|
| kind | No | |
| results | No | |
| provider | No | |
| candidates | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations only declare read-only/non-destructive/open-world; the description adds cost and throttling ("FREE + rate-limited + cached"), batch failure isolation ("a query that fails carries an error and never discards the others"), per-query application of kind/provider/limit, candidateId expiry, and the non-obvious side effect that media attachments only appear when limit ≥ 2. These are exactly the traits an agent cannot infer from the annotations.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with purpose, then mechanics, then return shape, then cost/alternatives — a sensible order with almost no filler. It is dense and em-dash-heavy to the point of being slightly overstuffed, but each sentence carries distinct operational information rather than restating the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers batch semantics, defaults, per-query filters, result shape, error behavior, cost, handle expiry, and the follow-up tool, which is everything needed to invoke this correctly. An output schema exists, so its brief return-value summary (candidateId, attribution, license, preview URL) is a bonus rather than a gap.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 100%, yet the description adds real meaning: query vs queries[] cardinality, the ≤10 cap, in-order results[] correspondence, kind's default of video, and that limit/provider apply to every query in a batch. It is silent on minWidth/minHeight/durationSec, relying on the schema's own descriptions for those, which keeps it from a 5.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
Opens with a specific verb+resource and scope: search licensed stock media across video, photo, sound effects, and GIFs. It explicitly positions itself against the sibling generate_media ("reach for this before generate_media when real footage beats synthesis") and names import_resource as the downstream step, so an agent can place it in the workflow without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
States the decision rule between the single-query and batch forms ("strongly prefer the batch when you know several things you need"), when to prefer this over synthesis, and what to do with a chosen candidate (import_resource). It also gives the fallback when handles expire ("re-search to refresh one"), covering the when and the what-next.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
select_candidateSelect CandidateAInspect
Select one candidate from a finished compose/consult ensemble as the project's saved composition (whole-candidate replace). Body REQUIRES both fields: { candidateIndex, selectStrategy: "agent-authoritative" } — candidateIndex from wait_job(kind="consult") proposals (mode=amend) or the compose winner report; selectStrategy is required and API keys must use 'agent-authoritative' (editor-merge/editor-replace need an editor-session token and 403 on an API key). agent-authoritative replaces the saved composition unconditionally and ignores ifMatch, so read get_composition first and adopt only when no edit made since the consult or compose must survive. After selecting, render with create_render.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | POST /projects/:id/compose/jobs/:jobId/select body. | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. | |
| projectId | Yes | projectId (path). | |
| composeJobId | Yes | composeJobId (path). |
Output Schema
| Name | Required | Description |
|---|---|---|
| mergeResult | No | |
| newCompositionEtag | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial context beyond the annotations: agent-authoritative replaces the saved composition unconditionally, ignores ifMatch, and editor strategies require an editor-session token or 403 on an API key. That is exactly the overwrite/auth behavior an agent cannot infer from readOnlyHint=false / destructiveHint=false.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the operation and effect, then prerequisites, then the follow-up render call; nearly every clause carries information. Slightly dense with stacked parentheticals and em-dashes, and it partially restates the schema's required-field list.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a 4-param mutation with an output schema, it covers everything an agent needs: source of inputs, required strategy, auth constraint, precondition (read get_composition first), overwrite semantics, and the next step (create_render). No gaps remain.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% (baseline 3), but the description goes well beyond it: it explains candidateIndex's origin, that selectStrategy is required and which enum value API keys must use, and why ifMatch is inert under agent-authoritative. That makes a previously opaque field (ifMatch) meaningfully interpretable.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource (select one candidate) and the effect (becomes the project's saved composition, via whole-candidate replace). The scope word 'whole-candidate replace' plus the compose/consult source makes it distinguishable from apply_composition/editorial_apply, though those siblings are never named.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says where candidateIndex comes from (wait_job(kind="consult") amend proposals or the compose winner report) and gives a clear when-not rule: adopt only if no edit made since the consult/compose must survive. It also names the alternative strategies (editor-merge/editor-replace) and the condition that rules them out for API-key callers.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
start_templateStart from TemplateBIdempotentInspect
Create a new project from a catalog or org template. The server prepares media and verified mattes before the project is ready. Pass the returned jobId to wait_job(kind="template").
| Name | Required | Description | Default |
|---|---|---|---|
| media | No | ||
| preset | No | ||
| values | No | ||
| template | Yes | ||
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. | |
| brandKitId | No | ||
| projectName | Yes | ||
| idempotencyKey | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already cover the safety profile (not read-only, idempotent, non-destructive, closed-world), and the description adds real value on top: the operation is asynchronous and the server prepares media and verified mattes before the project is ready. That explains why a jobId is returned and why waiting is required. It stops short of saying what happens on failure or whether partial projects are cleaned up.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three short sentences, zero filler, with the core action front-loaded and the async continuation immediately after. Nothing redundant is included.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
There is no output schema, yet the description only says a jobId is returned while omitting any other return content. With 8 parameters, nested objects, and 13% schema coverage, an agent cannot determine how to supply media or template values from this definition alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is only 13% of 8 parameters (only commandId is documented in-schema), so the description must compensate and largely does not. It implies the existence of a template parameter ("catalog or org template") but never explains projectName, media mapping, preset, values, brandKitId, or idempotencyKey semantics. For a tool with nested media objects supporting three shapes (mediaId / url / sample), this silence is a significant gap.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: "Create a new project from a catalog or org template." That is clearer than the name alone and hints at the two template sources. It does not, however, distinguish itself from close siblings like create_project or apply_template, so an agent must still infer which path creates a project from a template.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
The description gives the follow-up workflow ("Pass the returned jobId to wait_job(kind=\"template\")"), which is genuinely useful routing guidance. But it never says when to choose this over create_project or apply_template, nor any prerequisites (e.g., that a template must exist, or what preset/values do).
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
suggest_briefsSuggest BriefsAInspect
Run AI clip-suggestion analysis on a long-form media item — the CLIPPING path (find the best short-form moments). Returns { status, alreadyRunning? }; then wait_job(kind="suggestions", id=mediaItemId) — its terminal lists each suggestion WITH its briefId. When the media belongs to a PROJECT, each finalized suggestion is promoted to a kind-'clip' BRIEF (its window pinned as a beat) — list_briefs {kind:"clip"} shows them and compose({ briefId }) runs the flagship path from one. Project-less media: pass the suggestion id to compose({ suggestionId }) directly. Clipping is a vertical, NOT the general path.
| Name | Required | Description | Default |
|---|---|---|---|
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. | |
| mediaItemId | Yes | mediaItemId (path). |
Output Schema
| Name | Required | Description |
|---|---|---|
| status | No | |
| alreadyRunning | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Adds substantial workflow context beyond annotations: it returns { status, alreadyRunning? }, requires wait_job(kind='suggestions', id=mediaItemId), and describes promotion of finalized suggestions into clip briefs for project media. Annotations already disclose non-read-only and non-idempotent behavior, but the description does not mention auth needs, failure modes, or rate limits.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The description is front-loaded with the tool's purpose and every sentence carries workflow-relevant information. It is dense and jargon-heavy with nested parentheticals, but not redundant.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Covers the async start, polling via wait_job, project promotion to clip briefs, and project-less compose path. Since an output schema exists, return values need not be fully documented, though failure or retry behavior could be clearer.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, and commandId already has a schema description covering retry semantics. The description contextualizes mediaItemId as the long-form media item and explains downstream id usage, but it does not add format details or explain commandId beyond what the schema provides.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource: 'Run AI clip-suggestion analysis on a long-form media item', and explicitly scopes it as the CLIPPING path. It distinguishes the tool from the general composition path by stating 'Clipping is a vertical, NOT the general path.'
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly explains when to use this tool and names alternatives: wait_job for completion, list_briefs for promoted clips, and compose({ briefId }) vs compose({ suggestionId }) depending on project membership. The project vs project-less media split gives concrete routing guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_briefUpdate BriefADestructiveInspect
Edit a brief (partial). REFUSED with 409 while an ACTIVE compose job references it — finish, resume, or abandon the job first (the Director never has its input edited mid-run). Edits apply to the NEXT compose.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | ||
| briefId | Yes | briefId (path). | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| cta | No | |
| goal | No | What the video must accomplish. |
| hook | No | |
| kind | No | authored = create_brief; clip = minted by suggest_briefs from an AI clip suggestion. |
| name | No | |
| tone | No | |
| audio | No | |
| beats | No | |
| gates | No | |
| quote | No | |
| format | No | |
| locale | No | Output language (BCP-47 tag, e.g. 'es-419'): ALL on-screen copy + captions. |
| caption | No | |
| audience | No | |
| captions | No | |
| platform | No | |
| createdAt | No | |
| projectId | No | |
| updatedAt | No | |
| exclusions | No | |
| references | No | |
| durationSec | No | Target output duration. HONOR-OR-REFUSE: compose validates it against the beat-source window (±1.5s) and refuses a brief it cannot honor. |
| motionStyle | No | |
| mustIncludes | No | |
| seededGraphics | No | Client-authored graphic clips the Director must carry VERBATIM: seeded into the design loop's base composition as LOCKED clips (never re-authored, never discarded). |
| sourceSuggestionId | No | kind:'clip' provenance — the suggestion this Brief was minted from. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructive/non-idempotent/non-readonly, but the description adds the critical concurrency contract (409 refusal during an active compose, edits only affecting the next run) that no structured field conveys. The '(partial)' note is slightly ambiguous — it doesn't spell out that omitted body fields are left untouched — but the operational behavior is well disclosed.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Three tight sentences, each doing distinct work: the action, the refusal condition with remediation, and the effect timing. The refusal constraint is front-loaded rather than buried.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
With an output schema present, return values need no explanation, and annotations cover the safety profile; the description fills the remaining gap with the concurrency/refusal contract. Slightly short on what 'partial' means mechanically (merge vs. replace) for a deeply nested body object.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 67% and the schema itself documents briefId, commandId retry identity, and several body fields with inline descriptions and describe_tool_input pointers. The description adds nothing parameter-specific beyond implying partial updates. Adequate but no value added over the schema.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ('Edit a brief') and adds a meaningful qualifier ('partial') that separates it from create_brief/delete_brief. It never names a sibling outright, but the mutation semantics are unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives an explicit when-not condition: refused with 409 while an ACTIVE compose job references the brief, with the remediation path (finish, resume, or abandon the job first). Also clarifies effect timing ('Edits apply to the NEXT compose'), which is the key decision input. No sibling alternatives are named, so not a 5.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_componentUpdate ComponentADestructiveIdempotentInspect
Update an authored component's complete version-4 source/metadata IN PLACE (same id) — the correct verb for the author→preview→fix loop (preview_component returns the admission or runtime error; fix the template here and re-preview, instead of creating a new component each iteration). Pass componentId + the changed fields as body. Same source contract as create_component: {version:4, componentId, template, manifest, definition}, admitted before the write; the template finds its root with document.getElementById('root'), and declared slots arrive in the scene's assets, never params. PLACED CLIPS: every placed clip renders the exact version it pins, so an update moves placed clips ONLY when you name a project — put projectId (and optionally compositionId; default the project's active composition) in body, and that composition's placements move to the new version in the same write. The answer carries repinned (what moved) and placementsPinnedToPrevious (placements across the org still rendering the previous version). Without projectId nothing placed moves: previews and renders of an existing clip keep the old version. For one placement, register the source WITHOUT projectId, read its immutable sourceVersionId, then use apply_composition clip.update to change only the selected clip source and exact pin under observed concurrency expectations. Explicit-project update_component admits and repins all matching placements in that composition; use it only when that broader edit is requested.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | PUT /components/:id body: every writable field, all optional; an omitted field is carried forward. Org/user are server-resolved; never accepted from the body. | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. | |
| componentId | Yes | componentId (path). |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | The entry's id: a `primitiveId` for a built-in, a `componentId` for an installed component. |
| kind | No | RENDER kind (component | transition | scene). NOT the ClipSource variant — see `placement` for how to author it on the timeline. |
| mood | No | Vibe/tone tags (e.g. 'cinematic', 'minimal'). Filter to match the edit's mood. |
| name | No | |
| tags | No | Free-text search keywords. |
| tier | No | Quality/applicability RANKING (a preference, not a flag). Prefer 'recommended'; reach for 'niche' only when its specific use-case is exactly the beat. |
| format | No | |
| intent | No | Selection signal: a verb naming what this primitive accomplishes (e.g. 'product-trailer'). Match it to the beat you are authoring. |
| origin | No | |
| source | No | 'default' = built-in primitive (place by primitiveId); 'installed' = org-authored component (place by componentId). |
| tokens | No | |
| useCase | No | The edit ROLE(s) this primitive fills — the dimension to filter by for a beat (e.g. 'intro', 'title-over-footage', 'grade'). |
| useWhen | No | When to use this — AND when not to. The negative guidance is load-bearing; read it before picking. |
| version | No | The ENTRY's version: a semver string ('0.0.0' until an authored component is versioned). Distinct from `manifest.version`, which is the runtime contract version (4 native, 2 retired TSX). |
| category | No | |
| examples | No | Usage examples, as authored. A built-in primitive projects {name, mood?, params?, description?}; an authored component's examples are whatever it wrote, which is why the item is open. One shape for both directions: what you write here is what you read back. |
| manifest | No | |
| repinned | No | Present when the update named `projectId`: the composition whose placements moved to the new version. |
| warnings | No | Non-blocking save-time advisories — the create/update SUCCEEDED. Currently: a `fontFamily` string literal referencing a NON-vendored font (a bare CSS generic like 'serif', or an unknown named family like 'Arial') whose LIVE-lane pixels vary by render host — re-author with a vendored family or 'Georgia'. Omitted when there is nothing to flag; only present on the create/update responses. |
| avoidWith | No | Authoring guidance: ids of primitives that CONFLICT with this one — do not place together. |
| fixedCopy | No | On-screen strings this primitive BAKES — the read-side counterpart to propSchema. These literals render REGARDLESS of params (no param can change them); fork the source via get_component_source to edit them. Use this to see at author time what fixed copy (someone-else's marketing text, faux-code, faux-data) will appear before you render. |
| pairsWith | No | Authoring guidance: ids of primitives that COMPOSE well with this one in the same edit. |
| placement | No | |
| textParam | No | The param field that carries this primitive's primary text; null = no single text slot. |
| propSchema | No | |
| description | No | |
| ejectedFrom | No | |
| propDefaults | No | |
| subtextParam | No | The param field for secondary text (subtitle/byline); null = none. |
| brandBindings | No | Params that can follow the project brand kit. Each {param, brandToken} says: set `param` to `brandToken` (a `$brand:` ref, e.g. '$brand:colors.accent') to track the brand instead of a literal. See the list response's `brandTokens` for the full ref vocabulary. Omitted when nothing is brand-bound. |
| durationInFrames | No | |
| placementsPinnedToPrevious | No | Placements across the org that still pin the previous version and will keep rendering it. Name `projectId` (and `compositionId`) on the update to move a composition's placements with it. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Beyond annotations, it discloses important side effects: the tool updates in place, source is admitted before the write, placed clips move only when projectId is named, previews/renders keep the old version otherwise, and the response carries repinned and placementsPinnedToPrevious. This is exactly the behavioral context an agent needs for a destructive mutating tool with repinning consequences.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The core purpose and the author→preview→fix loop are front-loaded, and most of the dense text earns its place by explaining repin behavior and alternatives. It is still long and tightly packed, with several clauses in single sentences, and could be made slightly more scannable.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a complex, destructive, idempotent update tool with nested body objects, the description covers invocation, admission, placement repinning, output fields, and the apply_composition alternative. Since an output schema already exists, it does not need to restate return values, and nothing material is missing for correct invocation.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is already 100%, but the description adds real semantic meaning for body: it gives the source contract shape {version, componentId, template, manifest, definition}, explains root lookup via document.getElementById('root'), notes slots arrive in assets, and describes projectId/compositionId defaults. It does not cover commandId or expectedHeadVersionId/concurrency guards in comparable detail, which keeps this from a top score.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description gives a precise verb and resource — update an authored component's version-4 source/metadata IN PLACE (same id) — and explicitly routes it against siblings: it is 'the correct verb for the author→preview→fix loop' and says to use it 'instead of creating a new component each iteration.' An agent can distinguish it from create_component and preview_component without opening the schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It states exactly when to use this tool and names the alternatives: use preview_component to see the error, fix the template here, re-preview; for one placement, use apply_composition clip.update instead. The projectId branch explicitly says when the broader repin behavior applies and warns to use it only when 'that broader edit is requested.'
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_projectUpdate ProjectBDestructiveInspect
Update a project's mutable fields (e.g. name, format, brandKitId). Pass projectId + the changed fields as body. Setting brandKitId binds/changes the project brand kit so every render of this project themes from it. Returns the updated ProjectResponse.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | PATCH /projects/:id body. | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. | |
| projectId | Yes | projectId (path). |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| name | No | |
| format | No | |
| webUrl | No | A browser URL that opens THIS project, or null when CueFrame exposes no web view for a project. Null today: the console serves account surfaces (keys, usage, billing) and has no per-project page, so there is no link to give. Do NOT synthesise one — a guessed console path 404s. Show the user rendered output (create_render → outputUrl) or a preview still instead. This field becoming non-null is the signal that a real project view exists. |
| createdAt | No | |
| brandKitId | No | |
| lastRender | No | Most recent render for a project, if any. |
| composition | No | Summary of a project's stored composition. |
| description | No | |
| activeCompositionId | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
The description adds real context beyond annotations: brandKitId binds the project brand kit so every render re-themes, and a partial-update semantics is stated. However, annotations declare destructiveHint=true and idempotentHint=false, and the description never says what a destructive update might overwrite (e.g. do omitted fields get reset? does changing format invalidate renders?) or that retries need commandId — that fact lives only in the schema.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Four compact sentences, front-loaded with the action and the required inputs, followed by the one non-obvious field effect and the return type. No filler, though the final return-value sentence is partly redundant given the output schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Return values are covered by the output schema and a one-line mention, so that is fine. What is missing for a destructive, non-idempotent mutation is any note on side effects (render invalidation, partial-vs-full body semantics, retry safety via commandId), which leaves the agent to infer risk from annotations alone.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description earns a notch more by explaining the effect of one parameter (brandKitId rewrites theming on all renders) and clarifying that body carries only the changed fields, which the schema's PATCH note implies but does not spell out.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Update a project's mutable fields') and enumerates the mutable fields, which clearly distinguishes it from update_component/update_brief/update_webhook by resource. It stops short of explicitly naming an alternative, but the resource scoping makes the target unambiguous.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
There is no guidance on when to use this versus create_project, update_component, or whether changing `format` invalidates existing compositions/renders. The only implied usage is 'pass projectId + changed fields', which is invocation mechanics, not selection guidance.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
update_webhookUpdate WebhookBDestructiveInspect
Update a webhook subscription (its url or event list). Pass webhookId + changed fields as body. The signing secret is NOT rotated here.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | PATCH /webhooks/:id body. | |
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. | |
| webhookId | Yes | webhookId (path). |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| url | No | |
| events | No | |
| enabled | No | |
| settleMs | No | |
| createdAt | No | |
| lastFailedAt | No | |
| lastDeliveredAt | No | |
| verificationStatus | No | pending = callback URL has not echoed the ownership challenge (receives no events); verified = ownership proven. |
| consecutiveFailures | No |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare destructiveHint=true and idempotentHint=false, so the description's job is to explain what is destroyed or how retries behave. It adds the valuable negative disclosure that the signing secret is untouched and frames the call as a partial patch ("changed fields"), but says nothing about what makes this destructive or how the event list is replaced.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Two sentences, front-loaded with the verb and resource, then the calling convention, then the exclusion. No filler; the only inefficiency is that the parenthetical field list is incomplete relative to the schema.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Output schema and annotations carry much of the load, and schema descriptions cover all parameters. Still missing for a destructive mutation: whether `events` replaces or merges with the existing list, and what the destructiveHint actually entails — the most consequential ambiguity for this tool.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100%, so the baseline is 3; the description does confirm body is a partial patch at path webhookId. However it enumerates only url and event list and omits enabled and settleMs, which are valid body fields in the schema — a mild mismatch that adds little over structured data.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb+resource ("Update a webhook subscription") and narrows the mutable surface to url/event list, which separates it from create_webhook, delete_webhook and verify_webhook by verb alone. It stops short of naming any sibling explicitly, so 4 rather than 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
"The signing secret is NOT rotated here" implicitly routes secret rotation elsewhere, which is a useful exclusion. But there is no explicit when-to-use guidance versus create_webhook/delete_webhook/verify_webhook, and no statement of prerequisites such as ownership or scope requirements.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
validate_compositionValidate CompositionARead-onlyInspect
Dry-run a full Composition object against the SAME pure, DB-free authoring guards saveComposition enforces, WITHOUT persisting it (no project needed). Checks: wire shape (Zod), primitive membership (unknown_primitive / custom_missing_sourcecode), required-param shape (invalid_primitive_params), clip↔track family (clip_source_track_mismatch), and reframe coverage (reframe_coverage_gap). Always returns ONE shape — 200 { valid, errors, quote } — for BOTH malformed wire shapes and deep-invariant failures (so branch on valid, not on HTTP status); errors[] lists every problem at once as a sanitized envelope { code, stage, category, retryable, message, fix } you can fix before composing/rendering. The quote triple states the render price to finish from a valid composition — relay it to your human BEFORE create_render. valid:true means save-safe EXCEPT for the three genuinely DB-bound checks that can only run at save/render, because this tool takes no project: trim-bounds (needs the media duration), image/asset-on-a-video-track (needs the media kind), and componentId resolution (needs the installed components of YOUR org — a {kind:'component', componentId, props} clip naming a component you have not created, or naming a CATALOG PRIMITIVE, passes here and is refused at save with component_source_unavailable). Pass the Composition as body.
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes |
Output Schema
| Name | Required | Description |
|---|---|---|
| quote | No | The A2 money triple for the commodity lane: validate is free; estimatedJourneyTotalUsd is the render price to finish from a valid composition — relay it BEFORE create_render. |
| valid | No | |
| errors | No | |
| contract | No | The contract this verdict was computed against (the kernel version the deployment runs). If it differs between two calls, the validator changed, not your composition. |
| warnings | No | Non-blocking render-fidelity warnings detected before enqueue, including unavailable font families. |
| advisories | No | Deterministic, render-free QUALITY floors (the SAME named defects the Director's in-loop verify and score_composition surface: static-hold, caption-spine, sfx-density, sfx-speech-collision, bed-coverage, audio-role). NON-blocking — they never flip `valid` (an editorially-weak composition still renders); fix them for quality, not to save. Empty when the composition is clean or the wire shape failed (they need a parsed composition). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnlyHint=true and destructiveHint=false, and the description adds substantial context beyond them: single 200 response shape for both malformed and deep-invariant failures, errors[] as a sanitized envelope with code/stage/category/retryable/message/fix, and the three DB-bound checks that `valid:true` cannot cover (trim-bounds, media kind, componentId resolution). This is unusually rich disclosure of a validator's limits. It does not detail ordering/dedup of errors or size limits, keeping it just under 5.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Dense but front-loaded: the dry-run purpose and the non-persistence guarantee come first, followed by enumerated checks and the caveats. Every sentence carries information; it is long only because the tool's behavior is genuinely intricate. Slight over-packing of the parenthetical codes keeps it from a 5.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
For a validator with an output schema and 0% parameter description coverage, this description covers what an agent needs: what is validated, the single return shape, how to branch, how to consume errors[], and the exact classes of failure that will only appear at save. Output-schema redundancy is acceptable because it states the critical branch condition rather than restating field types.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 0% and the only parameter, `body`, is a large nested Composition object whose sub-shape is only reachable via describe_tool_input pointers. The description compensates partially by naming the invariant categories checked (wire shape, primitive membership, clip↔track family, reframe coverage), which hints at body structure, and clarifies `body` wrapping. But it does not document the fields themselves, so it does not fully cover the low schema coverage.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ('Dry-run a full Composition object') and defines it precisely as running the SAME pure, DB-free guards saveComposition enforces WITHOUT persisting. An agent can distinguish it from saveComposition, apply_composition, and create_render without opening any schema.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Explicitly says 'no project needed', tells the agent to branch on `valid` not HTTP status, and to relay the `quote` to the human BEFORE create_render. It also names the exact DB-bound gaps this tool cannot catch and when those surface (save/render), which is precisely the when-to-use/when-not guidance an agent needs.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
verify_webhookVerify WebhookAIdempotentInspect
Re-run ownership verification on a PENDING webhook — one whose endpoint did not echo the challenge at create time (check its verification.reason: token_not_echoed / non_2xx_ / unreachable / ssrf_blocked). After you fix the receiver to reply 2xx echoing data.token, call this to re-send the signed webhook.verify challenge and flip it active IN PLACE (id + secret preserved — no delete/recreate). Returns { id, status:"active"|"pending", verification? }. An already-active webhook returns active unchanged.
| Name | Required | Description | Default |
|---|---|---|---|
| commandId | No | Retry identity. A call repeated with the same commandId returns the first result instead of acting twice. | |
| webhookId | Yes | webhookId (path). |
Output Schema
| Name | Required | Description |
|---|---|---|
| id | No | |
| status | No | active = ownership verified + receiving events; pending = challenge not echoed. |
| verification | No | Present only when the re-challenge did not verify; `reason` names why (see WebhookCreateResponse.verification). |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Goes well beyond the annotations: it discloses that the flip is IN PLACE with id and secret preserved and no delete/recreate, which is exactly the fact an agent needs since destructiveHint is false but the operation does mutate state. It also names the return shape and the no-op behavior for already-active webhooks, consistent with idempotentHint.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
The key constraint (PENDING only) is front-loaded in the first clause, and every subsequent sentence adds new information: failure reasons, prerequisite fix, in-place semantics, return shape, active no-op. No filler.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
Annotations cover safety and idempotency, an output schema exists, and the description supplements both with the state-transition guarantee and error taxonomy. Nothing an agent needs to call this correctly or interpret the result is missing.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema coverage is 100% and both parameters are documented there, including retry identity for commandId, so the schema does the heavy lifting. The description only indirectly implies webhookId semantics through the pending-verification framing and adds no format or sourcing guidance for it.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
States a specific verb and resource ("Re-run ownership verification on a PENDING webhook") plus the exact precondition and observable state that qualifies. It is unmistakably distinct from create_webhook/update_webhook/delete_webhook siblings.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
Gives explicit when-to-use (endpoint failed to echo the challenge at create time), enumerates the verification.reason values that qualify, and specifies the prerequisite fix ("After you fix the receiver to reply 2xx echoing data.token"). It also covers the when-not case: an already-active webhook returns active unchanged.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
wait_jobWait for JobARead-onlyIdempotentInspect
Wait for a long-running job and return the resolved result — a bounded long-poll. Includes template preparation (kind="template", id=jobId), media import, render, compose, consult, suggestions and preview. If still running, call wait_job again with the same arguments; work continues server-side.
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | kind="media": mediaItemId returned by import/generate/finalize/import_resource. kind="render": renderId. kind="compose": composeJobId. kind="consult": consultJobId. kind="suggestions": mediaItemId. Generic kinds use the jobId from the enqueue receipt. | |
| kind | Yes | What to wait on, including template preparation (kind="template"). | |
| projectId | No | Required when kind="render", "compose", or "consult". | |
| timeoutMs | No | Maximum wait in ms (default 30 min for render/compose, 5 min for suggestions). | |
| imageIndices | No | Read these 1–4 original zero-based image artifact indices from this completed job, in this order. Does not render again. Same arguments repeat the same selection; omit for the first four. |
TDQS
Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?
Annotations already declare readOnly, idempotent, non-destructive, so the safety profile is covered. The description adds genuinely new behavior: it's a bounded long-poll, the server keeps working between calls, and re-invoking with identical arguments is the correct continuation pattern. It doesn't say what is returned on timeout, which is the remaining gap.
Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.
Is the description appropriately sized, front-loaded, and free of redundancy?
Front-loaded with the core action and its bounded-poll nature in the first clause, then the retry rule. The enumeration of supported kinds (media import, render, compose, consult, suggestions, preview) is largely duplicated by the schema enum and is the one bit of low-value bulk.
Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.
Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?
No output schema exists, so the description must carry return semantics, and 'return the resolved result' is thin but the polling contract compensates. For a read-only poll tool with full schema coverage and a clear retry rule, an agent has enough to call it correctly; only the timeout/no-result outcome is unaddressed.
Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.
Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?
Schema description coverage is 100%, so every parameter including the kind enum, projectId conditional requirement, timeoutMs defaults, and imageIndices repeat semantics is already documented in the schema. The description only reinforces the kind="template"/id=jobId pairing, adding little beyond structured data. Baseline 3 applies.
Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.
Does the description clearly state what the tool does and how it differs from similar tools?
The description opens with a concrete verb+resource ('Wait for a long-running job') and adds a precise operational characterization ('a bounded long-poll'), which an agent can act on directly. It doesn't explicitly contrast with siblings like get_render or get_composition, which is the only thing keeping it from a 5.
Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.
Does the description explain when to use this tool, when not to, or what alternatives exist?
It gives the key operational rule: if the job is still running, call wait_job again with the same arguments because work continues server-side. That covers the dominant usage pattern well. It stops short of saying when to prefer this over a fetch-result sibling such as get_render, so there's no explicit exclusion.
Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.
Tool Schema Changelog
Recent tool additions, removals, and schema changes observed during successful MCP inspections.
28 tool updates
- Added
acquire_registry_item - Changed
apply_composition317 fields changed- removed
Input schema / $defs / __schema1Removed value: -{ - "items": { - "$ref": "#/$defs/__schema2" - }, - "minItems": 1, - "type": "array" -} - removed
Input schema / $defs / __schema10Removed value: -{ - "additionalProperties": {}, - "properties": { - "faceId": { - "minLength": 1, - "type": "string" - }, - "mode": { - "const": "face", - "type": "string" - }, - "shotScale": { - "enum": [ - "close", - "standard", - "wide" - ], - "type": "string" - } - }, - "required": [ - "mode", - "faceId" - ], - "type": "object" -} - removed
Input schema / $defs / __schema100Removed value: -{ - "maximum": 1, - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema101Removed value: -{ - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" -} - removed
Input schema / $defs / __schema102Removed value: -{ - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" -} - removed
Input schema / $defs / __schema103Removed value: -{} - removed
Input schema / $defs / __schema104Removed value: -{ - "additionalProperties": false, - "description": "Set the caption compositing plane. Use `behind-subject` to place captions behind the segmented foreground subject; use `front` for conventional captions above all video layers.", - "properties": { - "type": { - "$ref": "#/$defs/__schema105" - }, - "zPlane": { - "$ref": "#/$defs/__schema106" - } - }, - "required": [ - "type", - "zPlane" - ], - "type": "object" -} - removed
Input schema / $defs / __schema105Removed value: -{ - "const": "setCaptionDepth", - "type": "string" -} - removed
Input schema / $defs / __schema106Removed value: -{ - "enum": [ - "front", - "behind-subject" - ], - "type": "string" -} - removed
Input schema / $defs / __schema107Removed value: -{ - "additionalProperties": false, - "description": "Replace the caption SEGMENTS wholesale — author the word-timed caption layer directly (each segment = one sentence/page of `words` with timeline-ms `startMs`/`endMs`, optional `emphasis`). This is how a client with its OWN word timings (e.g. a generated VO take) gets word-synced captions without a source transcript; the compose lane's transcript slice writes the same layer. `style`, when given, merges with setCaptionStyle semantics; an omitted style keeps the existing one. Renderer paginates within a segment and never pools words across two — keep segments sentence-bounded.", - "properties": { - "segments": { - "$ref": "#/$defs/__schema109" - }, - "style": { - "$ref": "#/$defs/__schema110" - }, - "type": { - "$ref": "#/$defs/__schema108" - } - }, - "required": [ - "type", - "segments" - ], - "type": "object" -} - removed
Input schema / $defs / __schema108Removed value: -{ - "const": "setCaptions", - "type": "string" -} - removed
Input schema / $defs / __schema109Removed value: -{ - "items": { - "additionalProperties": {}, - "properties": { - "words": { - "items": { - "additionalProperties": {}, - "properties": { - "annotate": { - "enum": [ - "circle", - "underline" - ], - "type": "string" - }, - "emphasis": { - "type": "boolean" - }, - "endMs": { - "description": "Word end on the composition timeline, in milliseconds.", - "minimum": 0, - "type": "number" - }, - "startMs": { - "description": "Word start on the composition timeline, in milliseconds.", - "minimum": 0, - "type": "number" - }, - "text": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "text", - "startMs", - "endMs" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "words" - ], - "type": "object" - }, - "type": "array" -} - removed
Input schema / $defs / __schema11Removed value: -{ - "additionalProperties": {}, - "properties": { - "mode": { - "const": "all-faces", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" -} - removed
Input schema / $defs / __schema110Removed value: -{ - "$ref": "#/$defs/__schema98" -} - removed
Input schema / $defs / __schema111Removed value: -{ - "additionalProperties": false, - "description": "Replace native caption placements without changing transcript words or timings. Each layout references a half-open word-index range in one saved segment; a one-word range is valid. region places that group independently, optional bounded scale/rotation/style changes its look, and holdThroughWordIndex keeps it visible through a later saved word in the same segment. All words in a placed range occupy one page; rendering refuses a range that cannot fit its box, so enlarge region or split the range. The box reserves horizontal space of 1.6 font sizes and vertical space of 0.8 font sizes for padding, with at most three lines. Unreferenced words keep the default caption layout. Word ranges must not overlap. Reapply after caption regeneration or timeline cuts.", - "properties": { - "layouts": { - "$ref": "#/$defs/__schema113" - }, - "type": { - "$ref": "#/$defs/__schema112" - } - }, - "required": [ - "type", - "layouts" - ], - "type": "object" -} - removed
Input schema / $defs / __schema112Removed value: -{ - "const": "setCaptionLayouts", - "type": "string" -} - removed
Input schema / $defs / __schema113Removed value: -{ - "items": { - "additionalProperties": false, - "properties": { - "holdThroughWordIndex": { - "description": "Inclusive saved-word index in this segment. The layout stays visible until that word ends.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "region": { - "additionalProperties": {}, - "properties": { - "h": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "w": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "rotation": { - "maximum": 45, - "minimum": -45, - "type": "number" - }, - "scale": { - "maximum": 4, - "minimum": 0.25, - "type": "number" - }, - "segmentIndex": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "style": { - "additionalProperties": false, - "properties": { - "annotationColor": { - "type": "string" - }, - "annotationStrokeWidth": { - "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.", - "maximum": 12, - "minimum": 0.5, - "type": "number" - }, - "annotationTexture": { - "description": "Native annotation stroke finish; default clean.", - "enum": [ - "clean", - "pencil" - ], - "type": "string" - }, - "backgroundColor": { - "type": "string" - }, - "color": { - "minLength": 1, - "type": "string" - }, - "emphasisColor": { - "type": "string" - }, - "emphasisFontFamily": { - "type": "string" - }, - "emphasisFontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "emphasisFontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "emphasisLetterSpacing": { - "type": "number" - }, - "emphasisPlate": { - "type": "boolean" - }, - "emphasisPlateAltColor": { - "type": "string" - }, - "emphasisPlateAltTextColor": { - "type": "string" - }, - "emphasisPlateColor": { - "type": "string" - }, - "emphasisPlatePadX": { - "type": "number" - }, - "emphasisPlatePadY": { - "type": "number" - }, - "emphasisPlateRadius": { - "minimum": 0, - "type": "number" - }, - "emphasisPlateReveal": { - "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.", - "type": "boolean" - }, - "emphasisPlateTextColor": { - "type": "string" - }, - "emphasisScale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "emphasisTextTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "entrance": { - "enum": [ - "none", - "fade", - "word-pop", - "stagger-up" - ], - "type": "string" - }, - "entranceMs": { - "minimum": 0, - "type": "number" - }, - "entranceStaggerMs": { - "minimum": 0, - "type": "number" - }, - "exitMs": { - "minimum": 0, - "type": "number" - }, - "fontFamily": { - "minLength": 1, - "type": "string" - }, - "fontSize": { - "description": "Font size as % of composition height (1-15, default 5). NOT px.", - "maximum": 15, - "minimum": 1, - "type": "number" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "highlightColor": { - "minLength": 1, - "type": "string" - }, - "letterSpacing": { - "description": "Base caption glyph spacing in pixels.", - "maximum": 20, - "minimum": -5, - "type": "number" - }, - "lineGapEm": { - "description": "Gap between caption lines as a multiple of base font size; default 0.25.", - "maximum": 2, - "minimum": 0, - "type": "number" - }, - "plate": { - "enum": [ - "glass", - "solid", - "none" - ], - "type": "string" - }, - "textTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "wordGapEm": { - "description": "Gap between caption runs as a multiple of base font size; default 0.35.", - "maximum": 2, - "minimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "wordEndIndex": { - "description": "Exclusive word index in the saved caption segment.", - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "wordMarks": { - "items": { - "additionalProperties": false, - "properties": { - "annotate": { - "anyOf": [ - { - "enum": [ - "circle", - "underline" - ], - "type": "string" - }, - { - "type": "null" - } - ] - }, - "emphasis": { - "type": "boolean" - }, - "wordIndex": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "wordIndex" - ], - "type": "object" - }, - "type": "array" - }, - "wordStartIndex": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "segmentIndex", - "wordStartIndex", - "wordEndIndex", - "region" - ], - "type": "object" - }, - "type": "array" -} - removed
Input schema / $defs / __schema114Removed value: -{ - "additionalProperties": false, - "description": "Author a scene shot and place it on a dedicated overlay track. The host validates the scene, generates and registers an immutable wrapper component source, and emits the ordinary track/clip operations carrying `props.componentRef` — you edit a scene SPEC, never wrapper TSX or a source hash. Registration and the composition update are ONE undoable edit; a failure publishes nothing and leaves no clip pointing at an unresolved source. REQUIRED: `clipId`, `startTime`, `duration`, `scene` and `assets` (send `{}` when no layer references a slot), plus EXACTLY ONE of `trackId` (an existing dedicated scene track) or `newTrack: true` (mint one). A minted scene track is appended at the BACK like every new track, so it paints under existing tracks; raise it with `reorderTracks` (index 0 is the top layer). That track holds scene-shot clips and gaps only — no generic component/primitive/media clips in v1 — and existing generic overlay tracks are unaffected. Scene clips use front zPlane and full-frame placement: outer per-clip `region`, `position`, `scale`, `rotation`, `fit`, `effects`, keyframes (`tweens`/`automation`), `params.transition`, `params.sequenceGroup` and internal fadeIn/fadeOut are REFUSED with a path, because the shot's own layer transforms are the single transform owner. TEXT: `space: \"screen\"` text is composed above the world result, stays fixed in the frame and stays sharp through focus; `space: \"world\"` text is rasterized into the 3D scene, moves with the camera and is occluded by geometry. Screenshots and world text are UNLIT and colour-managed so product UI colours are not tinted by the studio lighting, while device bodies are lit and cast shadows; an unlit surface still occludes. SCOPE GAP (pre-existing, neither closed nor changed by scene shots): global wrap effects — composition-level grades and camera effects — do not reach front-overlay clips, so they do not affect a scene shot. Author the look INSIDE the shot (`post.grain`, `post.vignette`, `post.focus`, `backdrop`, `environment`) instead. DISCOVERY: there is no built-in scene primitive to look up in list_catalog; the wrapper this operation registers appears afterwards as an ordinary INSTALLED component under the existing catalog rules. ASSETS: `assets` binds each slot name a layer references to a media id in the same project, and the slot's declared KIND decides what it admits — an image slot takes PNG, JPEG or WebP, a video slot MP4 or WebM. Binding the wrong kind is refused with the slot's path.", - "properties": { - "assets": { - "$ref": "#/$defs/__schema193" - }, - "clipId": { - "$ref": "#/$defs/__schema116" - }, - "duration": { - "$ref": "#/$defs/__schema121" - }, - "newTrack": { - "$ref": "#/$defs/__schema118" - }, - "newTrackId": { - "$ref": "#/$defs/__schema119" - }, - "scene": { - "$ref": "#/$defs/__schema123" - }, - "startTime": { - "$ref": "#/$defs/__schema120" - }, - "trackId": { - "$ref": "#/$defs/__schema117" - }, - "transitionIn": { - "$ref": "#/$defs/__schema122" - }, - "type": { - "$ref": "#/$defs/__schema115" - } - }, - "required": [ - "type", - "clipId", - "startTime", - "duration", - "scene", - "assets" - ], - "type": "object" -} - removed
Input schema / $defs / __schema115Removed value: -{ - "const": "scene.add", - "type": "string" -} - removed
Input schema / $defs / __schema116Removed value: -{ - "minLength": 1, - "type": "string" -} - removed
Input schema / $defs / __schema117Removed value: -{ - "minLength": 1, - "type": "string" -} - removed
Input schema / $defs / __schema118Removed value: -{ - "type": "boolean" -} - removed
Input schema / $defs / __schema119Removed value: -{ - "minLength": 1, - "type": "string" -} - removed
Input schema / $defs / __schema12Removed value: -{ - "additionalProperties": {}, - "properties": { - "mode": { - "const": "active-speaker", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" -} - removed
Input schema / $defs / __schema120Removed value: -{ - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema121Removed value: -{ - "exclusiveMinimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema122Removed value: -{ - "additionalProperties": {}, - "properties": { - "component": { - "$ref": "#/$defs/__schema19" - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "fromClipId": { - "minLength": 1, - "type": "string" - }, - "handlePolicy": { - "const": "outgoing-overrun-at-cut-v1", - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "toClipId": { - "minLength": 1, - "type": "string" - }, - "type": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "type", - "duration" - ], - "type": "object" -} - removed
Input schema / $defs / __schema123Removed value: -{ - "additionalProperties": false, - "description": "A version-2 scene shot: a self-contained 3D world-object shot that scene.add / scene.update materializes into an ordinary component clip. The shot owns its layers, camera, lighting, backdrop and normalized local animation; the composition owns start, duration, ordering, cuts and transitions. Coordinates are REFERENCE PIXELS: origin at frame centre, +X right, +Y down, +Z toward the viewer. referenceSize must have the SAME aspect ratio as the composition format; mismatch fails instead of cropping. At equal aspect ratio the shot scales uniformly by outputWidth/referenceWidth. A segment's easing belongs to the keyframe it ARRIVES at; the first keyframe has no easing. Authoring limits: 32 layers, 4 devices, 16 distinct image slots, 256 keyframes per channel, 2048 keyframes per shot. Version 2 supports nested groups, procedural slab/page/phone/laptop objects, screen- and world-space text, admitted image/component/video surfaces, fixed photographic and generated studio environments, transparent/solid/linear/radial backdrops, constraints, focus, grain and vignette. Raw HTML, custom shader props, imported GLB models, arbitrary external HDR environments, skeletal animation and physics are refused with an exact field path.", - "properties": { - "animation": { - "$ref": "#/$defs/__schema188" - }, - "backdrop": { - "$ref": "#/$defs/__schema134" - }, - "camera": { - "$ref": "#/$defs/__schema126" - }, - "constraints": { - "$ref": "#/$defs/__schema191" - }, - "environment": { - "$ref": "#/$defs/__schema133" - }, - "layers": { - "$ref": "#/$defs/__schema139" - }, - "post": { - "$ref": "#/$defs/__schema190" - }, - "referenceSize": { - "$ref": "#/$defs/__schema125" - }, - "version": { - "$ref": "#/$defs/__schema124" - } - }, - "required": [ - "version", - "referenceSize", - "layers" - ], - "type": "object" -} - removed
Input schema / $defs / __schema124Removed value: -{ - "const": 2, - "type": "number" -} - removed
Input schema / $defs / __schema125Removed value: -{ - "additionalProperties": false, - "properties": { - "height": { - "maximum": 8192, - "minimum": 16, - "type": "integer" - }, - "width": { - "maximum": 8192, - "minimum": 16, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" -} - removed
Input schema / $defs / __schema126Removed value: -{ - "additionalProperties": false, - "properties": { - "fov": { - "maximum": 1.3962634015954636, - "minimum": 0.3141592653589793, - "type": "number" - }, - "position": { - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "$ref": "#/$defs/__schema127" - }, - { - "$ref": "#/$defs/__schema128" - }, - { - "$ref": "#/$defs/__schema129" - } - ], - "type": "array" - }, - "rotation": { - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "$ref": "#/$defs/__schema130" - }, - { - "$ref": "#/$defs/__schema131" - }, - { - "$ref": "#/$defs/__schema132" - } - ], - "type": "array" - } - }, - "type": "object" -} - removed
Input schema / $defs / __schema127Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema128Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema129Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema13Removed value: -{ - "description": "Ease-IN ramp DURATION in seconds at the segment START.", - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema130Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema131Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema132Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema133Removed value: -{ - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "floorY": { - "default": -420, - "type": "number" - }, - "intensity": { - "default": 1, - "minimum": 0, - "type": "number" - }, - "kind": { - "const": "studio", - "type": "string" - }, - "lightingProfile": { - "default": "studio", - "enum": [ - "studio", - "studio-edge" - ], - "type": "string" - }, - "preset": { - "default": "soft", - "enum": [ - "soft", - "key", - "rim" - ], - "type": "string" - }, - "shadowOpacity": { - "default": 0.5, - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "photographic-studio-v1", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - } - ], - "default": { - "floorY": -420, - "intensity": 1, - "lightingProfile": "studio", - "preset": "soft", - "shadowOpacity": 0.5 - } -} - removed
Input schema / $defs / __schema134Removed value: -{ - "default": { - "kind": "transparent" - }, - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "transparent", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "kind": { - "const": "solid", - "type": "string" - } - }, - "required": [ - "kind", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "angle": { - "default": 0, - "type": "number" - }, - "kind": { - "const": "linear", - "type": "string" - }, - "stops": { - "items": { - "$ref": "#/$defs/__schema135" - }, - "maxItems": 8, - "minItems": 2, - "type": "array" - } - }, - "required": [ - "kind", - "stops" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "at": { - "default": [ - 0.5, - 0.5 - ], - "items": false, - "maxItems": 2, - "minItems": 2, - "prefixItems": [ - { - "$ref": "#/$defs/__schema136" - }, - { - "$ref": "#/$defs/__schema137" - } - ], - "type": "array" - }, - "kind": { - "const": "radial", - "type": "string" - }, - "stops": { - "items": { - "$ref": "#/$defs/__schema138" - }, - "maxItems": 8, - "minItems": 2, - "type": "array" - } - }, - "required": [ - "kind", - "stops" - ], - "type": "object" - } - ] -} - removed
Input schema / $defs / __schema135Removed value: -{ - "additionalProperties": false, - "properties": { - "at": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - } - }, - "required": [ - "at", - "color" - ], - "type": "object" -} - removed
Input schema / $defs / __schema136Removed value: -{ - "maximum": 1, - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema137Removed value: -{ - "maximum": 1, - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema138Removed value: -{ - "additionalProperties": false, - "properties": { - "at": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - } - }, - "required": [ - "at", - "color" - ], - "type": "object" -} - removed
Input schema / $defs / __schema139Removed value: -{ - "items": { - "$ref": "#/$defs/__schema140" - }, - "minItems": 1, - "type": "array" -} - removed
Input schema / $defs / __schema14Removed value: -{ - "description": "Ease-OUT ramp DURATION in seconds at the segment END.", - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema140Removed value: -{ - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "children": { - "items": { - "$ref": "#/$defs/__schema147" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "group", - "type": "string" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "$ref": "#/$defs/__schema141" - }, - { - "$ref": "#/$defs/__schema142" - }, - { - "$ref": "#/$defs/__schema143" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "$ref": "#/$defs/__schema144" - }, - { - "$ref": "#/$defs/__schema145" - }, - { - "$ref": "#/$defs/__schema146" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - } - }, - "required": [ - "kind", - "id", - "children" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "laptop", - "type": "string" - }, - "materials": { - "$ref": "#/$defs/__schema154" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "openAngle": { - "maximum": 3.141592653589793, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "$ref": "#/$defs/__schema156" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "$ref": "#/$defs/__schema148" - }, - { - "$ref": "#/$defs/__schema149" - }, - { - "$ref": "#/$defs/__schema150" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "$ref": "#/$defs/__schema151" - }, - { - "$ref": "#/$defs/__schema152" - }, - { - "$ref": "#/$defs/__schema153" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 4000, - "minimum": 200, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "openAngle" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "phone", - "type": "string" - }, - "materials": { - "$ref": "#/$defs/__schema154" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "$ref": "#/$defs/__schema156" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "$ref": "#/$defs/__schema160" - }, - { - "$ref": "#/$defs/__schema161" - }, - { - "$ref": "#/$defs/__schema162" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "$ref": "#/$defs/__schema163" - }, - { - "$ref": "#/$defs/__schema164" - }, - { - "$ref": "#/$defs/__schema165" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 2000, - "minimum": 80, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "cornerRadius": { - "default": 32, - "minimum": 0, - "type": "number" - }, - "edgeRadius": { - "default": 15, - "minimum": 0, - "type": "number" - }, - "finish": { - "default": "satin", - "enum": [ - "satin", - "brushed" - ], - "type": "string" - }, - "height": { - "maximum": 8000, - "minimum": 40, - "type": "number" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "slab", - "type": "string" - }, - "materials": { - "$ref": "#/$defs/__schema154" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "$ref": "#/$defs/__schema156" - }, - "thickness": { - "default": 32, - "maximum": 200, - "minimum": 4, - "type": "number" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "$ref": "#/$defs/__schema166" - }, - { - "$ref": "#/$defs/__schema167" - }, - { - "$ref": "#/$defs/__schema168" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "$ref": "#/$defs/__schema169" - }, - { - "$ref": "#/$defs/__schema170" - }, - { - "$ref": "#/$defs/__schema171" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 8000, - "minimum": 40, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "height" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "backface": { - "default": "hidden", - "enum": [ - "hidden", - "visible" - ], - "type": "string" - }, - "depthWrite": { - "default": true, - "type": "boolean" - }, - "fit": { - "default": "contain", - "enum": [ - "contain", - "cover" - ], - "type": "string" - }, - "height": { - "maximum": 8000, - "minimum": 40, - "type": "number" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "page", - "type": "string" - }, - "materials": { - "$ref": "#/$defs/__schema154" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "$ref": "#/$defs/__schema156" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "$ref": "#/$defs/__schema172" - }, - { - "$ref": "#/$defs/__schema173" - }, - { - "$ref": "#/$defs/__schema174" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "$ref": "#/$defs/__schema175" - }, - { - "$ref": "#/$defs/__schema176" - }, - { - "$ref": "#/$defs/__schema177" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "transparency": { - "default": "straight", - "enum": [ - "straight", - "premultiplied", - "opaque" - ], - "type": "string" - }, - "width": { - "maximum": 8000, - "minimum": 40, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "height", - "surfaces" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "align": { - "default": "center", - "enum": [ - "left", - "center", - "right" - ], - "type": "string" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "fontFamily": { - "anyOf": [ - { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9 _.\\-]*$", - "type": "string" - }, - { - "enum": [ - "$brand:fonts.heading", - "$brand:fonts.body", - "$brand:fonts.caption" - ], - "type": "string" - } - ] - }, - "fontSize": { - "maximum": 800, - "minimum": 8, - "type": "number" - }, - "fontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "text", - "type": "string" - }, - "letterSpacing": { - "default": 0, - "maximum": 40, - "minimum": -20, - "type": "number" - }, - "lineHeight": { - "default": 1.2, - "maximum": 3, - "minimum": 0.6, - "type": "number" - }, - "lines": { - "items": { - "$ref": "#/$defs/__schema178" - }, - "maxItems": 24, - "minItems": 1, - "type": "array" - }, - "maxWidth": { - "exclusiveMinimum": 0, - "type": "number" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "space": { - "const": "world", - "type": "string" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "$ref": "#/$defs/__schema180" - }, - { - "$ref": "#/$defs/__schema181" - }, - { - "$ref": "#/$defs/__schema182" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "$ref": "#/$defs/__schema183" - }, - { - "$ref": "#/$defs/__schema184" - }, - { - "$ref": "#/$defs/__schema185" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - } - }, - "required": [ - "id", - "kind", - "lines", - "fontFamily", - "fontWeight", - "fontStyle", - "fontSize", - "color", - "space" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "align": { - "default": "center", - "enum": [ - "left", - "center", - "right" - ], - "type": "string" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "fontFamily": { - "anyOf": [ - { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9 _.\\-]*$", - "type": "string" - }, - { - "enum": [ - "$brand:fonts.heading", - "$brand:fonts.body", - "$brand:fonts.caption" - ], - "type": "string" - } - ] - }, - "fontSize": { - "maximum": 800, - "minimum": 8, - "type": "number" - }, - "fontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "text", - "type": "string" - }, - "letterSpacing": { - "default": 0, - "maximum": 40, - "minimum": -20, - "type": "number" - }, - "lineHeight": { - "default": 1.2, - "maximum": 3, - "minimum": 0.6, - "type": "number" - }, - "lines": { - "items": { - "$ref": "#/$defs/__schema186" - }, - "maxItems": 24, - "minItems": 1, - "type": "array" - }, - "maxWidth": { - "exclusiveMinimum": 0, - "type": "number" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "rotation": { - "default": 0, - "type": "number" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - }, - "space": { - "const": "screen", - "type": "string" - }, - "x": { - "type": "number" - }, - "y": { - "type": "number" - } - }, - "required": [ - "id", - "kind", - "lines", - "fontFamily", - "fontWeight", - "fontStyle", - "fontSize", - "color", - "space", - "x", - "y" - ], - "type": "object" - } - ] -} - removed
Input schema / $defs / __schema141Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema142Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema143Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema144Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema145Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema146Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema147Removed value: -{ - "$ref": "#/$defs/__schema140" -} - removed
Input schema / $defs / __schema148Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema149Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema15Removed value: -{} - removed
Input schema / $defs / __schema150Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema151Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema152Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema153Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema154Removed value: -{ - "items": { - "$ref": "#/$defs/__schema155" - }, - "maxItems": 16, - "type": "array" -} - removed
Input schema / $defs / __schema155Removed value: -{ - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" -} - removed
Input schema / $defs / __schema156Removed value: -{ - "additionalProperties": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "$ref": "#/$defs/__schema157" - }, - { - "$ref": "#/$defs/__schema158" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema159" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" -} - removed
Input schema / $defs / __schema157Removed value: -{ - "const": 2, - "type": "number" -} - removed
Input schema / $defs / __schema158Removed value: -{ - "const": 3, - "type": "number" -} - removed
Input schema / $defs / __schema159Removed value: -{ - "anyOf": [ - { - "type": "null" - }, - { - "type": "boolean" - }, - { - "type": "number" - }, - { - "type": "string" - }, - { - "items": { - "$ref": "#/$defs/__schema159" - }, - "type": "array" - }, - { - "additionalProperties": { - "$ref": "#/$defs/__schema159" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - ] -} - removed
Input schema / $defs / __schema16Removed value: -{ - "description": "Horizontal nudge, source-normalized (+ = right).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" -} - removed
Input schema / $defs / __schema160Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema161Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema162Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema163Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema164Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema165Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema166Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema167Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema168Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema169Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema17Removed value: -{ - "description": "Vertical nudge, source-normalized (+ = down).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" -} - removed
Input schema / $defs / __schema170Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema171Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema172Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema173Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema174Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema175Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema176Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema177Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema178Removed value: -{ - "additionalProperties": false, - "properties": { - "runs": { - "items": { - "$ref": "#/$defs/__schema179" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "runs" - ], - "type": "object" -} - removed
Input schema / $defs / __schema179Removed value: -{ - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "emphasis": { - "type": "boolean" - }, - "text": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^\\r\\n]+$", - "type": "string" - } - }, - "required": [ - "text" - ], - "type": "object" -} - removed
Input schema / $defs / __schema18Removed value: -{} - removed
Input schema / $defs / __schema180Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema181Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema182Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema183Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema184Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema185Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema186Removed value: -{ - "additionalProperties": false, - "properties": { - "runs": { - "items": { - "$ref": "#/$defs/__schema187" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "runs" - ], - "type": "object" -} - removed
Input schema / $defs / __schema187Removed value: -{ - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "emphasis": { - "type": "boolean" - }, - "text": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^\\r\\n]+$", - "type": "string" - } - }, - "required": [ - "text" - ], - "type": "object" -} - removed
Input schema / $defs / __schema188Removed value: -{ - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "keyframes": { - "items": { - "$ref": "#/$defs/__schema189" - }, - "maxItems": 256, - "minItems": 1, - "type": "array" - }, - "property": { - "enum": [ - "positionX", - "positionY", - "positionZ", - "rotationX", - "rotationY", - "rotationZ", - "fov", - "scale", - "opacity", - "openAngle", - "x", - "y", - "rotation", - "intensity", - "distance", - "range", - "maxBlur" - ], - "type": "string" - }, - "target": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "camera", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "layer", - "type": "string" - }, - "layerId": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - } - }, - "required": [ - "kind", - "layerId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "environment", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "focus", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - } - ] - } - }, - "required": [ - "target", - "property", - "keyframes" - ], - "type": "object" - }, - "type": "array" -} - removed
Input schema / $defs / __schema189Removed value: -{ - "additionalProperties": false, - "properties": { - "at": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "easing": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "linear", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "hold", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "bezier", - "type": "string" - }, - "x1": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "x2": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y1": { - "maximum": 5, - "minimum": -4, - "type": "number" - }, - "y2": { - "maximum": 5, - "minimum": -4, - "type": "number" - } - }, - "required": [ - "kind", - "x1", - "y1", - "x2", - "y2" - ], - "type": "object" - } - ] - }, - "value": { - "type": "number" - } - }, - "required": [ - "at", - "value" - ], - "type": "object" -} - removed
Input schema / $defs / __schema19Removed value: -{ - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema20" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema20" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] -} - removed
Input schema / $defs / __schema190Removed value: -{ - "additionalProperties": false, - "default": { - "focus": null, - "grain": 0, - "vignette": 0 - }, - "properties": { - "focus": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "distance": { - "exclusiveMinimum": 0, - "type": "number" - }, - "maxBlur": { - "maximum": 64, - "minimum": 0, - "type": "number" - }, - "range": { - "exclusiveMinimum": 0, - "type": "number" - } - }, - "required": [ - "distance", - "range", - "maxBlur" - ], - "type": "object" - }, - { - "type": "null" - } - ], - "default": null - }, - "grain": { - "default": 0, - "maximum": 0.5, - "minimum": 0, - "type": "number" - }, - "vignette": { - "default": 0, - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "type": "object" -} - removed
Input schema / $defs / __schema191Removed value: -{ - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "gap": { - "exclusiveMinimum": 0, - "type": "number" - }, - "kind": { - "const": "minSeparation", - "type": "string" - }, - "objects": { - "items": { - "$ref": "#/$defs/__schema192" - }, - "minItems": 2, - "type": "array" - } - }, - "required": [ - "kind", - "objects", - "gap" - ], - "type": "object" - }, - "type": "array" -} - removed
Input schema / $defs / __schema192Removed value: -{ - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" -} - removed
Input schema / $defs / __schema193Removed value: -{ - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "minLength": 1, - "type": "string" - }, - "type": "object" -} - removed
Input schema / $defs / __schema194Removed value: -{ - "additionalProperties": false, - "description": "Revise a scene shot in place by clip id. Send a replacement `scene` and/or `assets`; timing changes use the ordinary clip timing fields (`startTime`, `duration`, `transitionIn`). Omitted fields keep their persisted values and the MERGED result is re-validated as a whole, so a partial edit cannot leave the shot invalid. Changing only values or asset IDs updates props and bindings and REUSES the pinned source; changing the referenced SLOT SET regenerates the wrapper manifest and registers a new immutable source version atomically. Undo restores the source reference, spec, bindings and timing together. Topology, asset bindings, text content, font properties, device kind and colours are STATIC within a shot's animation — change them here (a revised spec) rather than trying to animate them. This is not a source trim or slip: a shortened or extended clip resamples the SAME normalized animation over its new duration, and trim/slip requests on generated animation are rejected rather than reinterpreted as media trims. In one batch, `scene.update` may target a shot added by an earlier `scene.add`. ASSETS: `assets` binds each slot name a layer references to a media id in the same project, and the slot's declared KIND decides what it admits — an image slot takes PNG, JPEG or WebP, a video slot MP4 or WebM. Binding the wrong kind is refused with the slot's path.", - "properties": { - "assets": { - "$ref": "#/$defs/__schema201" - }, - "clipId": { - "$ref": "#/$defs/__schema196" - }, - "duration": { - "$ref": "#/$defs/__schema198" - }, - "scene": { - "$ref": "#/$defs/__schema200" - }, - "startTime": { - "$ref": "#/$defs/__schema197" - }, - "transitionIn": { - "$ref": "#/$defs/__schema199" - }, - "type": { - "$ref": "#/$defs/__schema195" - } - }, - "required": [ - "type", - "clipId" - ], - "type": "object" -} - removed
Input schema / $defs / __schema195Removed value: -{ - "const": "scene.update", - "type": "string" -} - removed
Input schema / $defs / __schema196Removed value: -{ - "minLength": 1, - "type": "string" -} - removed
Input schema / $defs / __schema197Removed value: -{ - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema198Removed value: -{ - "exclusiveMinimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema199Removed value: -{ - "additionalProperties": {}, - "properties": { - "component": { - "$ref": "#/$defs/__schema19" - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "fromClipId": { - "minLength": 1, - "type": "string" - }, - "handlePolicy": { - "const": "outgoing-overrun-at-cut-v1", - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "toClipId": { - "minLength": 1, - "type": "string" - }, - "type": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "type", - "duration" - ], - "type": "object" -} - removed
Input schema / $defs / __schema2Removed value: -{ - "description": "One scoped composition operation. Discriminated by `type` — `clip.add` / `clip.remove` / `clip.update` patch clips across any family; the rest cover markers, reframe, effects, captions, format, tracks, and the server-authoritative ripple recomputes. Every variant is `.strict()`: an unknown field is refused, not ignored.", - "oneOf": [ - { - "$ref": "#/$defs/__schema3" - }, - { - "$ref": "#/$defs/__schema41" - }, - { - "$ref": "#/$defs/__schema44" - }, - { - "$ref": "#/$defs/__schema50" - }, - { - "$ref": "#/$defs/__schema64" - }, - { - "$ref": "#/$defs/__schema67" - }, - { - "$ref": "#/$defs/__schema70" - }, - { - "$ref": "#/$defs/__schema73" - }, - { - "$ref": "#/$defs/__schema76" - }, - { - "$ref": "#/$defs/__schema80" - }, - { - "$ref": "#/$defs/__schema84" - }, - { - "$ref": "#/$defs/__schema88" - }, - { - "$ref": "#/$defs/__schema92" - }, - { - "$ref": "#/$defs/__schema96" - }, - { - "$ref": "#/$defs/__schema104" - }, - { - "$ref": "#/$defs/__schema107" - }, - { - "$ref": "#/$defs/__schema111" - }, - { - "$ref": "#/$defs/__schema114" - }, - { - "$ref": "#/$defs/__schema194" - }, - { - "$ref": "#/$defs/__schema202" - }, - { - "$ref": "#/$defs/__schema207" - }, - { - "$ref": "#/$defs/__schema211" - }, - { - "$ref": "#/$defs/__schema214" - }, - { - "$ref": "#/$defs/__schema217" - }, - { - "$ref": "#/$defs/__schema222" - }, - { - "$ref": "#/$defs/__schema225" - }, - { - "$ref": "#/$defs/__schema229" - }, - { - "$ref": "#/$defs/__schema233" - }, - { - "$ref": "#/$defs/__schema238" - }, - { - "$ref": "#/$defs/__schema242" - }, - { - "$ref": "#/$defs/__schema246" - }, - { - "$ref": "#/$defs/__schema250" - }, - { - "$ref": "#/$defs/__schema254" - }, - { - "$ref": "#/$defs/__schema260" - }, - { - "$ref": "#/$defs/__schema264" - } - ] -} - removed
Input schema / $defs / __schema20Removed value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - }, - { - "items": { - "$ref": "#/$defs/__schema20" - }, - "type": "array" - }, - { - "additionalProperties": { - "$ref": "#/$defs/__schema20" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - ] -} - removed
Input schema / $defs / __schema200Removed value: -{ - "$ref": "#/$defs/__schema123" -} - removed
Input schema / $defs / __schema201Removed value: -{ - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "minLength": 1, - "type": "string" - }, - "type": "object" -} - removed
Input schema / $defs / __schema202Removed value: -{ - "additionalProperties": false, - "description": "Materialize a clip's SOURCE-media temporal GRID as timeline markers — the rhythm authority you cut to. `grid:\"beat\"` reads a MUSIC bed's beat map (get_media_context.beatGrid), `grid:\"word\"` the VO word onsets (wordGrid); each grid point is projected from media time to TIMELINE time through the clip's placement (startTime, trim, playbackRate, excludedRanges) and written as a `kind:\"beat\"|\"word\"` marker (`metadata.sourceClipId` set). Points outside the clip's visible window are skipped. Re-running REPLACES the prior markers from the same clip+grid (idempotent). Land cuts and transition MIDPOINTS on the markers (a 0.5s transition starts 0.25s before its marker). `maxMarkers` (default 500, ceiling 2000) — exceeding it fails loud with the count. `grid:\"shot\"` is not yet exposed (shot_grid_unavailable). The target must be a media clip; absent evidence fails loud (grid_unavailable) naming how to get it (declare audioRole:\"music\" at ingest / transcribe).", - "properties": { - "clipId": { - "$ref": "#/$defs/__schema204" - }, - "grid": { - "$ref": "#/$defs/__schema205" - }, - "maxMarkers": { - "$ref": "#/$defs/__schema206" - }, - "type": { - "$ref": "#/$defs/__schema203" - } - }, - "required": [ - "type", - "clipId", - "grid" - ], - "type": "object" -} - removed
Input schema / $defs / __schema203Removed value: -{ - "const": "materializeGrid", - "type": "string" -} - removed
Input schema / $defs / __schema204Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema205Removed value: -{ - "enum": [ - "beat", - "word", - "shot" - ], - "type": "string" -} - removed
Input schema / $defs / __schema206Removed value: -{ - "exclusiveMinimum": 0, - "maximum": 2000, - "type": "integer" -} - removed
Input schema / $defs / __schema207Removed value: -{ - "additionalProperties": false, - "description": "Attach caption CONTENT from the media's cached transcript — no pasting words. ROUTE-MATERIALIZED like materializeGrid: the server slices the word-timed transcript to `window` (source seconds; absent = the whole media), rebases times, sentence-splits into segments, and applies it as `setCaptions`. 422 media_no_transcript when the media has no transcript or no words in the window. For your OWN word timings use setCaptions directly. For edited multi-clip timelines, use captions.fromComposition after saving the edits; that operation projects all selected track clips, trims, exclusions, and placements.", - "properties": { - "mediaId": { - "$ref": "#/$defs/__schema209" - }, - "type": { - "$ref": "#/$defs/__schema208" - }, - "window": { - "$ref": "#/$defs/__schema210" - } - }, - "required": [ - "type", - "mediaId" - ], - "type": "object" -} - removed
Input schema / $defs / __schema208Removed value: -{ - "const": "captions.fromTranscript", - "type": "string" -} - removed
Input schema / $defs / __schema209Removed value: -{ - "minLength": 1, - "type": "string" -} - removed
Input schema / $defs / __schema21Removed value: -{ - "minLength": 1, - "type": "string" -} - removed
Input schema / $defs / __schema210Removed value: -{ - "additionalProperties": false, - "properties": { - "endSec": { - "exclusiveMinimum": 0, - "type": "number" - }, - "startSec": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "startSec", - "endSec" - ], - "type": "object" -} - removed
Input schema / $defs / __schema211Removed value: -{ - "additionalProperties": false, - "description": "Snapshot word-timed captions from the SAVED edits on one explicit enabled video or audio track. The host reads each source media transcript, projects words through clip trim, excluded ranges and placement, then replaces the caption segments. This is route-materialized to setCaptions; call it AFTER persisting clip edits and call it again when those edits change. The existing caption style and depth are preserved. Missing transcripts, unsupported clips, inconsistent clip durations, and overlapping audible clips fail loud. Playback rate scales source word times and playable duration on both audio and video tracks.", - "properties": { - "trackId": { - "$ref": "#/$defs/__schema213" - }, - "type": { - "$ref": "#/$defs/__schema212" - } - }, - "required": [ - "type", - "trackId" - ], - "type": "object" -} - removed
Input schema / $defs / __schema212Removed value: -{ - "const": "captions.fromComposition", - "type": "string" -} - removed
Input schema / $defs / __schema213Removed value: -{ - "minLength": 1, - "type": "string" -} - removed
Input schema / $defs / __schema214Removed value: -{ - "additionalProperties": false, - "description": "Set the output format — `aspectRatio` (16:9|9:16|1:1|4:5) plus optional `fps` and `resolution`. Merges: an omitted field keeps the current value.", - "properties": { - "format": { - "$ref": "#/$defs/__schema216" - }, - "type": { - "$ref": "#/$defs/__schema215" - } - }, - "required": [ - "type", - "format" - ], - "type": "object" -} - removed
Input schema / $defs / __schema215Removed value: -{ - "const": "setFormat", - "type": "string" -} - removed
Input schema / $defs / __schema216Removed value: -{ - "additionalProperties": {}, - "properties": { - "aspectRatio": { - "enum": [ - "16:9", - "9:16", - "1:1", - "4:5" - ], - "type": "string" - }, - "fps": { - "anyOf": [ - { - "const": 24, - "type": "number" - }, - { - "const": 25, - "type": "number" - }, - { - "const": 30, - "type": "number" - }, - { - "const": 60, - "type": "number" - } - ] - }, - "resolution": { - "enum": [ - "hd", - "fhd", - "4k" - ], - "type": "string" - } - }, - "required": [ - "aspectRatio" - ], - "type": "object" -} - removed
Input schema / $defs / __schema217Removed value: -{ - "additionalProperties": false, - "description": "Add an EMPTY track of a given family (video|audio|image|overlay|effect). Optional pinned `id`. The new track is appended, so it starts at the BACK: index 0 is the top layer and higher indices are further back (see `reorderTracks`). Track order is the paint order for every family: a card on a track behind a video or image track draws behind it.", - "properties": { - "id": { - "$ref": "#/$defs/__schema221" - }, - "kind": { - "$ref": "#/$defs/__schema219" - }, - "name": { - "$ref": "#/$defs/__schema220" - }, - "type": { - "$ref": "#/$defs/__schema218" - } - }, - "required": [ - "type", - "kind" - ], - "type": "object" -} - removed
Input schema / $defs / __schema218Removed value: -{ - "const": "addTrack", - "type": "string" -} - removed
Input schema / $defs / __schema219Removed value: -{ - "enum": [ - "video", - "audio", - "image", - "overlay", - "effect" - ], - "type": "string" -} - removed
Input schema / $defs / __schema22Removed value: -{ - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" -} - removed
Input schema / $defs / __schema220Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema221Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema222Removed value: -{ - "additionalProperties": false, - "description": "Remove a track AND all its clips by id.", - "properties": { - "trackId": { - "$ref": "#/$defs/__schema224" - }, - "type": { - "$ref": "#/$defs/__schema223" - } - }, - "required": [ - "type", - "trackId" - ], - "type": "object" -} - removed
Input schema / $defs / __schema223Removed value: -{ - "const": "removeTrack", - "type": "string" -} - removed
Input schema / $defs / __schema224Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema225Removed value: -{ - "additionalProperties": false, - "description": "Patch a track's `name` / `enabled` by id. Track volume is retired: set each clip's own volume.", - "properties": { - "trackId": { - "$ref": "#/$defs/__schema227" - }, - "type": { - "$ref": "#/$defs/__schema226" - }, - "updates": { - "$ref": "#/$defs/__schema228" - } - }, - "required": [ - "type", - "trackId", - "updates" - ], - "type": "object" -} - removed
Input schema / $defs / __schema226Removed value: -{ - "const": "updateTrack", - "type": "string" -} - removed
Input schema / $defs / __schema227Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema228Removed value: -{ - "additionalProperties": false, - "properties": { - "enabled": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "volume": { - "maximum": 4, - "minimum": 0, - "type": "number" - } - }, - "type": "object" -} - removed
Input schema / $defs / __schema229Removed value: -{ - "additionalProperties": false, - "description": "Move a track from one index to another. ORDER: index 0 is the TOP layer, not the bottom — moving a backdrop to index 0 puts it in FRONT of everything and hides the composition. Higher index = further back. Track order is the paint order for every family, so cards, overlays, images and video interleave by index: a backdrop card, a screenshot and a foreground card on three tracks stack in that order. The one exception is `zPlane:\"behind-subject\"`, which moves the overlay inside its host clip, behind the segmented foreground.", - "properties": { - "fromIndex": { - "$ref": "#/$defs/__schema231" - }, - "toIndex": { - "$ref": "#/$defs/__schema232" - }, - "type": { - "$ref": "#/$defs/__schema230" - } - }, - "required": [ - "type", - "fromIndex", - "toIndex" - ], - "type": "object" -} - removed
Input schema / $defs / __schema23Removed value: -{ - "maximum": 2, - "minimum": -1, - "type": "number" -} - removed
Input schema / $defs / __schema230Removed value: -{ - "const": "reorderTracks", - "type": "string" -} - removed
Input schema / $defs / __schema231Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema232Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema233Removed value: -{ - "additionalProperties": false, - "description": "Move a clip to another SAME-family track, optionally at a new `newStartTime`.", - "properties": { - "clipId": { - "$ref": "#/$defs/__schema235" - }, - "newStartTime": { - "$ref": "#/$defs/__schema237" - }, - "targetTrackId": { - "$ref": "#/$defs/__schema236" - }, - "type": { - "$ref": "#/$defs/__schema234" - } - }, - "required": [ - "type", - "clipId", - "targetTrackId" - ], - "type": "object" -} - removed
Input schema / $defs / __schema234Removed value: -{ - "const": "moveClipToTrack", - "type": "string" -} - removed
Input schema / $defs / __schema235Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema236Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema237Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema238Removed value: -{ - "additionalProperties": false, - "description": "Duplicate a clip by id. Pin `newClipId` to make the copy's id deterministic (required for a clean undo/inverse).", - "properties": { - "clipId": { - "$ref": "#/$defs/__schema240" - }, - "newClipId": { - "$ref": "#/$defs/__schema241" - }, - "type": { - "$ref": "#/$defs/__schema239" - } - }, - "required": [ - "type", - "clipId" - ], - "type": "object" -} - removed
Input schema / $defs / __schema239Removed value: -{ - "const": "duplicateClip", - "type": "string" -} - removed
Input schema / $defs / __schema24Removed value: -{ - "maximum": 2, - "minimum": -1, - "type": "number" -} - removed
Input schema / $defs / __schema240Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema241Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema242Removed value: -{ - "additionalProperties": false, - "description": "Server-authoritative: delete the [start,end] time window (seconds) and ripple every downstream clip/marker/caption earlier to close the gap. Cuts apply sequentially in TIMELINE seconds: each cut moves everything after it, so a later cut's coordinates go stale once an earlier one lands. Plan several cuts back to front (latest first), or send them as one `cutRanges`. To drop spans inside one clip, `addExcludedRange` takes SOURCE seconds and is order-independent.", - "properties": { - "end": { - "$ref": "#/$defs/__schema245" - }, - "start": { - "$ref": "#/$defs/__schema244" - }, - "type": { - "$ref": "#/$defs/__schema243" - } - }, - "required": [ - "type", - "start", - "end" - ], - "type": "object" -} - removed
Input schema / $defs / __schema243Removed value: -{ - "const": "cutAndRipple", - "type": "string" -} - removed
Input schema / $defs / __schema244Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema245Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema246Removed value: -{ - "additionalProperties": false, - "description": "Server-authoritative: delete several [start,end] windows (seconds) in one atomic edit, one undo step. Every range is in timeline seconds of the composition as it is BEFORE this op, in any order; overlapping and touching ranges merge. Each must satisfy 0 <= start < end <= the timeline's end. The cuts apply back to front with exactly `cutAndRipple`'s ripple (every track, markers and derived captions move earlier), so no coordinate goes stale.", - "properties": { - "ranges": { - "$ref": "#/$defs/__schema248" - }, - "type": { - "$ref": "#/$defs/__schema247" - } - }, - "required": [ - "type", - "ranges" - ], - "type": "object" -} - removed
Input schema / $defs / __schema247Removed value: -{ - "const": "cutRanges", - "type": "string" -} - removed
Input schema / $defs / __schema248Removed value: -{ - "items": { - "$ref": "#/$defs/__schema249" - }, - "minItems": 1, - "type": "array" -} - removed
Input schema / $defs / __schema249Removed value: -{ - "additionalProperties": false, - "properties": { - "end": { - "type": "number" - }, - "start": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" -} - removed
Input schema / $defs / __schema25Removed value: -{} - removed
Input schema / $defs / __schema250Removed value: -{ - "additionalProperties": false, - "description": "Server-authoritative: shift everything at/after `time` (seconds) by `amount` seconds (+ opens a gap, − closes one).", - "properties": { - "amount": { - "$ref": "#/$defs/__schema253" - }, - "time": { - "$ref": "#/$defs/__schema252" - }, - "type": { - "$ref": "#/$defs/__schema251" - } - }, - "required": [ - "type", - "time", - "amount" - ], - "type": "object" -} - removed
Input schema / $defs / __schema251Removed value: -{ - "const": "ripple", - "type": "string" -} - removed
Input schema / $defs / __schema252Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema253Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema254Removed value: -{ - "additionalProperties": false, - "description": "Server-authoritative: exclude a [sourceStart,sourceEnd] span (seconds) of a clip's SOURCE (an internal trim) and ripple downstream — the preferred way to drop a sub-range vs a source patch. Coordinates are SOURCE seconds, which a cut or another exclusion never shifts, so several exclusions on one clip can be sent in any order.", - "properties": { - "clipId": { - "$ref": "#/$defs/__schema256" - }, - "reason": { - "$ref": "#/$defs/__schema259" - }, - "sourceEnd": { - "$ref": "#/$defs/__schema258" - }, - "sourceStart": { - "$ref": "#/$defs/__schema257" - }, - "type": { - "$ref": "#/$defs/__schema255" - } - }, - "required": [ - "type", - "clipId", - "sourceStart", - "sourceEnd" - ], - "type": "object" -} - removed
Input schema / $defs / __schema255Removed value: -{ - "const": "addExcludedRange", - "type": "string" -} - removed
Input schema / $defs / __schema256Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema257Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema258Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema259Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema26Removed value: -{ - "maximum": 1, - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema260Removed value: -{ - "additionalProperties": false, - "description": "Server-authoritative: remove a clip's previously-added excluded range by index (re-includes that span, ripples downstream).", - "properties": { - "clipId": { - "$ref": "#/$defs/__schema262" - }, - "rangeIdx": { - "$ref": "#/$defs/__schema263" - }, - "type": { - "$ref": "#/$defs/__schema261" - } - }, - "required": [ - "type", - "clipId", - "rangeIdx" - ], - "type": "object" -} - removed
Input schema / $defs / __schema261Removed value: -{ - "const": "removeExcludedRange", - "type": "string" -} - removed
Input schema / $defs / __schema262Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema263Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema264Removed value: -{ - "additionalProperties": false, - "description": "Atomically repin explicit version3 invocations using complete before/after execution references and an exact composition etag. Persistence must canonically admit scoped source hashes, destination input schemas and every resulting target context before applying, including replay/undo. Never infer a latest head, downgrade versions or accept an admitted flag.", - "properties": { - "changes": { - "$ref": "#/$defs/__schema270" - }, - "componentId": { - "$ref": "#/$defs/__schema266" - }, - "expectedCompositionEtag": { - "$ref": "#/$defs/__schema269" - }, - "from": { - "$ref": "#/$defs/__schema267" - }, - "to": { - "$ref": "#/$defs/__schema268" - }, - "type": { - "$ref": "#/$defs/__schema265" - } - }, - "required": [ - "type", - "componentId", - "from", - "to", - "expectedCompositionEtag", - "changes" - ], - "type": "object" -} - removed
Input schema / $defs / __schema265Removed value: -{ - "const": "component.repin-v3", - "type": "string" -} - removed
Input schema / $defs / __schema266Removed value: -{ - "minLength": 1, - "type": "string" -} - removed
Input schema / $defs / __schema267Removed value: -{ - "pattern": "^[a-f0-9]{64}$", - "type": "string" -} - removed
Input schema / $defs / __schema268Removed value: -{ - "pattern": "^[a-f0-9]{64}$", - "type": "string" -} - removed
Input schema / $defs / __schema269Removed value: -{ - "minLength": 1, - "type": "string" -} - removed
Input schema / $defs / __schema27Removed value: -{ - "maximum": 1, - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema270Removed value: -{ - "items": { - "$ref": "#/$defs/__schema271" - }, - "maxItems": 512, - "minItems": 1, - "type": "array" -} - removed
Input schema / $defs / __schema271Removed value: -{ - "additionalProperties": false, - "properties": { - "after": { - "$ref": "#/$defs/__schema19" - }, - "before": { - "$ref": "#/$defs/__schema19" - }, - "placementId": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "placementId", - "before", - "after" - ], - "type": "object" -} - removed
Input schema / $defs / __schema272Removed value: -{ - "anyOf": [ - { - "items": false, - "maxItems": 1, - "minItems": 1, - "prefixItems": [ - { - "$ref": "#/$defs/__schema273" - } - ], - "type": "array" - }, - { - "items": false, - "maxItems": 2, - "minItems": 2, - "prefixItems": [ - { - "$ref": "#/$defs/__schema274" - }, - { - "$ref": "#/$defs/__schema275" - } - ], - "type": "array" - } - ] -} - removed
Input schema / $defs / __schema273Removed value: -{ - "const": 3, - "type": "number" -} - removed
Input schema / $defs / __schema274Removed value: -{ - "const": 3, - "type": "number" -} - removed
Input schema / $defs / __schema275Removed value: -{ - "const": 4, - "type": "number" -} - removed
Input schema / $defs / __schema276Removed value: -{ - "items": { - "$ref": "#/$defs/__schema277" - }, - "maxItems": 512, - "minItems": 1, - "type": "array" -} - removed
Input schema / $defs / __schema277Removed value: -{ - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "scope": { - "additionalProperties": false, - "properties": { - "collection": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "builtin", - "type": "string" - } - }, - "required": [ - "kind", - "collection" - ], - "type": "object" - }, - "sourceVersion": { - "anyOf": [ - { - "const": 3, - "type": "number" - }, - { - "const": 4, - "type": "number" - } - ] - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - } - }, - "required": [ - "scope", - "componentId", - "sourceVersionId", - "sourceVersion" - ], - "type": "object" -} - removed
Input schema / $defs / __schema278Removed value: -{ - "pattern": "^[a-f0-9]{64}$", - "type": "string" -} - removed
Input schema / $defs / __schema279Removed value: -{ - "description": "Version 1 shared dependency admission. Guarded requests must name the observed immutable composition with composition_id or concurrency.compositionId; changed or missing dependencies refuse the entire batch.", - "oneOf": [ - { - "$ref": "#/$defs/__schema280" - }, - { - "$ref": "#/$defs/__schema281" - } - ] -} - removed
Input schema / $defs / __schema28Removed value: -{ - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" -} - removed
Input schema / $defs / __schema280Removed value: -{ - "additionalProperties": false, - "properties": { - "expectedRevision": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "mode": { - "const": "exact", - "type": "string" - } - }, - "required": [ - "mode", - "expectedRevision" - ], - "type": "object" -} - removed
Input schema / $defs / __schema281Removed value: -{ - "additionalProperties": false, - "properties": { - "basis": { - "items": { - "$ref": "#/$defs/__schema282" - }, - "maxItems": 2048, - "type": "array" - }, - "compositionId": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "mode": { - "const": "guarded", - "type": "string" - }, - "observedRevision": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "mode", - "observedRevision", - "basis" - ], - "type": "object" -} - removed
Input schema / $defs / __schema282Removed value: -{ - "additionalProperties": false, - "properties": { - "key": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "token": { - "maxLength": 65536, - "type": "string" - } - }, - "required": [ - "key", - "token" - ], - "type": "object" -} - removed
Input schema / $defs / __schema283Removed value: -{ - "description": "OCC precondition: the strong etag (`\"<hex>\"`) the caller last saw. Required unless `concurrency` is sent or `dry_run` is true; a write with neither is refused with 428 precondition_required. On mismatch the batch is rejected (409 stale_etag) before any op applies.", - "type": "string" -} - removed
Input schema / $defs / __schema284Removed value: -{ - "description": "When true, validate the batch (apply + projection accept/reject guards) WITHOUT persisting. Returns `{ valid, errors }` instead of applying.", - "type": "boolean" -} - removed
Input schema / $defs / __schema285Removed value: -{ - "description": "Target a SPECIFIC composition instead of the project's active one. Omit it and the project's active composition is edited, which is the default and the common case. `preview_frame` and `create_render` already accept a compositionId; this closes the gap so a second composition minted with `new_composition` can actually be authored into — build variant A, mint B, edit B, preview both. Mutually exclusive with `session_id`, which targets the session's scratch.", - "type": "string" -} - removed
Input schema / $defs / __schema286Removed value: -{ - "description": "Optional compose-session id. When present, the ops target the session's SCRATCH composition (a derived sibling) instead of the project's active composition — the server never mutates active until commit.", - "type": "string" -} - removed
Input schema / $defs / __schema287Removed value: -{ - "maxLength": 128, - "minLength": 1, - "type": "string" -} - removed
Input schema / $defs / __schema29Removed value: -{ - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" -} - removed
Input schema / $defs / __schema3Removed value: -{ - "additionalProperties": false, - "description": "Add a clip to the timeline. The clip self-routes to a track by FAMILY (`clip.kind`, else derived from `source.kind`, else the target track) — a `media` clip MUST carry `kind` (video|audio|image) or a `trackId`, else it is rejected as ambiguous. `trackId` targets an existing SAME-family track; `newTrack:true` (with optional pinned `newTrackId`) creates a fresh track of that family, appended at the BACK (the highest index, painted under every other track); raise it with `reorderTracks` (index 0 is the top layer).", - "properties": { - "clip": { - "$ref": "#/$defs/__schema5" - }, - "newTrack": { - "$ref": "#/$defs/__schema39" - }, - "newTrackId": { - "$ref": "#/$defs/__schema40" - }, - "trackId": { - "$ref": "#/$defs/__schema38" - }, - "type": { - "$ref": "#/$defs/__schema4" - } - }, - "required": [ - "type", - "clip" - ], - "type": "object" -} - removed
Input schema / $defs / __schema30Removed value: -{} - added
Input schema / $defs / __schema300Added value: +{ + "anyOf": [ + { + "items": false, + "maxItems": 1, + "minItems": 1, + "prefixItems": [ + { + "$ref": "#/$defs/__schema301" + } + ], + "type": "array" + }, + { + "items": false, + "maxItems": 2, + "minItems": 2, + "prefixItems": [ + { + "$ref": "#/$defs/__schema302" + }, + { + "$ref": "#/$defs/__schema303" + } + ], + "type": "array" + } + ] +} - added
Input schema / $defs / __schema301Added value: +{ + "const": 3, + "type": "number" +} - added
Input schema / $defs / __schema302Added value: +{ + "const": 3, + "type": "number" +} - added
Input schema / $defs / __schema303Added value: +{ + "const": 4, + "type": "number" +} - added
Input schema / $defs / __schema304Added value: +{ + "items": { + "$ref": "#/$defs/__schema305" + }, + "maxItems": 512, + "minItems": 1, + "type": "array" +} - added
Input schema / $defs / __schema305Added value: +{ + "additionalProperties": false, + "properties": { + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "scope": { + "additionalProperties": false, + "properties": { + "collection": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "kind": { + "const": "builtin", + "type": "string" + } + }, + "required": [ + "kind", + "collection" + ], + "type": "object" + }, + "sourceVersion": { + "anyOf": [ + { + "const": 3, + "type": "number" + }, + { + "const": 4, + "type": "number" + } + ] + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + } + }, + "required": [ + "scope", + "componentId", + "sourceVersionId", + "sourceVersion" + ], + "type": "object" +} - added
Input schema / $defs / __schema306Added value: +{ + "pattern": "^[a-f0-9]{64}$", + "type": "string" +} - added
Input schema / $defs / __schema307Added value: +{ + "description": "Version 1 shared dependency admission. Guarded requests must name the observed immutable composition with composition_id or concurrency.compositionId; changed or missing dependencies refuse the entire batch.", + "oneOf": [ + { + "$ref": "#/$defs/__schema308" + }, + { + "$ref": "#/$defs/__schema309" + } + ] +} - added
Input schema / $defs / __schema308Added value: +{ + "additionalProperties": false, + "properties": { + "expectedRevision": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "mode": { + "const": "exact", + "type": "string" + } + }, + "required": [ + "mode", + "expectedRevision" + ], + "type": "object" +} - added
Input schema / $defs / __schema309Added value: +{ + "additionalProperties": false, + "properties": { + "basis": { + "items": { + "$ref": "#/$defs/__schema310" + }, + "maxItems": 2048, + "type": "array" + }, + "compositionId": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "mode": { + "const": "guarded", + "type": "string" + }, + "observedRevision": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "mode", + "observedRevision", + "basis" + ], + "type": "object" +} - removed
Input schema / $defs / __schema31Removed value: -{ - "additionalProperties": false, - "properties": { - "ease": { - "type": "string" - }, - "percentage": { - "type": "number" - }, - "properties": { - "additionalProperties": { - "type": "number" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - }, - "required": [ - "percentage", - "properties" - ], - "type": "object" -} - added
Input schema / $defs / __schema310Added value: +{ + "additionalProperties": false, + "properties": { + "key": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "token": { + "maxLength": 65536, + "type": "string" + } + }, + "required": [ + "key", + "token" + ], + "type": "object" +} - added
Input schema / $defs / __schema311Added value: +{ + "description": "OCC precondition: the strong etag (`\"<hex>\"`) the caller last saw. Required unless `concurrency` is sent or `dry_run` is true; a write with neither is refused with 428 precondition_required. On mismatch the batch is rejected (409 stale_etag) before any op applies.", + "type": "string" +} - added
Input schema / $defs / __schema312Added value: +{ + "description": "When true, validate the batch (apply + projection accept/reject guards) WITHOUT persisting. Returns `{ valid, errors }` instead of applying.", + "type": "boolean" +} - added
Input schema / $defs / __schema313Added value: +{ + "description": "Target a SPECIFIC composition instead of the project's active one. Omit it and the project's active composition is edited, which is the default and the common case. `preview_frame` and `create_render` already accept a compositionId; this closes the gap so a second composition minted with `new_composition` can actually be authored into — build variant A, mint B, edit B, preview both. Mutually exclusive with `session_id`, which targets the session's scratch.", + "type": "string" +} - added
Input schema / $defs / __schema314Added value: +{ + "description": "Optional compose-session id. When present, the ops target the session's SCRATCH composition (a derived sibling) instead of the project's active composition — the server never mutates active until commit.", + "type": "string" +} - added
Input schema / $defs / __schema315Added value: +{ + "maxLength": 128, + "minLength": 1, + "type": "string" +} - removed
Input schema / $defs / __schema32Removed value: -{ - "additionalProperties": false, - "properties": { - "t": { - "type": "number" - }, - "v": { - "type": "number" - } - }, - "required": [ - "t", - "v" - ], - "type": "object" -} - removed
Input schema / $defs / __schema33Removed value: -{ - "additionalProperties": false, - "properties": { - "creative": { - "additionalProperties": false, - "properties": { - "enabled": { - "type": "boolean" - }, - "mediaId": { - "type": "string" - }, - "sha256": { - "type": "string" - }, - "strength": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "mediaId", - "sha256", - "enabled", - "strength" - ], - "type": "object" - }, - "display": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "enabled": { - "type": "boolean" - }, - "mediaId": { - "type": "string" - }, - "sha256": { - "type": "string" - } - }, - "required": [ - "mediaId", - "sha256", - "enabled" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bundled": { - "enum": [ - "daylight-negative", - "tungsten-negative", - "soft-negative", - "slide", - "black-and-white" - ], - "type": "string" - }, - "enabled": { - "type": "boolean" - } - }, - "required": [ - "bundled", - "enabled" - ], - "type": "object" - } - ] - }, - "enabled": { - "type": "boolean" - }, - "grade": { - "additionalProperties": false, - "properties": { - "blacks": { - "maximum": 1, - "minimum": -1, - "type": "number" - }, - "contrast": { - "maximum": 1, - "minimum": -1, - "type": "number" - }, - "exposure": { - "maximum": 4, - "minimum": -4, - "type": "number" - }, - "highlights": { - "maximum": 1, - "minimum": -1, - "type": "number" - }, - "saturation": { - "maximum": 1, - "minimum": -1, - "type": "number" - }, - "shadows": { - "maximum": 1, - "minimum": -1, - "type": "number" - }, - "temperature": { - "maximum": 1, - "minimum": -1, - "type": "number" - }, - "tint": { - "maximum": 1, - "minimum": -1, - "type": "number" - }, - "vibrance": { - "maximum": 1, - "minimum": -1, - "type": "number" - }, - "whites": { - "maximum": 1, - "minimum": -1, - "type": "number" - } - }, - "required": [ - "exposure", - "contrast", - "highlights", - "shadows", - "whites", - "blacks", - "temperature", - "tint", - "vibrance", - "saturation" - ], - "type": "object" - }, - "grain": { - "additionalProperties": false, - "properties": { - "amount": { - "maximum": 2, - "minimum": 0, - "type": "number" - }, - "enabled": { - "type": "boolean" - }, - "gauge": { - "enum": [ - "super8", - "super16", - "super35", - "65mm" - ], - "type": "string" - }, - "profile": { - "enum": [ - "daylight-negative", - "tungsten-negative", - "soft-negative", - "slide", - "black-and-white" - ], - "type": "string" - }, - "seed": { - "maximum": 4294967295, - "minimum": 0, - "type": "integer" - }, - "size": { - "maximum": 4, - "minimum": 0.5, - "type": "number" - } - }, - "required": [ - "enabled", - "profile", - "gauge", - "amount", - "size", - "seed" - ], - "type": "object" - }, - "halation": { - "additionalProperties": false, - "properties": { - "amount": { - "maximum": 0.5, - "minimum": 0, - "type": "number" - }, - "enabled": { - "type": "boolean" - }, - "radius": { - "maximum": 0.02, - "minimum": 0.0005, - "type": "number" - }, - "threshold": { - "maximum": 16, - "minimum": 0, - "type": "number" - }, - "tint": { - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "$ref": "#/$defs/__schema35" - }, - { - "$ref": "#/$defs/__schema36" - }, - { - "$ref": "#/$defs/__schema37" - } - ], - "type": "array" - } - }, - "required": [ - "enabled", - "amount", - "radius", - "threshold", - "tint" - ], - "type": "object" - }, - "looks": { - "items": { - "$ref": "#/$defs/__schema34" - }, - "maxItems": 2, - "type": "array" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "enabled", - "grade", - "looks" - ], - "type": "object" -} - removed
Input schema / $defs / __schema34Removed value: -{ - "additionalProperties": false, - "properties": { - "enabled": { - "type": "boolean" - }, - "mediaId": { - "type": "string" - }, - "sha256": { - "type": "string" - } - }, - "required": [ - "mediaId", - "sha256", - "enabled" - ], - "type": "object" -} - removed
Input schema / $defs / __schema35Removed value: -{ - "maximum": 1, - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema36Removed value: -{ - "maximum": 1, - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema37Removed value: -{ - "maximum": 1, - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema38Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema39Removed value: -{ - "type": "boolean" -} - removed
Input schema / $defs / __schema4Removed value: -{ - "const": "clip.add", - "type": "string" -} - removed
Input schema / $defs / __schema40Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema41Removed value: -{ - "additionalProperties": false, - "description": "Remove a clip by id (located across every track).", - "properties": { - "clipId": { - "$ref": "#/$defs/__schema43" - }, - "type": { - "$ref": "#/$defs/__schema42" - } - }, - "required": [ - "type", - "clipId" - ], - "type": "object" -} - removed
Input schema / $defs / __schema42Removed value: -{ - "const": "clip.remove", - "type": "string" -} - removed
Input schema / $defs / __schema43Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema44Removed value: -{ - "additionalProperties": false, - "description": "Set (or CLEAR, with `keyframes: null`) ONE keyframed channel of a clip: `opacity`, `scale`, `rotation`, `position.x`, `position.y` or `volume`, with at least two keyframes `{time, value, ease?}` in any order. `time` is seconds from the clip's own start (0 to its duration); `value` uses the property's own unit, as its scalar: opacity 0-1, scale a multiplier, rotation degrees, position.x/position.y a FRACTION of the frame (0.5 = centre, never px), volume 0-4. Each keyframe's optional `ease` shapes the segment ARRIVING at it, in HyperFrames' vocabulary: `none` (linear, the default), named eases such as `power2.out`, `back.out`, `expo.inOut`, `spring-gentle`, `hold`, or `custom(M0,0 Cx1,y1 x2,y2 1,1)` (a cubic, x in [0,1]). Before its first keyframe a channel holds its first value, after its last it holds the last; a channel OVERRIDES the clip's scalar (`opacity`, `scale`, `rotation`, `position`). The op REPLACES that property's keyframes; other channels are untouched. Volume keyframes are linear and only for a video or audio media clip. Trims and splits keep every keyframe on its content. Keyframes are stored as HyperFrames tweens (`tweens`) and automation (`automation`) on the clip; author them with this op, not `clip.update`.", - "properties": { - "clipId": { - "$ref": "#/$defs/__schema46" - }, - "keyframes": { - "$ref": "#/$defs/__schema48" - }, - "property": { - "$ref": "#/$defs/__schema47" - }, - "type": { - "$ref": "#/$defs/__schema45" - } - }, - "required": [ - "type", - "clipId", - "property", - "keyframes" - ], - "type": "object" -} - removed
Input schema / $defs / __schema45Removed value: -{ - "const": "clip.setKeyframes", - "type": "string" -} - removed
Input schema / $defs / __schema46Removed value: -{ - "minLength": 1, - "type": "string" -} - removed
Input schema / $defs / __schema47Removed value: -{ - "enum": [ - "opacity", - "scale", - "rotation", - "position.x", - "position.y", - "volume" - ], - "type": "string" -} - removed
Input schema / $defs / __schema48Removed value: -{ - "anyOf": [ - { - "items": { - "$ref": "#/$defs/__schema49" - }, - "minItems": 2, - "type": "array" - }, - { - "type": "null" - } - ] -} - removed
Input schema / $defs / __schema49Removed value: -{ - "additionalProperties": false, - "properties": { - "ease": { - "type": "string" - }, - "time": { - "minimum": 0, - "type": "number" - }, - "value": { - "type": "number" - } - }, - "required": [ - "time", - "value" - ], - "type": "object" -} - removed
Input schema / $defs / __schema5Removed value: -{ - "additionalProperties": false, - "properties": { - "automation": { - "additionalProperties": false, - "properties": { - "lanes": { - "items": { - "additionalProperties": false, - "properties": { - "points": { - "items": { - "$ref": "#/$defs/__schema32" - }, - "minItems": 2, - "type": "array" - }, - "target": { - "const": "volume", - "type": "string" - } - }, - "required": [ - "target", - "points" - ], - "type": "object" - }, - "type": "array" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "lanes" - ], - "type": "object" - }, - "captionVisibility": { - "description": "Video media clip only. Hide native captions while this clip is topmost and covers the lower picture, or when an opaque, effect-free clip has an explicitly full-frame region, even with fit:contain. Caption words and timings remain stored and resume when another visible clip takes over.", - "enum": [ - "visible", - "hidden" - ], - "type": "string" - }, - "color": { - "$ref": "#/$defs/__schema33" - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "effects": { - "items": { - "additionalProperties": false, - "properties": { - "component": { - "$ref": "#/$defs/__schema19" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "window": { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "startTime": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "startTime", - "duration" - ], - "type": "object" - } - }, - "type": "object" - }, - "type": "array" - }, - "fit": { - "enum": [ - "cover", - "contain" - ], - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "kind": { - "enum": [ - "video", - "audio", - "image", - "overlay", - "effect" - ], - "type": "string" - }, - "legacyKeyframes": { - "additionalProperties": false, - "properties": { - "channels": { - "items": { - "type": "string" - }, - "type": "array" - }, - "needsUpgrade": { - "const": true, - "type": "boolean" - }, - "record": {} - }, - "required": [ - "needsUpgrade", - "channels", - "record" - ], - "type": "object" - }, - "linkGroupId": { - "minLength": 1, - "type": "string" - }, - "opacity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "position": { - "additionalProperties": { - "$ref": "#/$defs/__schema25" - }, - "description": "Clip CENTRE as a fraction of the frame: {x:0.5,y:0.5} is dead centre, 0 to 1 is inside the frame, and a little overshoot (down to -1, up to 2) is how an entrance starts off-canvas. NOT pixels: the renderer maps x to `left: x*100%`, so `x: 180` sits 180 frame-widths away and draws nothing.", - "properties": { - "x": { - "$ref": "#/$defs/__schema23" - }, - "y": { - "$ref": "#/$defs/__schema24" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "region": { - "additionalProperties": { - "$ref": "#/$defs/__schema30" - }, - "description": "A window in the frame that the clip draws into and is clipped to (top-left corner and size, each a frame fraction). Inside a region, `position` and `scale` act relative to that window, so content moved past its edge is cut off. Omit it to place the clip against the whole frame.", - "properties": { - "h": { - "$ref": "#/$defs/__schema29" - }, - "w": { - "$ref": "#/$defs/__schema28" - }, - "x": { - "$ref": "#/$defs/__schema26" - }, - "y": { - "$ref": "#/$defs/__schema27" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "rotation": { - "type": "number" - }, - "scale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "source": { - "$ref": "#/$defs/__schema6" - }, - "startTime": { - "minimum": 0, - "type": "number" - }, - "transitionIn": { - "additionalProperties": {}, - "properties": { - "component": { - "$ref": "#/$defs/__schema19" - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "fromClipId": { - "minLength": 1, - "type": "string" - }, - "handlePolicy": { - "const": "outgoing-overrun-at-cut-v1", - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "toClipId": { - "minLength": 1, - "type": "string" - }, - "type": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "type", - "duration" - ], - "type": "object" - }, - "tweens": { - "items": { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "keyframes": { - "additionalProperties": false, - "properties": { - "easeEach": { - "const": "none", - "type": "string" - }, - "format": { - "const": "percentage", - "type": "string" - }, - "keyframes": { - "items": { - "$ref": "#/$defs/__schema31" - }, - "minItems": 2, - "type": "array" - } - }, - "required": [ - "format", - "easeEach", - "keyframes" - ], - "type": "object" - }, - "position": { - "type": "number" - }, - "propertyGroup": { - "enum": [ - "visual", - "scale", - "rotation", - "position" - ], - "type": "string" - } - }, - "required": [ - "id", - "propertyGroup", - "position", - "duration", - "keyframes" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "id", - "startTime", - "duration", - "source" - ], - "type": "object" -} - removed
Input schema / $defs / __schema50Removed value: -{ - "additionalProperties": false, - "description": "Patch an existing clip by id (cross-family). The patch is a partial TimelineClip. NOTE: `source` is REPLACED wholesale — the patch merges at the top level only, so a partial `source` WIPES the source fields you omit. Patch the whole source object when changing it. (To change reframe/excluded ranges, prefer setCropIntents / addExcludedRange, not a source patch.)", - "properties": { - "clipId": { - "$ref": "#/$defs/__schema52" - }, - "patch": { - "$ref": "#/$defs/__schema53" - }, - "type": { - "$ref": "#/$defs/__schema51" - } - }, - "required": [ - "type", - "clipId", - "patch" - ], - "type": "object" -} - removed
Input schema / $defs / __schema51Removed value: -{ - "const": "clip.update", - "type": "string" -} - removed
Input schema / $defs / __schema52Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema53Removed value: -{ - "additionalProperties": false, - "properties": { - "automation": { - "additionalProperties": false, - "properties": { - "lanes": { - "items": { - "additionalProperties": false, - "properties": { - "points": { - "items": { - "$ref": "#/$defs/__schema63" - }, - "minItems": 2, - "type": "array" - }, - "target": { - "const": "volume", - "type": "string" - } - }, - "required": [ - "target", - "points" - ], - "type": "object" - }, - "type": "array" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "lanes" - ], - "type": "object" - }, - "captionVisibility": { - "description": "Video media clip only. Hide native captions while this clip is topmost and covers the lower picture, or when an opaque, effect-free clip has an explicitly full-frame region, even with fit:contain. Caption words and timings remain stored and resume when another visible clip takes over.", - "enum": [ - "visible", - "hidden" - ], - "type": "string" - }, - "color": { - "$ref": "#/$defs/__schema33" - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "effects": { - "items": { - "additionalProperties": false, - "properties": { - "component": { - "$ref": "#/$defs/__schema19" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "window": { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "startTime": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "startTime", - "duration" - ], - "type": "object" - } - }, - "type": "object" - }, - "type": "array" - }, - "fit": { - "enum": [ - "cover", - "contain" - ], - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "kind": { - "enum": [ - "video", - "audio", - "image", - "overlay", - "effect" - ], - "type": "string" - }, - "legacyKeyframes": { - "additionalProperties": false, - "properties": { - "channels": { - "items": { - "type": "string" - }, - "type": "array" - }, - "needsUpgrade": { - "const": true, - "type": "boolean" - }, - "record": {} - }, - "required": [ - "needsUpgrade", - "channels", - "record" - ], - "type": "object" - }, - "linkGroupId": { - "minLength": 1, - "type": "string" - }, - "opacity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "position": { - "additionalProperties": { - "$ref": "#/$defs/__schema56" - }, - "description": "Clip CENTRE as a fraction of the frame: {x:0.5,y:0.5} is dead centre, 0 to 1 is inside the frame, and a little overshoot (down to -1, up to 2) is how an entrance starts off-canvas. NOT pixels: the renderer maps x to `left: x*100%`, so `x: 180` sits 180 frame-widths away and draws nothing.", - "properties": { - "x": { - "$ref": "#/$defs/__schema54" - }, - "y": { - "$ref": "#/$defs/__schema55" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "region": { - "additionalProperties": { - "$ref": "#/$defs/__schema61" - }, - "description": "A window in the frame that the clip draws into and is clipped to (top-left corner and size, each a frame fraction). Inside a region, `position` and `scale` act relative to that window, so content moved past its edge is cut off. Omit it to place the clip against the whole frame.", - "properties": { - "h": { - "$ref": "#/$defs/__schema60" - }, - "w": { - "$ref": "#/$defs/__schema59" - }, - "x": { - "$ref": "#/$defs/__schema57" - }, - "y": { - "$ref": "#/$defs/__schema58" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "rotation": { - "type": "number" - }, - "scale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "source": { - "$ref": "#/$defs/__schema6" - }, - "startTime": { - "minimum": 0, - "type": "number" - }, - "transitionIn": { - "additionalProperties": {}, - "properties": { - "component": { - "$ref": "#/$defs/__schema19" - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "fromClipId": { - "minLength": 1, - "type": "string" - }, - "handlePolicy": { - "const": "outgoing-overrun-at-cut-v1", - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "toClipId": { - "minLength": 1, - "type": "string" - }, - "type": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "type", - "duration" - ], - "type": "object" - }, - "tweens": { - "items": { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "keyframes": { - "additionalProperties": false, - "properties": { - "easeEach": { - "const": "none", - "type": "string" - }, - "format": { - "const": "percentage", - "type": "string" - }, - "keyframes": { - "items": { - "$ref": "#/$defs/__schema62" - }, - "minItems": 2, - "type": "array" - } - }, - "required": [ - "format", - "easeEach", - "keyframes" - ], - "type": "object" - }, - "position": { - "type": "number" - }, - "propertyGroup": { - "enum": [ - "visual", - "scale", - "rotation", - "position" - ], - "type": "string" - } - }, - "required": [ - "id", - "propertyGroup", - "position", - "duration", - "keyframes" - ], - "type": "object" - }, - "type": "array" - } - }, - "type": "object" -} - removed
Input schema / $defs / __schema54Removed value: -{ - "maximum": 2, - "minimum": -1, - "type": "number" -} - removed
Input schema / $defs / __schema55Removed value: -{ - "maximum": 2, - "minimum": -1, - "type": "number" -} - removed
Input schema / $defs / __schema56Removed value: -{} - removed
Input schema / $defs / __schema57Removed value: -{ - "maximum": 1, - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema58Removed value: -{ - "maximum": 1, - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema59Removed value: -{ - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" -} - removed
Input schema / $defs / __schema6Removed value: -{ - "oneOf": [ - { - "additionalProperties": {}, - "properties": { - "anchor": { - "additionalProperties": {}, - "properties": { - "clipId": { - "minLength": 1, - "type": "string" - }, - "offsetMs": { - "type": "number" - } - }, - "required": [ - "clipId", - "offsetMs" - ], - "type": "object" - }, - "audioRole": { - "description": "Mix role. A role sets the clip's default gain when it has no `volume` or `volumeDb`: vo 0 dB, sfx -6 dB, music -8 dB (-16 dB when any vo clip exists), ambience -22 dB. Set `volumeDb: 0` to keep a role and play the source at its own level.", - "enum": [ - "sfx", - "music", - "vo", - "ambience" - ], - "type": "string" - }, - "duck": { - "additionalProperties": {}, - "properties": { - "attackMs": { - "minimum": 0, - "type": "number" - }, - "duckDb": { - "maximum": 0, - "type": "number" - }, - "releaseMs": { - "minimum": 0, - "type": "number" - }, - "windows": { - "items": { - "additionalProperties": {}, - "properties": { - "endMs": { - "type": "number" - }, - "startMs": { - "type": "number" - } - }, - "required": [ - "startMs", - "endMs" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "duckDb", - "attackMs", - "releaseMs" - ], - "type": "object" - }, - "excludedRanges": { - "items": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "reason": { - "type": "string" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "type": "array" - }, - "fadeInMs": { - "minimum": 0, - "type": "number" - }, - "fadeOutMs": { - "minimum": 0, - "type": "number" - }, - "kenBurns": { - "description": "Still-image motion. When unset, an image clip slowly pushes in (`in`) unless its fit is `contain` or it keyframes scale, position or rotation, so a keyframed clip renders exactly its keyframed values; set `none` for a still that holds.", - "enum": [ - "in", - "out", - "pan-l", - "pan-r", - "none" - ], - "type": "string" - }, - "kind": { - "const": "media", - "type": "string" - }, - "loop": { - "type": "boolean" - }, - "mediaId": { - "type": "string" - }, - "muted": { - "type": "boolean" - }, - "playbackRate": { - "exclusiveMinimum": 0, - "type": "number" - }, - "reframe": { - "additionalProperties": {}, - "properties": { - "segments": { - "items": { - "$ref": "#/$defs/__schema7" - }, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "segments" - ], - "type": "object" - }, - "sync": { - "enum": [ - "video", - "independent" - ], - "type": "string" - }, - "trim": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "volume": { - "maximum": 4, - "minimum": 0, - "type": "number" - }, - "volumeDb": { - "type": "number" - } - }, - "required": [ - "kind", - "mediaId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "componentId": { - "minLength": 1, - "type": "string" - }, - "execution": { - "$ref": "#/$defs/__schema19" - }, - "kind": { - "const": "component", - "type": "string" - }, - "placement": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "clip", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "content-slots", - "type": "string" - }, - "slots": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "ownership": { - "enum": [ - "reference", - "exclusive" - ], - "type": "string" - }, - "targetClipIds": { - "items": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "targetClipIds", - "ownership" - ], - "type": "object" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind", - "slots" - ], - "type": "object" - } - ] - }, - "props": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "retired": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "componentId", - "props" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "anchor": { - "additionalProperties": {}, - "properties": { - "space": { - "const": "scene", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "space", - "x", - "y" - ], - "type": "object" - }, - "kind": { - "const": "overlay", - "type": "string" - }, - "parallax": { - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "pattern": "^(?!custom$)", - "type": "string" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "primitiveId", - "params" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "component": { - "$ref": "#/$defs/__schema19" - }, - "kind": { - "const": "effect", - "type": "string" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "targetTrackIds": { - "items": { - "$ref": "#/$defs/__schema21" - }, - "minItems": 1, - "type": "array" - }, - "wrapperOrder": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "html": { - "description": "Self-contained card markup sized to the format's pixel frame. Motion comes from frame-driven vars, never @keyframes or transition: --cf-frame, --cf-t (seconds), --cf-fps, --cf-duration, --cf-progress, --cf-ease, --cf-enter, --cf-exit. Visible copy goes in the html as plain text. Wrap a run in <span data-cf-split=\"words\"> or \"chars\" and each unit becomes its own span carrying --cf-i (its index, the group carries --cf-n), so one rule staggers it (in chars, spaces count as units), e.g. opacity:clamp(0,calc(var(--cf-t)*4 - var(--cf-i)*.3),1). save_as_template binds that copy with textParams match.", - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "card", - "type": "string" - }, - "tokens": { - "$ref": "#/$defs/__schema22", - "description": "Style values the html reads as CSS custom properties: key x becomes --cf-x, so never put dashes in a key. Use tokens for colours and sizes, not visible copy.", - "propertyNames": { - "type": "string" - } - }, - "zPlane": { - "const": "front", - "type": "string" - } - }, - "required": [ - "kind", - "html" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "compositionId": { - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "composition", - "type": "string" - }, - "trim": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "compositionId" - ], - "type": "object" - } - ] -} - removed
Input schema / $defs / __schema60Removed value: -{ - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" -} - removed
Input schema / $defs / __schema61Removed value: -{} - removed
Input schema / $defs / __schema62Removed value: -{ - "additionalProperties": false, - "properties": { - "ease": { - "type": "string" - }, - "percentage": { - "type": "number" - }, - "properties": { - "additionalProperties": { - "type": "number" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - }, - "required": [ - "percentage", - "properties" - ], - "type": "object" -} - removed
Input schema / $defs / __schema63Removed value: -{ - "additionalProperties": false, - "properties": { - "t": { - "type": "number" - }, - "v": { - "type": "number" - } - }, - "required": [ - "t", - "v" - ], - "type": "object" -} - removed
Input schema / $defs / __schema64Removed value: -{ - "additionalProperties": false, - "description": "Remove EVERY clip sourced from a given mediaId (e.g. after deleting that media).", - "properties": { - "mediaId": { - "$ref": "#/$defs/__schema66" - }, - "type": { - "$ref": "#/$defs/__schema65" - } - }, - "required": [ - "type", - "mediaId" - ], - "type": "object" -} - removed
Input schema / $defs / __schema65Removed value: -{ - "const": "removeClipsByMediaId", - "type": "string" -} - removed
Input schema / $defs / __schema66Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema67Removed value: -{ - "additionalProperties": false, - "description": "Replace the overlay channel wholesale with the given clips (bulk set, not a merge).", - "properties": { - "clips": { - "$ref": "#/$defs/__schema69" - }, - "type": { - "$ref": "#/$defs/__schema68" - } - }, - "required": [ - "type", - "clips" - ], - "type": "object" -} - removed
Input schema / $defs / __schema68Removed value: -{ - "const": "loadOverlays", - "type": "string" -} - removed
Input schema / $defs / __schema69Removed value: -{ - "items": { - "$ref": "#/$defs/__schema5" - }, - "type": "array" -} - removed
Input schema / $defs / __schema7Removed value: -{ - "additionalProperties": {}, - "properties": { - "bias": { - "additionalProperties": { - "$ref": "#/$defs/__schema18" - }, - "description": "Optional FINE framing nudge off the focus center, source-normalized in [−0.3, 0.3]. A small correction (headroom, rule-of-thirds), NOT a reframe — use `focus`/`zoom` for the actual shot. Omit (treated as 0) to sit dead-center on the focus.", - "properties": { - "x": { - "$ref": "#/$defs/__schema16" - }, - "y": { - "$ref": "#/$defs/__schema17" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "ease": { - "additionalProperties": { - "$ref": "#/$defs/__schema15" - }, - "description": "Zoom/center ramp DURATIONS in SECONDS at this segment's edges — NOT a unitless 0–1 curve. ~0.3–0.6s reads as a snappy push; >1s reads sluggish. Keep `in` + `out` ≤ the segment's duration (endSec − startSec): the two edges share the span, so to ramp across the WHOLE segment set one edge to the full duration and the other to 0. Omit for an instant cut to this framing.", - "properties": { - "in": { - "$ref": "#/$defs/__schema13" - }, - "out": { - "$ref": "#/$defs/__schema14" - } - }, - "required": [ - "in", - "out" - ], - "type": "object" - }, - "endSec": { - "description": "Segment END in seconds, clip-relative. The span (endSec − startSec) is this segment's duration — the window `ease` ramps over.", - "exclusiveMinimum": 0, - "type": "number" - }, - "focus": { - "description": "WHO/WHAT the camera tracks this segment (the reframe center), selected by `mode`: `frame-center` = no tracking, hold the geometric center (static/graphic footage, or a pure zoom); `point` = lock to a fixed source-normalized {x,y} (a non-moving on-screen element); `face` = track a detected face by `faceId` (from get_media_context), with optional `shotScale` close|standard|wide for tightness; `all-faces` = frame the bounding box of every detected face (group/ensemble shots); `active-speaker` = follow whoever is speaking (diarized talking-head / podcast). Pick by what the beat is about; pair with `zoom` for how tight.", - "oneOf": [ - { - "$ref": "#/$defs/__schema8" - }, - { - "$ref": "#/$defs/__schema9" - }, - { - "$ref": "#/$defs/__schema10" - }, - { - "$ref": "#/$defs/__schema11" - }, - { - "$ref": "#/$defs/__schema12" - } - ] - }, - "intent": { - "description": "Optional editorial LABEL for diff/log readability (e.g. 'speaker-tight', 'wide-context'). Cosmetic — NOT honored by the derive math and excluded from the variant cache key.", - "type": "string" - }, - "startSec": { - "description": "Segment START in seconds, clip-relative. Segments tile the clip's duration in order.", - "minimum": 0, - "type": "number" - }, - "zoom": { - "description": "How TIGHT the framing is — the fraction of the source the output viewport shows. <1 punches IN (a smaller source fraction, magnified to fill the frame); 1 = the full frame (no crop). ~0.6–0.8 is a moderate push-in, ~0.5 a tight close-up, 0.1 the maximum zoom. There is NO zoom-OUT past the full frame (max 1). Omit for the full frame. MUTUALLY EXCLUSIVE with `focus.shotScale`: a face-tracked shot is sized EITHER by the editorial scale (shotScale, calibrated to the detected face) OR by an explicit zoom — never both.", - "maximum": 1, - "minimum": 0.1, - "type": "number" - } - }, - "required": [ - "startSec", - "endSec", - "focus" - ], - "type": "object" -} - removed
Input schema / $defs / __schema70Removed value: -{ - "additionalProperties": false, - "description": "Add a timeline marker (a named time point/range; carry extensions in `metadata`).", - "properties": { - "marker": { - "$ref": "#/$defs/__schema72" - }, - "type": { - "$ref": "#/$defs/__schema71" - } - }, - "required": [ - "type", - "marker" - ], - "type": "object" -} - removed
Input schema / $defs / __schema71Removed value: -{ - "const": "addMarker", - "type": "string" -} - removed
Input schema / $defs / __schema72Removed value: -{ - "additionalProperties": false, - "properties": { - "endTime": { - "minimum": 0, - "type": "number" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "kind": { - "minLength": 1, - "type": "string" - }, - "metadata": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "name": { - "type": "string" - }, - "startTime": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "id", - "startTime", - "kind" - ], - "type": "object" -} - removed
Input schema / $defs / __schema73Removed value: -{ - "additionalProperties": false, - "description": "Remove a marker by id.", - "properties": { - "markerId": { - "$ref": "#/$defs/__schema75" - }, - "type": { - "$ref": "#/$defs/__schema74" - } - }, - "required": [ - "type", - "markerId" - ], - "type": "object" -} - removed
Input schema / $defs / __schema74Removed value: -{ - "const": "removeMarker", - "type": "string" -} - removed
Input schema / $defs / __schema75Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema76Removed value: -{ - "additionalProperties": false, - "description": "Patch a marker's fields by id (partial merge).", - "properties": { - "markerId": { - "$ref": "#/$defs/__schema78" - }, - "type": { - "$ref": "#/$defs/__schema77" - }, - "updates": { - "$ref": "#/$defs/__schema79" - } - }, - "required": [ - "type", - "markerId", - "updates" - ], - "type": "object" -} - removed
Input schema / $defs / __schema77Removed value: -{ - "const": "updateMarker", - "type": "string" -} - removed
Input schema / $defs / __schema78Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema79Removed value: -{ - "additionalProperties": false, - "properties": { - "endTime": { - "minimum": 0, - "type": "number" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "kind": { - "minLength": 1, - "type": "string" - }, - "metadata": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "name": { - "type": "string" - }, - "startTime": { - "minimum": 0, - "type": "number" - } - }, - "type": "object" -} - removed
Input schema / $defs / __schema8Removed value: -{ - "additionalProperties": {}, - "properties": { - "mode": { - "const": "frame-center", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" -} - removed
Input schema / $defs / __schema80Removed value: -{ - "additionalProperties": false, - "description": "Set (or CLEAR, with `segments: null`) the camera/reframe channel on a MEDIA clip — the time-aligned source→output viewport (focus, zoom, ease, bias). This is the PREFERRED way to author reframing; do NOT reframe via a whole-source `clip.update` patch. Segments tile the clip's duration.", - "properties": { - "clipId": { - "$ref": "#/$defs/__schema82" - }, - "segments": { - "$ref": "#/$defs/__schema83" - }, - "type": { - "$ref": "#/$defs/__schema81" - } - }, - "required": [ - "type", - "clipId", - "segments" - ], - "type": "object" -} - removed
Input schema / $defs / __schema81Removed value: -{ - "const": "setCropIntents", - "type": "string" -} - removed
Input schema / $defs / __schema82Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema83Removed value: -{ - "anyOf": [ - { - "items": { - "$ref": "#/$defs/__schema7" - }, - "type": "array" - }, - { - "type": "null" - } - ] -} - removed
Input schema / $defs / __schema84Removed value: -{ - "additionalProperties": false, - "description": "Set (or CLEAR, with `effects: []`) a clip's EFFECT channel — the pinned component clip wrappers stacked onto that clip, each `{id, component, window}`: a unique `id`, the wrapper component's execution pin as `component`, and `window: {startTime, duration}` in seconds. The built-in primitive effects were removed: a stored one reads, and save and render refuse it (`effect_retired`), so clear it with `effects: []`. WHOLESALE: the array REPLACES the clip's current effects, so send the full stack (read the clip first to add one). This is the ONLY way to change effects on an existing clip — do NOT reach for a `clip.update` patch, whose top-level merge is the source-clobbering footgun documented above.", - "properties": { - "clipId": { - "$ref": "#/$defs/__schema86" - }, - "effects": { - "$ref": "#/$defs/__schema87" - }, - "type": { - "$ref": "#/$defs/__schema85" - } - }, - "required": [ - "type", - "clipId", - "effects" - ], - "type": "object" -} - removed
Input schema / $defs / __schema85Removed value: -{ - "const": "setEffects", - "type": "string" -} - removed
Input schema / $defs / __schema86Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema87Removed value: -{ - "items": { - "additionalProperties": false, - "properties": { - "component": { - "$ref": "#/$defs/__schema19" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "window": { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "startTime": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "startTime", - "duration" - ], - "type": "object" - } - }, - "type": "object" - }, - "type": "array" -} - removed
Input schema / $defs / __schema88Removed value: -{ - "additionalProperties": false, - "description": "Set (or CLEAR, with `inputTransform: null`) how a MEDIA's pixels are decoded into the working color space, for every clip of that media: `{version: 1, id, table?, ycbcr?}` with `id` one of rec709, insta360-ilog, custom-lut, apple-log. `custom-lut` is a camera LUT (log → Rec.709, e.g. DJI's D-Log M LUT): it requires `table: {mediaId, sha256, enabled}` naming an uploaded .cube LUT, and its output is read as Rec.709 footage; the others take no table. `ycbcr: {matrix, range}` overrides the source's signalled YCbCr matrix and range. The entry lives in the composition's `media` map; the media must be used by a clip in this composition, and removing its last clip removes the entry. To set a camera input for many media, send one `setMediaInputTransform` per media in a single `apply_composition` call.", - "properties": { - "inputTransform": { - "$ref": "#/$defs/__schema91" - }, - "mediaId": { - "$ref": "#/$defs/__schema90" - }, - "type": { - "$ref": "#/$defs/__schema89" - } - }, - "required": [ - "type", - "mediaId", - "inputTransform" - ], - "type": "object" -} - removed
Input schema / $defs / __schema89Removed value: -{ - "const": "setMediaInputTransform", - "type": "string" -} - removed
Input schema / $defs / __schema9Removed value: -{ - "additionalProperties": {}, - "properties": { - "mode": { - "const": "point", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "mode", - "x", - "y" - ], - "type": "object" -} - removed
Input schema / $defs / __schema90Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema91Removed value: -{ - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "id": { - "enum": [ - "rec709", - "insta360-ilog", - "custom-lut", - "apple-log" - ], - "type": "string" - }, - "table": { - "additionalProperties": false, - "properties": { - "enabled": { - "type": "boolean" - }, - "mediaId": { - "type": "string" - }, - "sha256": { - "type": "string" - } - }, - "required": [ - "mediaId", - "sha256", - "enabled" - ], - "type": "object" - }, - "version": { - "const": 1, - "type": "number" - }, - "ycbcr": { - "additionalProperties": false, - "properties": { - "matrix": { - "enum": [ - "bt709", - "bt2020", - "bt601" - ], - "type": "string" - }, - "range": { - "enum": [ - "limited", - "full" - ], - "type": "string" - } - }, - "required": [ - "matrix", - "range" - ], - "type": "object" - } - }, - "required": [ - "version", - "id" - ], - "type": "object" - }, - { - "type": "null" - } - ] -} - removed
Input schema / $defs / __schema92Removed value: -{ - "additionalProperties": false, - "description": "Set (or CLEAR, with `color: null`) a video media clip's color correction, WHOLESALE: `{version: 1, enabled, grade, looks, display?, creative?}`. `grade` holds every primary control: `exposure` in stops (-4..4) and `contrast`, `highlights`, `shadows`, `whites`, `blacks`, `temperature`, `tint`, `vibrance`, `saturation` each -1..1 (0 = neutral). `looks` (at most 2), `display` and `creative` name uploaded .cube LUTs as `{mediaId, sha256, enabled}`; `creative` adds `strength` 0..1. `display` may instead name a bundled film look as `{bundled, enabled}`, `bundled` one of daylight-negative, tungsten-negative, soft-negative, slide, black-and-white. `halation?: {enabled, amount 0..0.5, radius (picture heights) 0.0005..0.02, threshold 0..16, tint [r,g,b] 0..1}`; `grain?: {enabled, profile (a film look id), gauge super8|super16|super35|65mm, amount 0..2, size 0.5..4, seed uint32}`. Film presets are whole values, applied by replacing `display`, `halation` and `grain` with exactly what the preset names (absent = removed), writing only the grade keys it names, `display` as `{bundled, enabled: true}`, `halation`/`grain` with `enabled: true`, and grain `seed` kept or any uint32. Presets: {\"id\":\"daylight-negative\",\"name\":\"Daylight Negative\",\"display\":\"daylight-negative\",\"halation\":{\"amount\":0.015,\"radius\":0.0026795284030010718,\"threshold\":0,\"tint\":[1,0.33333333333333337,0]},\"grain\":{\"profile\":\"daylight-negative\",\"gauge\":\"super35\",\"amount\":1,\"size\":1}}; {\"id\":\"tungsten-negative\",\"name\":\"Tungsten Negative\",\"display\":\"tungsten-negative\",\"halation\":{\"amount\":0.015,\"radius\":0.0026795284030010718,\"threshold\":0,\"tint\":[1,0.33333333333333337,0]},\"grain\":{\"profile\":\"tungsten-negative\",\"gauge\":\"super35\",\"amount\":1,\"size\":1}}; {\"id\":\"soft-negative\",\"name\":\"Soft Negative\",\"display\":\"soft-negative\",\"halation\":{\"amount\":0.015,\"radius\":0.0034833869239013935,\"threshold\":0,\"tint\":[1,0.33333333333333337,0]},\"grain\":{\"profile\":\"soft-negative\",\"gauge\":\"super35\",\"amount\":1,\"size\":1}}; {\"id\":\"slide\",\"name\":\"Slide\",\"display\":\"slide\",\"halation\":{\"amount\":0.015,\"radius\":0.0034833869239013935,\"threshold\":0,\"tint\":[1,0.33333333333333337,0]},\"grain\":{\"profile\":\"slide\",\"gauge\":\"super35\",\"amount\":1,\"size\":1}}; {\"id\":\"black-and-white\",\"name\":\"Black and White\",\"display\":\"black-and-white\",\"halation\":{\"amount\":0.015,\"radius\":0.0026795284030010718,\"threshold\":0,\"tint\":[1,0.33333333333333337,0]},\"grain\":{\"profile\":\"black-and-white\",\"gauge\":\"super35\",\"amount\":1,\"size\":1}}; {\"id\":\"grain-only-fine\",\"name\":\"Fine grain\",\"grain\":{\"profile\":\"daylight-negative\",\"gauge\":\"65mm\",\"amount\":1,\"size\":1}}; {\"id\":\"halation-only\",\"name\":\"Halation\",\"halation\":{\"amount\":0.08,\"radius\":0.0026795284030010718,\"threshold\":0,\"tint\":[1,0.25,0]}}. `enabled: false` bypasses the whole correction. Only a media clip on a video track takes color.", - "properties": { - "clipId": { - "$ref": "#/$defs/__schema94" - }, - "color": { - "$ref": "#/$defs/__schema95" - }, - "type": { - "$ref": "#/$defs/__schema93" - } - }, - "required": [ - "type", - "clipId", - "color" - ], - "type": "object" -} - removed
Input schema / $defs / __schema93Removed value: -{ - "const": "setClipColor", - "type": "string" -} - removed
Input schema / $defs / __schema94Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema95Removed value: -{ - "anyOf": [ - { - "$ref": "#/$defs/__schema33" - }, - { - "type": "null" - } - ] -} - removed
Input schema / $defs / __schema96Removed value: -{ - "additionalProperties": false, - "description": "Merge style overrides (font/color/position/emphasis) onto the composition's caption layer. Partial — omitted fields keep their current value; creates the caption container if absent.", - "properties": { - "style": { - "$ref": "#/$defs/__schema98" - }, - "type": { - "$ref": "#/$defs/__schema97" - } - }, - "required": [ - "type", - "style" - ], - "type": "object" -} - removed
Input schema / $defs / __schema97Removed value: -{ - "const": "setCaptionStyle", - "type": "string" -} - removed
Input schema / $defs / __schema98Removed value: -{ - "additionalProperties": {}, - "properties": { - "annotationColor": { - "type": "string" - }, - "annotationStrokeWidth": { - "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.", - "maximum": 12, - "minimum": 0.5, - "type": "number" - }, - "annotationTexture": { - "description": "Native annotation stroke finish; default clean.", - "enum": [ - "clean", - "pencil" - ], - "type": "string" - }, - "backgroundColor": { - "type": "string" - }, - "color": { - "minLength": 1, - "type": "string" - }, - "emphasisColor": { - "type": "string" - }, - "emphasisFontFamily": { - "type": "string" - }, - "emphasisFontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "emphasisFontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "emphasisGradient": { - "type": "string" - }, - "emphasisLetterSpacing": { - "type": "number" - }, - "emphasisPlate": { - "type": "boolean" - }, - "emphasisPlateAltColor": { - "type": "string" - }, - "emphasisPlateAltTextColor": { - "type": "string" - }, - "emphasisPlateColor": { - "type": "string" - }, - "emphasisPlatePadX": { - "type": "number" - }, - "emphasisPlatePadY": { - "type": "number" - }, - "emphasisPlateRadius": { - "minimum": 0, - "type": "number" - }, - "emphasisPlateReveal": { - "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.", - "type": "boolean" - }, - "emphasisPlateTextColor": { - "type": "string" - }, - "emphasisScale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "emphasisTextTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "entrance": { - "enum": [ - "none", - "fade", - "word-pop", - "stagger-up" - ], - "type": "string" - }, - "entranceMs": { - "minimum": 0, - "type": "number" - }, - "entranceStaggerMs": { - "minimum": 0, - "type": "number" - }, - "exitMs": { - "minimum": 0, - "type": "number" - }, - "fontFamily": { - "minLength": 1, - "type": "string" - }, - "fontSize": { - "description": "Font size as % of composition height (1-15, default 5). NOT px.", - "maximum": 15, - "minimum": 1, - "type": "number" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "highlightColor": { - "minLength": 1, - "type": "string" - }, - "letterSpacing": { - "description": "Base caption glyph spacing in pixels.", - "maximum": 20, - "minimum": -5, - "type": "number" - }, - "lineGapEm": { - "description": "Gap between caption lines as a multiple of base font size; default 0.25.", - "maximum": 2, - "minimum": 0, - "type": "number" - }, - "maxWidthPercent": { - "exclusiveMinimum": 0, - "maximum": 100, - "type": "number" - }, - "plate": { - "enum": [ - "glass", - "solid", - "none" - ], - "type": "string" - }, - "position": { - "enum": [ - "top", - "center", - "bottom" - ], - "type": "string" - }, - "region": { - "additionalProperties": { - "$ref": "#/$defs/__schema103" - }, - "description": "Optional caption layout box {x,y,w,h} in normalized output-frame coordinates. Overrides position; text starts at its top edge and wraps/pages within its width and height.", - "properties": { - "h": { - "$ref": "#/$defs/__schema102" - }, - "w": { - "$ref": "#/$defs/__schema101" - }, - "x": { - "$ref": "#/$defs/__schema99" - }, - "y": { - "$ref": "#/$defs/__schema100" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "textTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "wordGapEm": { - "description": "Gap between caption runs as a multiple of base font size; default 0.35.", - "maximum": 2, - "minimum": 0, - "type": "number" - } - }, - "type": "object" -} - removed
Input schema / $defs / __schema99Removed value: -{ - "maximum": 1, - "minimum": 0, - "type": "number" -} - changed
Input schema / properties / body / properties / builtinSources / $refPrevious value: -"#/$defs/__schema276"New value: +"#/$defs/__schema304" - changed
Input schema / properties / body / properties / componentExecutionVersions / $refPrevious value: -"#/$defs/__schema272"New value: +"#/$defs/__schema300" - changed
Input schema / properties / body / properties / composition_id / $refPrevious value: -"#/$defs/__schema285"New value: +"#/$defs/__schema313" - changed
Input schema / properties / body / properties / concurrency / $refPrevious value: -"#/$defs/__schema279"New value: +"#/$defs/__schema307" - changed
Input schema / properties / body / properties / dry_run / $refPrevious value: -"#/$defs/__schema284"New value: +"#/$defs/__schema312" - changed
Input schema / properties / body / properties / expectedBrandIdentity / $refPrevious value: -"#/$defs/__schema278"New value: +"#/$defs/__schema306" - changed
Input schema / properties / body / properties / if_match / $refPrevious value: -"#/$defs/__schema283"New value: +"#/$defs/__schema311" - removed
Input schema / properties / body / properties / ops / $refRemoved value: -"#/$defs/__schema1" - added
Input schema / properties / body / properties / ops / descriptionAdded value: +"Call describe_composition_ops for the operation list, then with a type for its exact JSON Schema." - added
Input schema / properties / body / properties / ops / itemsAdded value: +{} - added
Input schema / properties / body / properties / ops / minItemsAdded value: +1 - added
Input schema / properties / body / properties / ops / typeAdded value: +"array" - changed
Input schema / properties / body / properties / session_id / $refPrevious value: -"#/$defs/__schema286"New value: +"#/$defs/__schema314" - changed
Input schema / properties / commandId / $refPrevious value: -"#/$defs/__schema287"New value: +"#/$defs/__schema315"
- Changed
compare_frames1 field changed- added
Input schema / properties / body / properties / reference / properties / representationIdentity / exampleAdded value: +"sha256:0000000000000000000000000000000000000000000000000000000000000000"
- Changed
create_brand_kit27 fields changed- removed
Input schema / $defs / __schema19Removed value: -{ - "additionalProperties": false, - "properties": { - "ambiencePreference": { - "anyOf": [ - { - "$ref": "#/$defs/__schema33" - }, - { - "$ref": "#/$defs/__schema34" - } - ], - "description": "Preferred ambience bed (`{ref}`) or explicit null (opt-out). Surfaced for driving agents; compose has no ambience auto-placement." - }, - "bedStyle": { - "additionalProperties": false, - "description": "Preferred music bed (`bedId`) or a style hint (`genre` / `bpmRange`). Surfaced for driving agents; compose does not auto-select a pack bed.", - "properties": { - "bedId": { - "$ref": "#/$defs/__schema30" - }, - "bpmRange": { - "$ref": "#/$defs/__schema32" - }, - "genre": { - "$ref": "#/$defs/__schema31" - } - }, - "type": "object" - }, - "musicEnabled": { - "type": "boolean" - }, - "musicMood": { - "maxLength": 300, - "type": "string" - }, - "sfxIntensity": { - "enum": [ - "off", - "light", - "standard", - "dense" - ], - "type": "string" - }, - "sonicLogo": { - "additionalProperties": false, - "description": "A brand sound signature bound to the intro/outro bookend. `ref` = a palette reference; bound only when the kit carries the matching bumper (intro/outro), else a non-blocking advisory.", - "properties": { - "offsetMs": { - "$ref": "#/$defs/__schema22" - }, - "placement": { - "$ref": "#/$defs/__schema21" - }, - "ref": { - "$ref": "#/$defs/__schema20" - } - }, - "required": [ - "ref", - "placement" - ], - "type": "object" - }, - "uiSoundSet": { - "additionalProperties": false, - "description": "Per-family SFX overrides (the brand's own tick/pop/…). Highest-priority tier over the org palette + pack default in the compose SFX draw.", - "properties": { - "confirm": { - "$ref": "#/$defs/__schema26" - }, - "error": { - "$ref": "#/$defs/__schema27" - }, - "impact": { - "$ref": "#/$defs/__schema25" - }, - "pop": { - "$ref": "#/$defs/__schema24" - }, - "riser": { - "$ref": "#/$defs/__schema29" - }, - "tick": { - "$ref": "#/$defs/__schema23" - }, - "whoosh": { - "$ref": "#/$defs/__schema28" - } - }, - "type": "object" - } - }, - "type": "object" -} - removed
Input schema / $defs / __schema20Removed value: -{ - "minLength": 1, - "type": "string" -} - removed
Input schema / $defs / __schema21Removed value: -{ - "enum": [ - "intro", - "outro", - "both" - ], - "type": "string" -} - removed
Input schema / $defs / __schema22Removed value: -{ - "maximum": 10000, - "minimum": 0, - "type": "integer" -} - removed
Input schema / $defs / __schema23Removed value: -{ - "minLength": 1, - "type": "string" -} - removed
Input schema / $defs / __schema24Removed value: -{ - "minLength": 1, - "type": "string" -} - removed
Input schema / $defs / __schema25Removed value: -{ - "minLength": 1, - "type": "string" -} - removed
Input schema / $defs / __schema26Removed value: -{ - "minLength": 1, - "type": "string" -} - removed
Input schema / $defs / __schema27Removed value: -{ - "minLength": 1, - "type": "string" -} - removed
Input schema / $defs / __schema28Removed value: -{ - "minLength": 1, - "type": "string" -} - removed
Input schema / $defs / __schema29Removed value: -{ - "minLength": 1, - "type": "string" -} - removed
Input schema / $defs / __schema30Removed value: -{ - "minLength": 1, - "type": "string" -} - removed
Input schema / $defs / __schema31Removed value: -{ - "maxLength": 120, - "type": "string" -} - removed
Input schema / $defs / __schema32Removed value: -{ - "additionalProperties": false, - "properties": { - "max": { - "type": "number" - }, - "min": { - "type": "number" - } - }, - "required": [ - "min", - "max" - ], - "type": "object" -} - removed
Input schema / $defs / __schema33Removed value: -{ - "additionalProperties": false, - "properties": { - "ref": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "ref" - ], - "type": "object" -} - removed
Input schema / $defs / __schema34Removed value: -{ - "type": "null" -} - removed
Input schema / $defs / __schema38Removed value: -{ - "items": { - "$ref": "#/$defs/__schema39" - }, - "maxItems": 24, - "type": "array" -} - removed
Input schema / $defs / __schema39Removed value: -{ - "additionalProperties": false, - "properties": { - "body": { - "oneOf": [ - { - "properties": { - "html": { - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "card", - "type": "string" - }, - "tokens": { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - }, - "required": [ - "kind", - "html" - ], - "type": "object" - }, - { - "properties": { - "kind": { - "const": "overlay", - "type": "string" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "kind", - "primitiveId" - ], - "type": "object" - }, - { - "properties": { - "componentId": { - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "component", - "type": "string" - }, - "props": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - }, - "required": [ - "kind", - "componentId" - ], - "type": "object" - } - ] - }, - "coverage": { - "enum": [ - "reproduced", - "approximated", - "skipped" - ], - "type": "string" - }, - "diffScore": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "evidence": { - "items": { - "$ref": "#/$defs/__schema40" - }, - "maxItems": 24, - "type": "array" - }, - "id": { - "maxLength": 40, - "minLength": 1, - "type": "string" - }, - "motion": { - "additionalProperties": false, - "properties": { - "confidence": { - "enum": [ - "high", - "low" - ], - "type": "string" - }, - "enterMs": { - "maximum": 5000, - "minimum": 0, - "type": "integer" - }, - "exitMs": { - "maximum": 5000, - "minimum": 0, - "type": "integer" - }, - "preset": { - "enum": [ - "fade-up", - "slide-in-left", - "slide-in-right", - "scale-pop", - "stagger-reveal" - ], - "type": "string" - }, - "staggerMs": { - "maximum": 2000, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "preset" - ], - "type": "object" - }, - "observed": { - "maxLength": 500, - "minLength": 1, - "type": "string" - }, - "role": { - "enum": [ - "title-card", - "stat", - "lower-third", - "pull-quote", - "hero", - "logo-tag", - "enumeration", - "sequence", - "comparison" - ], - "type": "string" - }, - "skipReason": { - "maxLength": 300, - "type": "string" - }, - "zone": { - "additionalProperties": false, - "properties": { - "h": { - "type": "number" - }, - "w": { - "type": "number" - }, - "x": { - "type": "number" - }, - "y": { - "type": "number" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - } - }, - "required": [ - "id", - "observed", - "body", - "role", - "coverage" - ], - "type": "object" -} - removed
Input schema / $defs / __schema40Removed value: -{ - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" -} - removed
Input schema / properties / body / properties / audio / $refRemoved value: -"#/$defs/__schema19" - added
Input schema / properties / body / properties / audio / descriptionAdded value: +"Call describe_tool_input with tool \"create_brand_kit\" and field \"audio\" for the exact JSON Schema." - added
Input schema / properties / body / properties / audio / typeAdded value: +"object" - removed
Input schema / properties / body / properties / motifs / $refRemoved value: -"#/$defs/__schema38" - added
Input schema / properties / body / properties / motifs / descriptionAdded value: +"Call describe_tool_input with tool \"create_brand_kit\" and field \"motifs\" for the exact JSON Schema." - added
Input schema / properties / body / properties / motifs / itemsAdded value: +{ + "required": [ + "id", + "observed", + "body", + "role", + "coverage" + ], + "type": "object" +} - added
Input schema / properties / body / properties / motifs / maxItemsAdded value: +24 - added
Input schema / properties / body / properties / motifs / typeAdded value: +"array"
- Changed
create_brief53 fields changed- removed
Input schema / $defs / __schema0Removed value: -{ - "additionalProperties": false, - "properties": { - "durationSec": { - "exclusiveMinimum": 0, - "type": "number" - }, - "graphic": { - "additionalProperties": false, - "description": "GRAPHICS MANDATE: the plan MUST carry a graphics request of this role overlapping this beat's window — enforced at the plan gate (honor-or-refuse, like moment pinning). Prose mustIncludes reaches only the judge; this is the checkable form.", - "properties": { - "items": { - "$ref": "#/$defs/__schema5" - }, - "role": { - "$ref": "#/$defs/__schema4" - } - }, - "required": [ - "role" - ], - "type": "object" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "intent": { - "description": "What this beat DOES editorially (hook the claim, prove it, CTA…).", - "minLength": 1, - "type": "string" - }, - "source": { - "additionalProperties": false, - "description": "MOMENT PINNING: this beat uses EXACTLY this window of this media item — honored to-the-frame or refused. v1: every sourced beat must reference the SAME mediaId (multi-source briefs are refused loudly, not silently merged).", - "properties": { - "endSec": { - "$ref": "#/$defs/__schema3" - }, - "mediaId": { - "$ref": "#/$defs/__schema1" - }, - "startSec": { - "$ref": "#/$defs/__schema2" - } - }, - "required": [ - "mediaId", - "startSec", - "endSec" - ], - "type": "object" - } - }, - "required": [ - "id", - "intent" - ], - "type": "object" -} - removed
Input schema / $defs / __schema1Removed value: -{ - "minLength": 1, - "type": "string" -} - removed
Input schema / $defs / __schema10Removed value: -{ - "additionalProperties": false, - "properties": { - "automation": { - "additionalProperties": false, - "properties": { - "lanes": { - "items": { - "additionalProperties": false, - "properties": { - "points": { - "items": { - "$ref": "#/$defs/__schema36" - }, - "minItems": 2, - "type": "array" - }, - "target": { - "const": "volume", - "type": "string" - } - }, - "required": [ - "target", - "points" - ], - "type": "object" - }, - "type": "array" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "lanes" - ], - "type": "object" - }, - "captionVisibility": { - "description": "Video media clip only. Hide native captions while this clip is topmost and covers the lower picture, or when an opaque, effect-free clip has an explicitly full-frame region, even with fit:contain. Caption words and timings remain stored and resume when another visible clip takes over.", - "enum": [ - "visible", - "hidden" - ], - "type": "string" - }, - "color": { - "additionalProperties": false, - "properties": { - "creative": { - "additionalProperties": false, - "properties": { - "enabled": { - "type": "boolean" - }, - "mediaId": { - "type": "string" - }, - "sha256": { - "type": "string" - }, - "strength": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "mediaId", - "sha256", - "enabled", - "strength" - ], - "type": "object" - }, - "display": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "enabled": { - "type": "boolean" - }, - "mediaId": { - "type": "string" - }, - "sha256": { - "type": "string" - } - }, - "required": [ - "mediaId", - "sha256", - "enabled" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bundled": { - "enum": [ - "daylight-negative", - "tungsten-negative", - "soft-negative", - "slide", - "black-and-white" - ], - "type": "string" - }, - "enabled": { - "type": "boolean" - } - }, - "required": [ - "bundled", - "enabled" - ], - "type": "object" - } - ] - }, - "enabled": { - "type": "boolean" - }, - "grade": { - "additionalProperties": false, - "properties": { - "blacks": { - "maximum": 1, - "minimum": -1, - "type": "number" - }, - "contrast": { - "maximum": 1, - "minimum": -1, - "type": "number" - }, - "exposure": { - "maximum": 4, - "minimum": -4, - "type": "number" - }, - "highlights": { - "maximum": 1, - "minimum": -1, - "type": "number" - }, - "saturation": { - "maximum": 1, - "minimum": -1, - "type": "number" - }, - "shadows": { - "maximum": 1, - "minimum": -1, - "type": "number" - }, - "temperature": { - "maximum": 1, - "minimum": -1, - "type": "number" - }, - "tint": { - "maximum": 1, - "minimum": -1, - "type": "number" - }, - "vibrance": { - "maximum": 1, - "minimum": -1, - "type": "number" - }, - "whites": { - "maximum": 1, - "minimum": -1, - "type": "number" - } - }, - "required": [ - "exposure", - "contrast", - "highlights", - "shadows", - "whites", - "blacks", - "temperature", - "tint", - "vibrance", - "saturation" - ], - "type": "object" - }, - "grain": { - "additionalProperties": false, - "properties": { - "amount": { - "maximum": 2, - "minimum": 0, - "type": "number" - }, - "enabled": { - "type": "boolean" - }, - "gauge": { - "enum": [ - "super8", - "super16", - "super35", - "65mm" - ], - "type": "string" - }, - "profile": { - "enum": [ - "daylight-negative", - "tungsten-negative", - "soft-negative", - "slide", - "black-and-white" - ], - "type": "string" - }, - "seed": { - "maximum": 4294967295, - "minimum": 0, - "type": "integer" - }, - "size": { - "maximum": 4, - "minimum": 0.5, - "type": "number" - } - }, - "required": [ - "enabled", - "profile", - "gauge", - "amount", - "size", - "seed" - ], - "type": "object" - }, - "halation": { - "additionalProperties": false, - "properties": { - "amount": { - "maximum": 0.5, - "minimum": 0, - "type": "number" - }, - "enabled": { - "type": "boolean" - }, - "radius": { - "maximum": 0.02, - "minimum": 0.0005, - "type": "number" - }, - "threshold": { - "maximum": 16, - "minimum": 0, - "type": "number" - }, - "tint": { - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "$ref": "#/$defs/__schema38" - }, - { - "$ref": "#/$defs/__schema39" - }, - { - "$ref": "#/$defs/__schema40" - } - ], - "type": "array" - } - }, - "required": [ - "enabled", - "amount", - "radius", - "threshold", - "tint" - ], - "type": "object" - }, - "looks": { - "items": { - "$ref": "#/$defs/__schema37" - }, - "maxItems": 2, - "type": "array" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "enabled", - "grade", - "looks" - ], - "type": "object" - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "effects": { - "items": { - "additionalProperties": false, - "properties": { - "component": { - "$ref": "#/$defs/__schema23" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "window": { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "startTime": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "startTime", - "duration" - ], - "type": "object" - } - }, - "type": "object" - }, - "type": "array" - }, - "fit": { - "enum": [ - "cover", - "contain" - ], - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "kind": { - "enum": [ - "video", - "audio", - "image", - "overlay", - "effect" - ], - "type": "string" - }, - "legacyKeyframes": { - "additionalProperties": false, - "properties": { - "channels": { - "items": { - "type": "string" - }, - "type": "array" - }, - "needsUpgrade": { - "const": true, - "type": "boolean" - }, - "record": {} - }, - "required": [ - "needsUpgrade", - "channels", - "record" - ], - "type": "object" - }, - "linkGroupId": { - "minLength": 1, - "type": "string" - }, - "opacity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "position": { - "additionalProperties": { - "$ref": "#/$defs/__schema29" - }, - "description": "Clip CENTRE as a fraction of the frame: {x:0.5,y:0.5} is dead centre, 0 to 1 is inside the frame, and a little overshoot (down to -1, up to 2) is how an entrance starts off-canvas. NOT pixels: the renderer maps x to `left: x*100%`, so `x: 180` sits 180 frame-widths away and draws nothing.", - "properties": { - "x": { - "$ref": "#/$defs/__schema27" - }, - "y": { - "$ref": "#/$defs/__schema28" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "region": { - "additionalProperties": { - "$ref": "#/$defs/__schema34" - }, - "description": "A window in the frame that the clip draws into and is clipped to (top-left corner and size, each a frame fraction). Inside a region, `position` and `scale` act relative to that window, so content moved past its edge is cut off. Omit it to place the clip against the whole frame.", - "properties": { - "h": { - "$ref": "#/$defs/__schema33" - }, - "w": { - "$ref": "#/$defs/__schema32" - }, - "x": { - "$ref": "#/$defs/__schema30" - }, - "y": { - "$ref": "#/$defs/__schema31" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "rotation": { - "type": "number" - }, - "scale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "source": { - "oneOf": [ - { - "additionalProperties": {}, - "properties": { - "anchor": { - "additionalProperties": {}, - "properties": { - "clipId": { - "minLength": 1, - "type": "string" - }, - "offsetMs": { - "type": "number" - } - }, - "required": [ - "clipId", - "offsetMs" - ], - "type": "object" - }, - "audioRole": { - "description": "Mix role. A role sets the clip's default gain when it has no `volume` or `volumeDb`: vo 0 dB, sfx -6 dB, music -8 dB (-16 dB when any vo clip exists), ambience -22 dB. Set `volumeDb: 0` to keep a role and play the source at its own level.", - "enum": [ - "sfx", - "music", - "vo", - "ambience" - ], - "type": "string" - }, - "duck": { - "additionalProperties": {}, - "properties": { - "attackMs": { - "minimum": 0, - "type": "number" - }, - "duckDb": { - "maximum": 0, - "type": "number" - }, - "releaseMs": { - "minimum": 0, - "type": "number" - }, - "windows": { - "items": { - "additionalProperties": {}, - "properties": { - "endMs": { - "type": "number" - }, - "startMs": { - "type": "number" - } - }, - "required": [ - "startMs", - "endMs" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "duckDb", - "attackMs", - "releaseMs" - ], - "type": "object" - }, - "excludedRanges": { - "items": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "reason": { - "type": "string" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "type": "array" - }, - "fadeInMs": { - "minimum": 0, - "type": "number" - }, - "fadeOutMs": { - "minimum": 0, - "type": "number" - }, - "kenBurns": { - "description": "Still-image motion. When unset, an image clip slowly pushes in (`in`) unless its fit is `contain` or it keyframes scale, position or rotation, so a keyframed clip renders exactly its keyframed values; set `none` for a still that holds.", - "enum": [ - "in", - "out", - "pan-l", - "pan-r", - "none" - ], - "type": "string" - }, - "kind": { - "const": "media", - "type": "string" - }, - "loop": { - "type": "boolean" - }, - "mediaId": { - "type": "string" - }, - "muted": { - "type": "boolean" - }, - "playbackRate": { - "exclusiveMinimum": 0, - "type": "number" - }, - "reframe": { - "additionalProperties": {}, - "properties": { - "segments": { - "items": { - "$ref": "#/$defs/__schema11" - }, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "segments" - ], - "type": "object" - }, - "sync": { - "enum": [ - "video", - "independent" - ], - "type": "string" - }, - "trim": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "volume": { - "maximum": 4, - "minimum": 0, - "type": "number" - }, - "volumeDb": { - "type": "number" - } - }, - "required": [ - "kind", - "mediaId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "componentId": { - "minLength": 1, - "type": "string" - }, - "execution": { - "$ref": "#/$defs/__schema23" - }, - "kind": { - "const": "component", - "type": "string" - }, - "placement": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "clip", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "content-slots", - "type": "string" - }, - "slots": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "ownership": { - "enum": [ - "reference", - "exclusive" - ], - "type": "string" - }, - "targetClipIds": { - "items": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "targetClipIds", - "ownership" - ], - "type": "object" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind", - "slots" - ], - "type": "object" - } - ] - }, - "props": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "retired": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "componentId", - "props" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "anchor": { - "additionalProperties": {}, - "properties": { - "space": { - "const": "scene", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "space", - "x", - "y" - ], - "type": "object" - }, - "kind": { - "const": "overlay", - "type": "string" - }, - "parallax": { - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "pattern": "^(?!custom$)", - "type": "string" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "primitiveId", - "params" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "component": { - "$ref": "#/$defs/__schema23" - }, - "kind": { - "const": "effect", - "type": "string" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "targetTrackIds": { - "items": { - "$ref": "#/$defs/__schema25" - }, - "minItems": 1, - "type": "array" - }, - "wrapperOrder": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "html": { - "description": "Self-contained card markup sized to the format's pixel frame. Motion comes from frame-driven vars, never @keyframes or transition: --cf-frame, --cf-t (seconds), --cf-fps, --cf-duration, --cf-progress, --cf-ease, --cf-enter, --cf-exit. Visible copy goes in the html as plain text. Wrap a run in <span data-cf-split=\"words\"> or \"chars\" and each unit becomes its own span carrying --cf-i (its index, the group carries --cf-n), so one rule staggers it (in chars, spaces count as units), e.g. opacity:clamp(0,calc(var(--cf-t)*4 - var(--cf-i)*.3),1). save_as_template binds that copy with textParams match.", - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "card", - "type": "string" - }, - "tokens": { - "$ref": "#/$defs/__schema26", - "description": "Style values the html reads as CSS custom properties: key x becomes --cf-x, so never put dashes in a key. Use tokens for colours and sizes, not visible copy.", - "propertyNames": { - "type": "string" - } - }, - "zPlane": { - "const": "front", - "type": "string" - } - }, - "required": [ - "kind", - "html" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "compositionId": { - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "composition", - "type": "string" - }, - "trim": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "compositionId" - ], - "type": "object" - } - ] - }, - "startTime": { - "minimum": 0, - "type": "number" - }, - "transitionIn": { - "additionalProperties": {}, - "properties": { - "component": { - "$ref": "#/$defs/__schema23" - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "fromClipId": { - "minLength": 1, - "type": "string" - }, - "handlePolicy": { - "const": "outgoing-overrun-at-cut-v1", - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "toClipId": { - "minLength": 1, - "type": "string" - }, - "type": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "type", - "duration" - ], - "type": "object" - }, - "tweens": { - "items": { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "keyframes": { - "additionalProperties": false, - "properties": { - "easeEach": { - "const": "none", - "type": "string" - }, - "format": { - "const": "percentage", - "type": "string" - }, - "keyframes": { - "items": { - "$ref": "#/$defs/__schema35" - }, - "minItems": 2, - "type": "array" - } - }, - "required": [ - "format", - "easeEach", - "keyframes" - ], - "type": "object" - }, - "position": { - "type": "number" - }, - "propertyGroup": { - "enum": [ - "visual", - "scale", - "rotation", - "position" - ], - "type": "string" - } - }, - "required": [ - "id", - "propertyGroup", - "position", - "duration", - "keyframes" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "id", - "startTime", - "duration", - "source" - ], - "type": "object" -} - removed
Input schema / $defs / __schema11Removed value: -{ - "additionalProperties": {}, - "properties": { - "bias": { - "additionalProperties": { - "$ref": "#/$defs/__schema22" - }, - "description": "Optional FINE framing nudge off the focus center, source-normalized in [−0.3, 0.3]. A small correction (headroom, rule-of-thirds), NOT a reframe — use `focus`/`zoom` for the actual shot. Omit (treated as 0) to sit dead-center on the focus.", - "properties": { - "x": { - "$ref": "#/$defs/__schema20" - }, - "y": { - "$ref": "#/$defs/__schema21" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "ease": { - "additionalProperties": { - "$ref": "#/$defs/__schema19" - }, - "description": "Zoom/center ramp DURATIONS in SECONDS at this segment's edges — NOT a unitless 0–1 curve. ~0.3–0.6s reads as a snappy push; >1s reads sluggish. Keep `in` + `out` ≤ the segment's duration (endSec − startSec): the two edges share the span, so to ramp across the WHOLE segment set one edge to the full duration and the other to 0. Omit for an instant cut to this framing.", - "properties": { - "in": { - "$ref": "#/$defs/__schema17" - }, - "out": { - "$ref": "#/$defs/__schema18" - } - }, - "required": [ - "in", - "out" - ], - "type": "object" - }, - "endSec": { - "description": "Segment END in seconds, clip-relative. The span (endSec − startSec) is this segment's duration — the window `ease` ramps over.", - "exclusiveMinimum": 0, - "type": "number" - }, - "focus": { - "description": "WHO/WHAT the camera tracks this segment (the reframe center), selected by `mode`: `frame-center` = no tracking, hold the geometric center (static/graphic footage, or a pure zoom); `point` = lock to a fixed source-normalized {x,y} (a non-moving on-screen element); `face` = track a detected face by `faceId` (from get_media_context), with optional `shotScale` close|standard|wide for tightness; `all-faces` = frame the bounding box of every detected face (group/ensemble shots); `active-speaker` = follow whoever is speaking (diarized talking-head / podcast). Pick by what the beat is about; pair with `zoom` for how tight.", - "oneOf": [ - { - "$ref": "#/$defs/__schema12" - }, - { - "$ref": "#/$defs/__schema13" - }, - { - "$ref": "#/$defs/__schema14" - }, - { - "$ref": "#/$defs/__schema15" - }, - { - "$ref": "#/$defs/__schema16" - } - ] - }, - "intent": { - "description": "Optional editorial LABEL for diff/log readability (e.g. 'speaker-tight', 'wide-context'). Cosmetic — NOT honored by the derive math and excluded from the variant cache key.", - "type": "string" - }, - "startSec": { - "description": "Segment START in seconds, clip-relative. Segments tile the clip's duration in order.", - "minimum": 0, - "type": "number" - }, - "zoom": { - "description": "How TIGHT the framing is — the fraction of the source the output viewport shows. <1 punches IN (a smaller source fraction, magnified to fill the frame); 1 = the full frame (no crop). ~0.6–0.8 is a moderate push-in, ~0.5 a tight close-up, 0.1 the maximum zoom. There is NO zoom-OUT past the full frame (max 1). Omit for the full frame. MUTUALLY EXCLUSIVE with `focus.shotScale`: a face-tracked shot is sized EITHER by the editorial scale (shotScale, calibrated to the detected face) OR by an explicit zoom — never both.", - "maximum": 1, - "minimum": 0.1, - "type": "number" - } - }, - "required": [ - "startSec", - "endSec", - "focus" - ], - "type": "object" -} - removed
Input schema / $defs / __schema12Removed value: -{ - "additionalProperties": {}, - "properties": { - "mode": { - "const": "frame-center", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" -} - removed
Input schema / $defs / __schema13Removed value: -{ - "additionalProperties": {}, - "properties": { - "mode": { - "const": "point", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "mode", - "x", - "y" - ], - "type": "object" -} - removed
Input schema / $defs / __schema14Removed value: -{ - "additionalProperties": {}, - "properties": { - "faceId": { - "minLength": 1, - "type": "string" - }, - "mode": { - "const": "face", - "type": "string" - }, - "shotScale": { - "enum": [ - "close", - "standard", - "wide" - ], - "type": "string" - } - }, - "required": [ - "mode", - "faceId" - ], - "type": "object" -} - removed
Input schema / $defs / __schema15Removed value: -{ - "additionalProperties": {}, - "properties": { - "mode": { - "const": "all-faces", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" -} - removed
Input schema / $defs / __schema16Removed value: -{ - "additionalProperties": {}, - "properties": { - "mode": { - "const": "active-speaker", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" -} - removed
Input schema / $defs / __schema17Removed value: -{ - "description": "Ease-IN ramp DURATION in seconds at the segment START.", - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema18Removed value: -{ - "description": "Ease-OUT ramp DURATION in seconds at the segment END.", - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema19Removed value: -{} - removed
Input schema / $defs / __schema2Removed value: -{ - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema20Removed value: -{ - "description": "Horizontal nudge, source-normalized (+ = right).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" -} - removed
Input schema / $defs / __schema21Removed value: -{ - "description": "Vertical nudge, source-normalized (+ = down).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" -} - removed
Input schema / $defs / __schema22Removed value: -{} - removed
Input schema / $defs / __schema23Removed value: -{ - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema24" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema24" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] -} - removed
Input schema / $defs / __schema24Removed value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - }, - { - "items": { - "$ref": "#/$defs/__schema24" - }, - "type": "array" - }, - { - "additionalProperties": { - "$ref": "#/$defs/__schema24" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - ] -} - removed
Input schema / $defs / __schema25Removed value: -{ - "minLength": 1, - "type": "string" -} - removed
Input schema / $defs / __schema26Removed value: -{ - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" -} - removed
Input schema / $defs / __schema27Removed value: -{ - "maximum": 2, - "minimum": -1, - "type": "number" -} - removed
Input schema / $defs / __schema28Removed value: -{ - "maximum": 2, - "minimum": -1, - "type": "number" -} - removed
Input schema / $defs / __schema29Removed value: -{} - removed
Input schema / $defs / __schema3Removed value: -{ - "exclusiveMinimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema30Removed value: -{ - "maximum": 1, - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema31Removed value: -{ - "maximum": 1, - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema32Removed value: -{ - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" -} - removed
Input schema / $defs / __schema33Removed value: -{ - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" -} - removed
Input schema / $defs / __schema34Removed value: -{} - removed
Input schema / $defs / __schema35Removed value: -{ - "additionalProperties": false, - "properties": { - "ease": { - "type": "string" - }, - "percentage": { - "type": "number" - }, - "properties": { - "additionalProperties": { - "type": "number" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - }, - "required": [ - "percentage", - "properties" - ], - "type": "object" -} - removed
Input schema / $defs / __schema36Removed value: -{ - "additionalProperties": false, - "properties": { - "t": { - "type": "number" - }, - "v": { - "type": "number" - } - }, - "required": [ - "t", - "v" - ], - "type": "object" -} - removed
Input schema / $defs / __schema37Removed value: -{ - "additionalProperties": false, - "properties": { - "enabled": { - "type": "boolean" - }, - "mediaId": { - "type": "string" - }, - "sha256": { - "type": "string" - } - }, - "required": [ - "mediaId", - "sha256", - "enabled" - ], - "type": "object" -} - removed
Input schema / $defs / __schema38Removed value: -{ - "maximum": 1, - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema39Removed value: -{ - "maximum": 1, - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema4Removed value: -{ - "description": "The mandated graphic's editorial role (the graphics-plan GraphicRole vocabulary).", - "enum": [ - "title-card", - "stat", - "lower-third", - "pull-quote", - "hero", - "logo-tag", - "enumeration", - "sequence", - "comparison" - ], - "type": "string" -} - removed
Input schema / $defs / __schema40Removed value: -{ - "maximum": 1, - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema42Removed value: -{ - "enum": [ - "content", - "layout", - "motion" - ], - "type": "string" -} - removed
Input schema / $defs / __schema5Removed value: -{ - "description": "Mandated list items (enumeration/sequence) — carried VERBATIM into the plan's copy.items.", - "items": { - "$ref": "#/$defs/__schema6" - }, - "maxItems": 8, - "type": "array" -} - removed
Input schema / $defs / __schema6Removed value: -{ - "maxLength": 80, - "minLength": 1, - "type": "string" -} - removed
Input schema / properties / body / properties / audio / additionalPropertiesRemoved value: -false - added
Input schema / properties / body / properties / audio / descriptionAdded value: +"Call describe_tool_input with tool \"create_brief\" and field \"audio\" for the exact JSON Schema." - removed
Input schema / properties / body / properties / audio / propertiesRemoved value: -{ - "music": { - "additionalProperties": false, - "properties": { - "enabled": { - "description": "Whether the compose carries a music bed.", - "type": "boolean" - }, - "mediaId": { - "description": "Pin a client-imported track as the bed. HONOR-OR-REFUSE: must be an org-owned kind:'audio' media item, else 422 — never accept-and-ignore. Absent ⇒ generate from mood.", - "minLength": 1, - "type": "string" - }, - "mood": { - "description": "Freeform mood/genre prompt for the GENERATED bed (e.g. 'understated editorial, warm'). Ignored when mediaId pins a track.", - "maxLength": 300, - "type": "string" - } - }, - "required": [ - "enabled" - ], - "type": "object" - }, - "sfx": { - "additionalProperties": false, - "properties": { - "intensity": { - "description": "SFX placement density. Real-footage content keeps restraint caps regardless ('dense' is the explicit opt-out); generated/graphic-led content unlocks the standard tier.", - "enum": [ - "off", - "light", - "standard", - "dense" - ], - "type": "string" - } - }, - "required": [ - "intensity" - ], - "type": "object" - } -} - added
Input schema / properties / body / properties / beats / descriptionAdded value: +"Call describe_tool_input with tool \"create_brief\" and field \"beats\" for the exact JSON Schema." - removed
Input schema / properties / body / properties / beats / items / $refRemoved value: -"#/$defs/__schema0" - added
Input schema / properties / body / properties / beats / items / requiredAdded value: +[ + "id", + "intent" +] - added
Input schema / properties / body / properties / beats / items / typeAdded value: +"object" - removed
Input schema / properties / body / properties / gates / additionalPropertiesRemoved value: -false - added
Input schema / properties / body / properties / gates / descriptionAdded value: +"Call describe_tool_input with tool \"create_brief\" and field \"gates\" for the exact JSON Schema." - removed
Input schema / properties / body / properties / gates / propertiesRemoved value: -{ - "autoApprove": { - "description": "true = fully autonomous (compose runs with NO gates — the headless opt-in; without it a brief holds at every stage by default). Mutually exclusive with a non-empty holdAt.", - "type": "boolean" - }, - "holdAt": { - "description": "Checkpoint gates — the compose pauses at each named stage for review via resume. DEFAULT (gates absent): the compose holds at EVERY stage — your agent reviews and resumes each one; an unreviewed checkpoint times out loudly after 60min. Auto-progression is the opt-in (gates.autoApprove: true).", - "items": { - "$ref": "#/$defs/__schema42" - }, - "maxItems": 3, - "type": "array" - }, - "reviewMode": { - "description": "Who captures the review decision. Default 'agent': you relay the packet and call resume. 'hosted': every checkpoint mints a review-page URL (checkpoint.ready payload + get_checkpoint's reviewUrl) where a human approves/revises from the browser — no account, no agent session; the recorded decision rides the SAME resume rail and you learn of it via checkpoint webhooks / wait_job.", - "enum": [ - "agent", - "hosted" - ], - "type": "string" - } -} - changed
Input schema / properties / body / properties / seededGraphics / descriptionPrevious value: -"Client-authored graphic clips the Director must carry VERBATIM: seeded into the design loop's base composition as LOCKED clips (never re-authored, never discarded)."New value: +"Client-authored graphic clips the Director must carry VERBATIM: seeded into the design loop's base composition as LOCKED clips (never re-authored, never discarded). Call describe_tool_input with tool \"create_brief\" and field \"seededGraphics\" for the exact JSON Schema." - removed
Input schema / properties / body / properties / seededGraphics / items / $refRemoved value: -"#/$defs/__schema10" - added
Input schema / properties / body / properties / seededGraphics / items / requiredAdded value: +[ + "id", + "startTime", + "duration", + "source" +] - added
Input schema / properties / body / properties / seededGraphics / items / typeAdded value: +"object"
- Changed
create_component26 fields changed- removed
Input schema / $defs / __schema11Removed value: -{ - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$", - "type": "string" - }, - "definition": { - "additionalProperties": false, - "properties": { - "brandBindings": { - "items": { - "additionalProperties": false, - "properties": { - "brandKitPath": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "cssVar": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "fallback": { - "type": "string" - }, - "propPath": { - "maxLength": 128, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "propPath", - "cssVar" - ], - "type": "object" - }, - "type": "array" - }, - "capabilities": { - "items": { - "$ref": "#/$defs/__schema13" - }, - "minItems": 1, - "type": "array" - }, - "defaults": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "inputSchema": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "mediaBindings": { - "items": { - "$ref": "#/$defs/__schema15" - }, - "minItems": 1, - "type": "array" - }, - "preview": { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "durationSec": { - "exclusiveMinimum": 0, - "type": "number" - }, - "frameRate": { - "exclusiveMinimum": 0, - "type": "number" - }, - "mimeType": { - "minLength": 1, - "type": "string" - }, - "sha256": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "url": { - "pattern": "^https:\\/\\/.*", - "type": "string" - } - }, - "required": [ - "url", - "sha256", - "mimeType" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "durationSec": { - "exclusiveMinimum": 0, - "type": "number" - }, - "frameRate": { - "exclusiveMinimum": 0, - "type": "number" - }, - "mediaId": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "mimeType": { - "minLength": 1, - "type": "string" - }, - "sha256": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - } - }, - "required": [ - "mediaId", - "sha256", - "mimeType" - ], - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "format": { - "additionalProperties": {}, - "properties": { - "aspectRatio": { - "enum": [ - "16:9", - "9:16", - "1:1", - "4:5" - ], - "type": "string" - }, - "fps": { - "anyOf": [ - { - "const": 24, - "type": "number" - }, - { - "const": 25, - "type": "number" - }, - { - "const": 30, - "type": "number" - }, - { - "const": 60, - "type": "number" - } - ] - }, - "platform": { - "type": "string" - }, - "resolution": { - "enum": [ - "hd", - "fhd", - "4k" - ], - "type": "string" - } - }, - "required": [ - "aspectRatio" - ], - "type": "object" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "durationSec": { - "exclusiveMinimum": 0, - "type": "number" - }, - "frameRate": { - "exclusiveMinimum": 0, - "type": "number" - }, - "mimeType": { - "minLength": 1, - "type": "string" - }, - "sha256": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "url": { - "pattern": "^https:\\/\\/.*", - "type": "string" - } - }, - "required": [ - "url", - "sha256", - "mimeType" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "durationSec": { - "exclusiveMinimum": 0, - "type": "number" - }, - "frameRate": { - "exclusiveMinimum": 0, - "type": "number" - }, - "mediaId": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "mimeType": { - "minLength": 1, - "type": "string" - }, - "sha256": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - } - }, - "required": [ - "mediaId", - "sha256", - "mimeType" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - }, - "type": "object" - }, - "timing": { - "additionalProperties": false, - "properties": { - "defaultDuration": { - "additionalProperties": false, - "properties": { - "fps": { - "exclusiveMinimum": 0, - "type": "number" - }, - "frames": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "frames", - "fps" - ], - "type": "object" - }, - "maxDurationSec": { - "exclusiveMinimum": 0, - "type": "number" - }, - "minDurationSec": { - "exclusiveMinimum": 0, - "type": "number" - } - }, - "required": [ - "defaultDuration" - ], - "type": "object" - } - }, - "required": [ - "inputSchema", - "defaults", - "brandBindings", - "timing", - "capabilities" - ], - "type": "object" - }, - "manifest": { - "additionalProperties": false, - "properties": { - "alphaPolicy": { - "enum": [ - "requires-transparency", - "allows-opaque" - ], - "type": "string" - }, - "assets": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "kind": { - "enum": [ - "image", - "video", - "audio", - "data", - "visual" - ], - "type": "string" - }, - "mediaDemand": { - "oneOf": [ - { - "properties": { - "mode": { - "const": "original", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "properties": { - "mode": { - "const": "tier", - "type": "string" - }, - "tier": { - "anyOf": [ - { - "const": 256, - "type": "number" - }, - { - "const": 512, - "type": "number" - }, - { - "const": 1024, - "type": "number" - }, - { - "const": 2048, - "type": "number" - } - ] - } - }, - "required": [ - "mode", - "tier" - ], - "type": "object" - }, - { - "properties": { - "maxProjectedHeightRatio": { - "exclusiveMinimum": 0, - "maximum": 64, - "type": "number" - }, - "maxProjectedWidthRatio": { - "exclusiveMinimum": 0, - "maximum": 64, - "type": "number" - }, - "minVisibleSourceHeightRatio": { - "default": 1, - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "minVisibleSourceWidthRatio": { - "default": 1, - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "mode": { - "const": "auto", - "type": "string" - } - }, - "required": [ - "mode", - "maxProjectedWidthRatio", - "maxProjectedHeightRatio" - ], - "type": "object" - } - ] - }, - "mimeTypes": { - "items": { - "$ref": "#/$defs/__schema12" - }, - "minItems": 1, - "type": "array" - }, - "required": { - "type": "boolean" - } - }, - "required": [ - "kind", - "required" - ], - "type": "object" - }, - "properties": {}, - "propertyNames": { - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "graphics": { - "additionalProperties": false, - "properties": { - "accelerationPreference": { - "enum": [ - "hardware-preferred", - "software-allowed" - ], - "type": "string" - }, - "api": { - "enum": [ - "canvas2d", - "webgl", - "webgl2", - "webgpu" - ], - "type": "string" - }, - "required": { - "const": true, - "type": "boolean" - } - }, - "required": [ - "api", - "required", - "accelerationPreference" - ], - "type": "object" - }, - "hfContract": { - "const": 1, - "type": "number" - }, - "kind": { - "const": "scene", - "type": "string" - }, - "runtime": { - "const": "hyperframes", - "type": "string" - }, - "sceneShot": { - "additionalProperties": false, - "properties": { - "version": { - "const": 2, - "type": "number" - } - }, - "required": [ - "version" - ], - "type": "object" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "runtime", - "hfContract", - "kind", - "assets", - "graphics", - "alphaPolicy" - ], - "type": "object" - }, - "template": { - "maxLength": 2000000, - "minLength": 1, - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "template", - "manifest", - "definition" - ], - "type": "object" -} - removed
Input schema / $defs / __schema12Removed value: -{ - "minLength": 1, - "type": "string" -} - removed
Input schema / $defs / __schema13Removed value: -{ - "oneOf": [ - { - "properties": { - "kind": { - "const": "clip", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "properties": { - "kind": { - "const": "cut-transition", - "type": "string" - }, - "protocol": { - "const": "per-child", - "type": "string" - } - }, - "required": [ - "kind", - "protocol" - ], - "type": "object" - }, - { - "properties": { - "kind": { - "const": "content-slots", - "type": "string" - }, - "slots": { - "items": { - "$ref": "#/$defs/__schema14" - }, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "kind", - "slots" - ], - "type": "object" - }, - { - "properties": { - "acceptsWrappedTargets": { - "type": "boolean" - }, - "kind": { - "const": "clip-wrapper", - "type": "string" - }, - "ordering": { - "enum": [ - "any", - "innermost" - ], - "type": "string" - } - }, - "required": [ - "kind", - "ordering", - "acceptsWrappedTargets" - ], - "type": "object" - }, - { - "properties": { - "acceptsWrappedTargets": { - "type": "boolean" - }, - "kind": { - "const": "global-wrapper", - "type": "string" - }, - "ordering": { - "enum": [ - "any", - "innermost" - ], - "type": "string" - }, - "scope": { - "const": "media-lanes", - "type": "string" - } - }, - "required": [ - "kind", - "scope", - "ordering", - "acceptsWrappedTargets" - ], - "type": "object" - } - ] -} - removed
Input schema / $defs / __schema14Removed value: -{ - "additionalProperties": false, - "properties": { - "max": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "min": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "name": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "ownership": { - "enum": [ - "reference", - "exclusive" - ], - "type": "string" - }, - "sizing": { - "enum": [ - "canvas", - "container" - ], - "type": "string" - } - }, - "required": [ - "name", - "min", - "max", - "ownership", - "sizing" - ], - "type": "object" -} - removed
Input schema / $defs / __schema15Removed value: -{ - "additionalProperties": false, - "properties": { - "cardinality": { - "additionalProperties": false, - "properties": { - "max": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "min": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "min" - ], - "type": "object" - }, - "collection": { - "enum": [ - "scalar", - "array" - ], - "type": "string" - }, - "kind": { - "enum": [ - "image", - "video", - "visual" - ], - "type": "string" - }, - "mediaDemand": { - "oneOf": [ - { - "properties": { - "mode": { - "const": "original", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "properties": { - "mode": { - "const": "tier", - "type": "string" - }, - "tier": { - "anyOf": [ - { - "const": 256, - "type": "number" - }, - { - "const": 512, - "type": "number" - }, - { - "const": 1024, - "type": "number" - }, - { - "const": 2048, - "type": "number" - } - ] - } - }, - "required": [ - "mode", - "tier" - ], - "type": "object" - }, - { - "properties": { - "maxProjectedHeightRatio": { - "exclusiveMinimum": 0, - "maximum": 64, - "type": "number" - }, - "maxProjectedWidthRatio": { - "exclusiveMinimum": 0, - "maximum": 64, - "type": "number" - }, - "minVisibleSourceHeightRatio": { - "default": 1, - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "minVisibleSourceWidthRatio": { - "default": 1, - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "mode": { - "const": "auto", - "type": "string" - } - }, - "required": [ - "mode", - "maxProjectedWidthRatio", - "maxProjectedHeightRatio" - ], - "type": "object" - } - ] - }, - "mimeTypes": { - "items": { - "$ref": "#/$defs/__schema17" - }, - "minItems": 1, - "type": "array" - }, - "name": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "propPath": { - "items": { - "$ref": "#/$defs/__schema16" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "name", - "propPath", - "kind", - "collection", - "cardinality" - ], - "type": "object" -} - removed
Input schema / $defs / __schema16Removed value: -{ - "maxLength": 128, - "minLength": 1, - "type": "string" -} - removed
Input schema / $defs / __schema17Removed value: -{ - "minLength": 1, - "type": "string" -} - added
Input schema / $defs / __schema18 / additionalPropertiesAdded value: +false - removed
Input schema / $defs / __schema18 / maxLengthRemoved value: -128 - removed
Input schema / $defs / __schema18 / minLengthRemoved value: -1 - added
Input schema / $defs / __schema18 / propertiesAdded value: +{ + "adaptationReceiptRef": { + "additionalProperties": false, + "properties": { + "byteLength": { + "exclusiveMinimum": 0, + "maximum": 134217728, + "type": "integer" + }, + "format": { + "const": "cueframe-registry-adaptation-v1", + "type": "string" + }, + "sha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + } + }, + "required": [ + "format", + "sha256", + "byteLength" + ], + "type": "object" + }, + "receiptRef": { + "additionalProperties": false, + "properties": { + "bundleBytes": { + "exclusiveMinimum": 0, + "maximum": 134217728, + "type": "integer" + }, + "bundleSha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "format": { + "const": "cueframe-registry-provenance-v1", + "type": "string" + }, + "receiptId": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "bundleSha256", + "bundleBytes", + "format", + "receiptId" + ], + "type": "object" + } +} - added
Input schema / $defs / __schema18 / requiredAdded value: +[ + "receiptRef" +] - changed
Input schema / $defs / __schema18 / typePrevious value: -"string"New value: +"object" - added
Input schema / $defs / __schema19Added value: +{ + "maxLength": 128, + "minLength": 1, + "type": "string" +} - removed
Input schema / $defs / __schema8Removed value: -{ - "description": "Usage examples, as authored. A built-in primitive projects {name, mood?, params?, description?}; an authored component's examples are whatever it wrote, which is why the item is open. One shape for both directions: what you write here is what you read back.", - "items": { - "$ref": "#/$defs/__schema9" - }, - "type": "array" -} - removed
Input schema / $defs / __schema9Removed value: -{ - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" -} - removed
Input schema / properties / body / properties / examples / $refRemoved value: -"#/$defs/__schema8" - added
Input schema / properties / body / properties / examples / descriptionAdded value: +"Usage examples, as authored. A built-in primitive projects {name, mood?, params?, description?}; an authored component's examples are whatever it wrote, which is why the item is open. One shape for both directions: what you write here is what you read back. Call describe_tool_input with tool \"create_component\" and field \"examples\" for the exact JSON Schema." - added
Input schema / properties / body / properties / examples / itemsAdded value: +{ + "type": "object" +} - added
Input schema / properties / body / properties / examples / typeAdded value: +"array" - added
Input schema / properties / body / properties / registryProvenanceAdded value: +{ + "$ref": "#/$defs/__schema18" +} - removed
Input schema / properties / body / properties / source / $refRemoved value: -"#/$defs/__schema11" - added
Input schema / properties / body / properties / source / descriptionAdded value: +"Call describe_tool_input with tool \"create_component\" and field \"source\" for the exact JSON Schema." - added
Input schema / properties / body / properties / source / requiredAdded value: +[ + "version", + "componentId", + "template", + "manifest", + "definition" +] - added
Input schema / properties / body / properties / source / typeAdded value: +"object" - changed
Input schema / properties / commandId / $refPrevious value: -"#/$defs/__schema18"New value: +"#/$defs/__schema19"
- Changed
create_render5 fields changed- removed
Input schema / $defs / __schema3Removed value: -{ - "additionalProperties": {}, - "properties": { - "aspectRatio": { - "enum": [ - "16:9", - "9:16", - "1:1", - "4:5" - ], - "type": "string" - }, - "fps": { - "anyOf": [ - { - "const": 24, - "type": "number" - }, - { - "const": 25, - "type": "number" - }, - { - "const": 30, - "type": "number" - }, - { - "const": 60, - "type": "number" - } - ] - }, - "platform": { - "type": "string" - }, - "resolution": { - "enum": [ - "hd", - "fhd", - "4k" - ], - "type": "string" - } - }, - "required": [ - "aspectRatio" - ], - "type": "object" -} - removed
Input schema / properties / body / properties / format / $refRemoved value: -"#/$defs/__schema3" - added
Input schema / properties / body / properties / format / descriptionAdded value: +"Call describe_tool_input with tool \"create_render\" and field \"format\" for the exact JSON Schema." - added
Input schema / properties / body / properties / format / requiredAdded value: +[ + "aspectRatio" +] - added
Input schema / properties / body / properties / format / typeAdded value: +"object"
- Added
create_template_package_upload - Changed
create_upload1 field changed- changed
Input schema / $defs / __schema1 / enumPrevious value: -[ - "video/mp4", - "video/quicktime", - "video/x-matroska", - "video/webm", - "audio/mpeg", - "audio/wav", - "audio/x-wav", - "audio/mp4", - "audio/aac", - "image/png", - "image/jpeg", - "image/webp", - "image/gif", - "image/svg+xml", - "application/json", - "font/ttf", - "font/otf", - "font/woff", - "font/woff2" -]New value: +[ + "video/mp4", + "video/quicktime", + "video/x-matroska", + "video/webm", + "audio/mpeg", + "audio/wav", + "audio/x-wav", + "audio/mp4", + "audio/aac", + "image/png", + "image/jpeg", + "image/webp", + "image/gif", + "image/svg+xml", + "image/vnd.radiance", + "model/gltf-binary", + "application/json", + "font/ttf", + "font/otf", + "font/woff", + "font/woff2", + "application/x-cube" +]
- Changed
derive_composition10 fields changed- removed
Input schema / $defs / __schema1Removed value: -{ - "additionalProperties": { - "$ref": "#/$defs/__schema6" - }, - "description": "The target output format (aspectRatio + optional fps/resolution) for the new sibling.", - "properties": { - "aspectRatio": { - "$ref": "#/$defs/__schema2" - }, - "fps": { - "$ref": "#/$defs/__schema3" - }, - "platform": { - "$ref": "#/$defs/__schema5" - }, - "resolution": { - "$ref": "#/$defs/__schema4" - } - }, - "required": [ - "aspectRatio" - ], - "type": "object" -} - removed
Input schema / $defs / __schema2Removed value: -{ - "enum": [ - "16:9", - "9:16", - "1:1", - "4:5" - ], - "type": "string" -} - removed
Input schema / $defs / __schema3Removed value: -{ - "anyOf": [ - { - "const": 24, - "type": "number" - }, - { - "const": 25, - "type": "number" - }, - { - "const": 30, - "type": "number" - }, - { - "const": 60, - "type": "number" - } - ] -} - removed
Input schema / $defs / __schema4Removed value: -{ - "enum": [ - "hd", - "fhd", - "4k" - ], - "type": "string" -} - removed
Input schema / $defs / __schema5Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema6Removed value: -{} - removed
Input schema / properties / body / properties / targetFormat / $refRemoved value: -"#/$defs/__schema1" - added
Input schema / properties / body / properties / targetFormat / descriptionAdded value: +"The target output format (aspectRatio + optional fps/resolution) for the new sibling. Call describe_tool_input with tool \"derive_composition\" and field \"targetFormat\" for the exact JSON Schema." - added
Input schema / properties / body / properties / targetFormat / requiredAdded value: +[ + "aspectRatio" +] - added
Input schema / properties / body / properties / targetFormat / typeAdded value: +"object"
- Added
describe_tool_input - Changed
editorial_apply282 fields changed- removed
Input schema / $defs / __schema0Removed value: -{ - "const": 3, - "type": "number" -} - removed
Input schema / $defs / __schema1Removed value: -{ - "const": 3, - "type": "number" -} - removed
Input schema / $defs / __schema10Removed value: -{ - "oneOf": [ - { - "additionalProperties": {}, - "properties": { - "anchor": { - "additionalProperties": {}, - "properties": { - "clipId": { - "minLength": 1, - "type": "string" - }, - "offsetMs": { - "type": "number" - } - }, - "required": [ - "clipId", - "offsetMs" - ], - "type": "object" - }, - "audioRole": { - "description": "Mix role. A role sets the clip's default gain when it has no `volume` or `volumeDb`: vo 0 dB, sfx -6 dB, music -8 dB (-16 dB when any vo clip exists), ambience -22 dB. Set `volumeDb: 0` to keep a role and play the source at its own level.", - "enum": [ - "sfx", - "music", - "vo", - "ambience" - ], - "type": "string" - }, - "duck": { - "additionalProperties": {}, - "properties": { - "attackMs": { - "minimum": 0, - "type": "number" - }, - "duckDb": { - "maximum": 0, - "type": "number" - }, - "releaseMs": { - "minimum": 0, - "type": "number" - }, - "windows": { - "items": { - "additionalProperties": {}, - "properties": { - "endMs": { - "type": "number" - }, - "startMs": { - "type": "number" - } - }, - "required": [ - "startMs", - "endMs" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "duckDb", - "attackMs", - "releaseMs" - ], - "type": "object" - }, - "excludedRanges": { - "items": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "reason": { - "type": "string" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "type": "array" - }, - "fadeInMs": { - "minimum": 0, - "type": "number" - }, - "fadeOutMs": { - "minimum": 0, - "type": "number" - }, - "kenBurns": { - "description": "Still-image motion. When unset, an image clip slowly pushes in (`in`) unless its fit is `contain` or it keyframes scale, position or rotation, so a keyframed clip renders exactly its keyframed values; set `none` for a still that holds.", - "enum": [ - "in", - "out", - "pan-l", - "pan-r", - "none" - ], - "type": "string" - }, - "kind": { - "const": "media", - "type": "string" - }, - "loop": { - "type": "boolean" - }, - "mediaId": { - "type": "string" - }, - "muted": { - "type": "boolean" - }, - "playbackRate": { - "exclusiveMinimum": 0, - "type": "number" - }, - "reframe": { - "additionalProperties": {}, - "properties": { - "segments": { - "items": { - "$ref": "#/$defs/__schema11" - }, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "segments" - ], - "type": "object" - }, - "sync": { - "enum": [ - "video", - "independent" - ], - "type": "string" - }, - "trim": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "volume": { - "maximum": 4, - "minimum": 0, - "type": "number" - }, - "volumeDb": { - "type": "number" - } - }, - "required": [ - "kind", - "mediaId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "componentId": { - "minLength": 1, - "type": "string" - }, - "execution": { - "$ref": "#/$defs/__schema23" - }, - "kind": { - "const": "component", - "type": "string" - }, - "placement": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "clip", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "content-slots", - "type": "string" - }, - "slots": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "ownership": { - "enum": [ - "reference", - "exclusive" - ], - "type": "string" - }, - "targetClipIds": { - "items": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "targetClipIds", - "ownership" - ], - "type": "object" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind", - "slots" - ], - "type": "object" - } - ] - }, - "props": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "retired": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "componentId", - "props" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "anchor": { - "additionalProperties": {}, - "properties": { - "space": { - "const": "scene", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "space", - "x", - "y" - ], - "type": "object" - }, - "kind": { - "const": "overlay", - "type": "string" - }, - "parallax": { - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "pattern": "^(?!custom$)", - "type": "string" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "primitiveId", - "params" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "component": { - "$ref": "#/$defs/__schema23" - }, - "kind": { - "const": "effect", - "type": "string" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "targetTrackIds": { - "items": { - "$ref": "#/$defs/__schema25" - }, - "minItems": 1, - "type": "array" - }, - "wrapperOrder": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "html": { - "description": "Self-contained card markup sized to the format's pixel frame. Motion comes from frame-driven vars, never @keyframes or transition: --cf-frame, --cf-t (seconds), --cf-fps, --cf-duration, --cf-progress, --cf-ease, --cf-enter, --cf-exit. Visible copy goes in the html as plain text. Wrap a run in <span data-cf-split=\"words\"> or \"chars\" and each unit becomes its own span carrying --cf-i (its index, the group carries --cf-n), so one rule staggers it (in chars, spaces count as units), e.g. opacity:clamp(0,calc(var(--cf-t)*4 - var(--cf-i)*.3),1). save_as_template binds that copy with textParams match.", - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "card", - "type": "string" - }, - "tokens": { - "$ref": "#/$defs/__schema26", - "description": "Style values the html reads as CSS custom properties: key x becomes --cf-x, so never put dashes in a key. Use tokens for colours and sizes, not visible copy.", - "propertyNames": { - "type": "string" - } - }, - "zPlane": { - "const": "front", - "type": "string" - } - }, - "required": [ - "kind", - "html" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "compositionId": { - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "composition", - "type": "string" - }, - "trim": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "compositionId" - ], - "type": "object" - } - ] -} - removed
Input schema / $defs / __schema100Removed value: -{ - "additionalProperties": false, - "description": "Merge style overrides (font/color/position/emphasis) onto the composition's caption layer. Partial — omitted fields keep their current value; creates the caption container if absent.", - "properties": { - "style": { - "$ref": "#/$defs/__schema102" - }, - "type": { - "$ref": "#/$defs/__schema101" - } - }, - "required": [ - "type", - "style" - ], - "type": "object" -} - removed
Input schema / $defs / __schema101Removed value: -{ - "const": "setCaptionStyle", - "type": "string" -} - removed
Input schema / $defs / __schema102Removed value: -{ - "additionalProperties": {}, - "properties": { - "annotationColor": { - "type": "string" - }, - "annotationStrokeWidth": { - "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.", - "maximum": 12, - "minimum": 0.5, - "type": "number" - }, - "annotationTexture": { - "description": "Native annotation stroke finish; default clean.", - "enum": [ - "clean", - "pencil" - ], - "type": "string" - }, - "backgroundColor": { - "type": "string" - }, - "color": { - "minLength": 1, - "type": "string" - }, - "emphasisColor": { - "type": "string" - }, - "emphasisFontFamily": { - "type": "string" - }, - "emphasisFontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "emphasisFontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "emphasisGradient": { - "type": "string" - }, - "emphasisLetterSpacing": { - "type": "number" - }, - "emphasisPlate": { - "type": "boolean" - }, - "emphasisPlateAltColor": { - "type": "string" - }, - "emphasisPlateAltTextColor": { - "type": "string" - }, - "emphasisPlateColor": { - "type": "string" - }, - "emphasisPlatePadX": { - "type": "number" - }, - "emphasisPlatePadY": { - "type": "number" - }, - "emphasisPlateRadius": { - "minimum": 0, - "type": "number" - }, - "emphasisPlateReveal": { - "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.", - "type": "boolean" - }, - "emphasisPlateTextColor": { - "type": "string" - }, - "emphasisScale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "emphasisTextTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "entrance": { - "enum": [ - "none", - "fade", - "word-pop", - "stagger-up" - ], - "type": "string" - }, - "entranceMs": { - "minimum": 0, - "type": "number" - }, - "entranceStaggerMs": { - "minimum": 0, - "type": "number" - }, - "exitMs": { - "minimum": 0, - "type": "number" - }, - "fontFamily": { - "minLength": 1, - "type": "string" - }, - "fontSize": { - "description": "Font size as % of composition height (1-15, default 5). NOT px.", - "maximum": 15, - "minimum": 1, - "type": "number" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "highlightColor": { - "minLength": 1, - "type": "string" - }, - "letterSpacing": { - "description": "Base caption glyph spacing in pixels.", - "maximum": 20, - "minimum": -5, - "type": "number" - }, - "lineGapEm": { - "description": "Gap between caption lines as a multiple of base font size; default 0.25.", - "maximum": 2, - "minimum": 0, - "type": "number" - }, - "maxWidthPercent": { - "exclusiveMinimum": 0, - "maximum": 100, - "type": "number" - }, - "plate": { - "enum": [ - "glass", - "solid", - "none" - ], - "type": "string" - }, - "position": { - "enum": [ - "top", - "center", - "bottom" - ], - "type": "string" - }, - "region": { - "additionalProperties": { - "$ref": "#/$defs/__schema107" - }, - "description": "Optional caption layout box {x,y,w,h} in normalized output-frame coordinates. Overrides position; text starts at its top edge and wraps/pages within its width and height.", - "properties": { - "h": { - "$ref": "#/$defs/__schema106" - }, - "w": { - "$ref": "#/$defs/__schema105" - }, - "x": { - "$ref": "#/$defs/__schema103" - }, - "y": { - "$ref": "#/$defs/__schema104" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "textTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "wordGapEm": { - "description": "Gap between caption runs as a multiple of base font size; default 0.35.", - "maximum": 2, - "minimum": 0, - "type": "number" - } - }, - "type": "object" -} - removed
Input schema / $defs / __schema103Removed value: -{ - "maximum": 1, - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema104Removed value: -{ - "maximum": 1, - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema105Removed value: -{ - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" -} - removed
Input schema / $defs / __schema106Removed value: -{ - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" -} - removed
Input schema / $defs / __schema107Removed value: -{} - removed
Input schema / $defs / __schema108Removed value: -{ - "additionalProperties": false, - "description": "Set the caption compositing plane. Use `behind-subject` to place captions behind the segmented foreground subject; use `front` for conventional captions above all video layers.", - "properties": { - "type": { - "$ref": "#/$defs/__schema109" - }, - "zPlane": { - "$ref": "#/$defs/__schema110" - } - }, - "required": [ - "type", - "zPlane" - ], - "type": "object" -} - removed
Input schema / $defs / __schema109Removed value: -{ - "const": "setCaptionDepth", - "type": "string" -} - removed
Input schema / $defs / __schema11Removed value: -{ - "additionalProperties": {}, - "properties": { - "bias": { - "additionalProperties": { - "$ref": "#/$defs/__schema22" - }, - "description": "Optional FINE framing nudge off the focus center, source-normalized in [−0.3, 0.3]. A small correction (headroom, rule-of-thirds), NOT a reframe — use `focus`/`zoom` for the actual shot. Omit (treated as 0) to sit dead-center on the focus.", - "properties": { - "x": { - "$ref": "#/$defs/__schema20" - }, - "y": { - "$ref": "#/$defs/__schema21" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "ease": { - "additionalProperties": { - "$ref": "#/$defs/__schema19" - }, - "description": "Zoom/center ramp DURATIONS in SECONDS at this segment's edges — NOT a unitless 0–1 curve. ~0.3–0.6s reads as a snappy push; >1s reads sluggish. Keep `in` + `out` ≤ the segment's duration (endSec − startSec): the two edges share the span, so to ramp across the WHOLE segment set one edge to the full duration and the other to 0. Omit for an instant cut to this framing.", - "properties": { - "in": { - "$ref": "#/$defs/__schema17" - }, - "out": { - "$ref": "#/$defs/__schema18" - } - }, - "required": [ - "in", - "out" - ], - "type": "object" - }, - "endSec": { - "description": "Segment END in seconds, clip-relative. The span (endSec − startSec) is this segment's duration — the window `ease` ramps over.", - "exclusiveMinimum": 0, - "type": "number" - }, - "focus": { - "description": "WHO/WHAT the camera tracks this segment (the reframe center), selected by `mode`: `frame-center` = no tracking, hold the geometric center (static/graphic footage, or a pure zoom); `point` = lock to a fixed source-normalized {x,y} (a non-moving on-screen element); `face` = track a detected face by `faceId` (from get_media_context), with optional `shotScale` close|standard|wide for tightness; `all-faces` = frame the bounding box of every detected face (group/ensemble shots); `active-speaker` = follow whoever is speaking (diarized talking-head / podcast). Pick by what the beat is about; pair with `zoom` for how tight.", - "oneOf": [ - { - "$ref": "#/$defs/__schema12" - }, - { - "$ref": "#/$defs/__schema13" - }, - { - "$ref": "#/$defs/__schema14" - }, - { - "$ref": "#/$defs/__schema15" - }, - { - "$ref": "#/$defs/__schema16" - } - ] - }, - "intent": { - "description": "Optional editorial LABEL for diff/log readability (e.g. 'speaker-tight', 'wide-context'). Cosmetic — NOT honored by the derive math and excluded from the variant cache key.", - "type": "string" - }, - "startSec": { - "description": "Segment START in seconds, clip-relative. Segments tile the clip's duration in order.", - "minimum": 0, - "type": "number" - }, - "zoom": { - "description": "How TIGHT the framing is — the fraction of the source the output viewport shows. <1 punches IN (a smaller source fraction, magnified to fill the frame); 1 = the full frame (no crop). ~0.6–0.8 is a moderate push-in, ~0.5 a tight close-up, 0.1 the maximum zoom. There is NO zoom-OUT past the full frame (max 1). Omit for the full frame. MUTUALLY EXCLUSIVE with `focus.shotScale`: a face-tracked shot is sized EITHER by the editorial scale (shotScale, calibrated to the detected face) OR by an explicit zoom — never both.", - "maximum": 1, - "minimum": 0.1, - "type": "number" - } - }, - "required": [ - "startSec", - "endSec", - "focus" - ], - "type": "object" -} - removed
Input schema / $defs / __schema110Removed value: -{ - "enum": [ - "front", - "behind-subject" - ], - "type": "string" -} - removed
Input schema / $defs / __schema111Removed value: -{ - "additionalProperties": false, - "description": "Replace the caption SEGMENTS wholesale — author the word-timed caption layer directly (each segment = one sentence/page of `words` with timeline-ms `startMs`/`endMs`, optional `emphasis`). This is how a client with its OWN word timings (e.g. a generated VO take) gets word-synced captions without a source transcript; the compose lane's transcript slice writes the same layer. `style`, when given, merges with setCaptionStyle semantics; an omitted style keeps the existing one. Renderer paginates within a segment and never pools words across two — keep segments sentence-bounded.", - "properties": { - "segments": { - "$ref": "#/$defs/__schema113" - }, - "style": { - "$ref": "#/$defs/__schema114" - }, - "type": { - "$ref": "#/$defs/__schema112" - } - }, - "required": [ - "type", - "segments" - ], - "type": "object" -} - removed
Input schema / $defs / __schema112Removed value: -{ - "const": "setCaptions", - "type": "string" -} - removed
Input schema / $defs / __schema113Removed value: -{ - "items": { - "additionalProperties": {}, - "properties": { - "words": { - "items": { - "additionalProperties": {}, - "properties": { - "annotate": { - "enum": [ - "circle", - "underline" - ], - "type": "string" - }, - "emphasis": { - "type": "boolean" - }, - "endMs": { - "description": "Word end on the composition timeline, in milliseconds.", - "minimum": 0, - "type": "number" - }, - "startMs": { - "description": "Word start on the composition timeline, in milliseconds.", - "minimum": 0, - "type": "number" - }, - "text": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "text", - "startMs", - "endMs" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "words" - ], - "type": "object" - }, - "type": "array" -} - removed
Input schema / $defs / __schema114Removed value: -{ - "$ref": "#/$defs/__schema102" -} - removed
Input schema / $defs / __schema115Removed value: -{ - "additionalProperties": false, - "description": "Replace native caption placements without changing transcript words or timings. Each layout references a half-open word-index range in one saved segment; a one-word range is valid. region places that group independently, optional bounded scale/rotation/style changes its look, and holdThroughWordIndex keeps it visible through a later saved word in the same segment. All words in a placed range occupy one page; rendering refuses a range that cannot fit its box, so enlarge region or split the range. The box reserves horizontal space of 1.6 font sizes and vertical space of 0.8 font sizes for padding, with at most three lines. Unreferenced words keep the default caption layout. Word ranges must not overlap. Reapply after caption regeneration or timeline cuts.", - "properties": { - "layouts": { - "$ref": "#/$defs/__schema117" - }, - "type": { - "$ref": "#/$defs/__schema116" - } - }, - "required": [ - "type", - "layouts" - ], - "type": "object" -} - removed
Input schema / $defs / __schema116Removed value: -{ - "const": "setCaptionLayouts", - "type": "string" -} - removed
Input schema / $defs / __schema117Removed value: -{ - "items": { - "additionalProperties": false, - "properties": { - "holdThroughWordIndex": { - "description": "Inclusive saved-word index in this segment. The layout stays visible until that word ends.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "region": { - "additionalProperties": {}, - "properties": { - "h": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "w": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "rotation": { - "maximum": 45, - "minimum": -45, - "type": "number" - }, - "scale": { - "maximum": 4, - "minimum": 0.25, - "type": "number" - }, - "segmentIndex": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "style": { - "additionalProperties": false, - "properties": { - "annotationColor": { - "type": "string" - }, - "annotationStrokeWidth": { - "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.", - "maximum": 12, - "minimum": 0.5, - "type": "number" - }, - "annotationTexture": { - "description": "Native annotation stroke finish; default clean.", - "enum": [ - "clean", - "pencil" - ], - "type": "string" - }, - "backgroundColor": { - "type": "string" - }, - "color": { - "minLength": 1, - "type": "string" - }, - "emphasisColor": { - "type": "string" - }, - "emphasisFontFamily": { - "type": "string" - }, - "emphasisFontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "emphasisFontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "emphasisLetterSpacing": { - "type": "number" - }, - "emphasisPlate": { - "type": "boolean" - }, - "emphasisPlateAltColor": { - "type": "string" - }, - "emphasisPlateAltTextColor": { - "type": "string" - }, - "emphasisPlateColor": { - "type": "string" - }, - "emphasisPlatePadX": { - "type": "number" - }, - "emphasisPlatePadY": { - "type": "number" - }, - "emphasisPlateRadius": { - "minimum": 0, - "type": "number" - }, - "emphasisPlateReveal": { - "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.", - "type": "boolean" - }, - "emphasisPlateTextColor": { - "type": "string" - }, - "emphasisScale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "emphasisTextTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "entrance": { - "enum": [ - "none", - "fade", - "word-pop", - "stagger-up" - ], - "type": "string" - }, - "entranceMs": { - "minimum": 0, - "type": "number" - }, - "entranceStaggerMs": { - "minimum": 0, - "type": "number" - }, - "exitMs": { - "minimum": 0, - "type": "number" - }, - "fontFamily": { - "minLength": 1, - "type": "string" - }, - "fontSize": { - "description": "Font size as % of composition height (1-15, default 5). NOT px.", - "maximum": 15, - "minimum": 1, - "type": "number" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "highlightColor": { - "minLength": 1, - "type": "string" - }, - "letterSpacing": { - "description": "Base caption glyph spacing in pixels.", - "maximum": 20, - "minimum": -5, - "type": "number" - }, - "lineGapEm": { - "description": "Gap between caption lines as a multiple of base font size; default 0.25.", - "maximum": 2, - "minimum": 0, - "type": "number" - }, - "plate": { - "enum": [ - "glass", - "solid", - "none" - ], - "type": "string" - }, - "textTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "wordGapEm": { - "description": "Gap between caption runs as a multiple of base font size; default 0.35.", - "maximum": 2, - "minimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "wordEndIndex": { - "description": "Exclusive word index in the saved caption segment.", - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "wordMarks": { - "items": { - "additionalProperties": false, - "properties": { - "annotate": { - "anyOf": [ - { - "enum": [ - "circle", - "underline" - ], - "type": "string" - }, - { - "type": "null" - } - ] - }, - "emphasis": { - "type": "boolean" - }, - "wordIndex": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "wordIndex" - ], - "type": "object" - }, - "type": "array" - }, - "wordStartIndex": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "segmentIndex", - "wordStartIndex", - "wordEndIndex", - "region" - ], - "type": "object" - }, - "type": "array" -} - removed
Input schema / $defs / __schema118Removed value: -{ - "additionalProperties": false, - "description": "Author a scene shot and place it on a dedicated overlay track. The host validates the scene, generates and registers an immutable wrapper component source, and emits the ordinary track/clip operations carrying `props.componentRef` — you edit a scene SPEC, never wrapper TSX or a source hash. Registration and the composition update are ONE undoable edit; a failure publishes nothing and leaves no clip pointing at an unresolved source. REQUIRED: `clipId`, `startTime`, `duration`, `scene` and `assets` (send `{}` when no layer references a slot), plus EXACTLY ONE of `trackId` (an existing dedicated scene track) or `newTrack: true` (mint one). A minted scene track is appended at the BACK like every new track, so it paints under existing tracks; raise it with `reorderTracks` (index 0 is the top layer). That track holds scene-shot clips and gaps only — no generic component/primitive/media clips in v1 — and existing generic overlay tracks are unaffected. Scene clips use front zPlane and full-frame placement: outer per-clip `region`, `position`, `scale`, `rotation`, `fit`, `effects`, keyframes (`tweens`/`automation`), `params.transition`, `params.sequenceGroup` and internal fadeIn/fadeOut are REFUSED with a path, because the shot's own layer transforms are the single transform owner. TEXT: `space: \"screen\"` text is composed above the world result, stays fixed in the frame and stays sharp through focus; `space: \"world\"` text is rasterized into the 3D scene, moves with the camera and is occluded by geometry. Screenshots and world text are UNLIT and colour-managed so product UI colours are not tinted by the studio lighting, while device bodies are lit and cast shadows; an unlit surface still occludes. SCOPE GAP (pre-existing, neither closed nor changed by scene shots): global wrap effects — composition-level grades and camera effects — do not reach front-overlay clips, so they do not affect a scene shot. Author the look INSIDE the shot (`post.grain`, `post.vignette`, `post.focus`, `backdrop`, `environment`) instead. DISCOVERY: there is no built-in scene primitive to look up in list_catalog; the wrapper this operation registers appears afterwards as an ordinary INSTALLED component under the existing catalog rules. ASSETS: `assets` binds each slot name a layer references to a media id in the same project, and the slot's declared KIND decides what it admits — an image slot takes PNG, JPEG or WebP, a video slot MP4 or WebM. Binding the wrong kind is refused with the slot's path.", - "properties": { - "assets": { - "$ref": "#/$defs/__schema197" - }, - "clipId": { - "$ref": "#/$defs/__schema120" - }, - "duration": { - "$ref": "#/$defs/__schema125" - }, - "newTrack": { - "$ref": "#/$defs/__schema122" - }, - "newTrackId": { - "$ref": "#/$defs/__schema123" - }, - "scene": { - "$ref": "#/$defs/__schema127" - }, - "startTime": { - "$ref": "#/$defs/__schema124" - }, - "trackId": { - "$ref": "#/$defs/__schema121" - }, - "transitionIn": { - "$ref": "#/$defs/__schema126" - }, - "type": { - "$ref": "#/$defs/__schema119" - } - }, - "required": [ - "type", - "clipId", - "startTime", - "duration", - "scene", - "assets" - ], - "type": "object" -} - removed
Input schema / $defs / __schema119Removed value: -{ - "const": "scene.add", - "type": "string" -} - removed
Input schema / $defs / __schema12Removed value: -{ - "additionalProperties": {}, - "properties": { - "mode": { - "const": "frame-center", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" -} - removed
Input schema / $defs / __schema120Removed value: -{ - "minLength": 1, - "type": "string" -} - removed
Input schema / $defs / __schema121Removed value: -{ - "minLength": 1, - "type": "string" -} - removed
Input schema / $defs / __schema122Removed value: -{ - "type": "boolean" -} - removed
Input schema / $defs / __schema123Removed value: -{ - "minLength": 1, - "type": "string" -} - removed
Input schema / $defs / __schema124Removed value: -{ - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema125Removed value: -{ - "exclusiveMinimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema126Removed value: -{ - "additionalProperties": {}, - "properties": { - "component": { - "$ref": "#/$defs/__schema23" - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "fromClipId": { - "minLength": 1, - "type": "string" - }, - "handlePolicy": { - "const": "outgoing-overrun-at-cut-v1", - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "toClipId": { - "minLength": 1, - "type": "string" - }, - "type": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "type", - "duration" - ], - "type": "object" -} - removed
Input schema / $defs / __schema127Removed value: -{ - "additionalProperties": false, - "description": "A version-2 scene shot: a self-contained 3D world-object shot that scene.add / scene.update materializes into an ordinary component clip. The shot owns its layers, camera, lighting, backdrop and normalized local animation; the composition owns start, duration, ordering, cuts and transitions. Coordinates are REFERENCE PIXELS: origin at frame centre, +X right, +Y down, +Z toward the viewer. referenceSize must have the SAME aspect ratio as the composition format; mismatch fails instead of cropping. At equal aspect ratio the shot scales uniformly by outputWidth/referenceWidth. A segment's easing belongs to the keyframe it ARRIVES at; the first keyframe has no easing. Authoring limits: 32 layers, 4 devices, 16 distinct image slots, 256 keyframes per channel, 2048 keyframes per shot. Version 2 supports nested groups, procedural slab/page/phone/laptop objects, screen- and world-space text, admitted image/component/video surfaces, fixed photographic and generated studio environments, transparent/solid/linear/radial backdrops, constraints, focus, grain and vignette. Raw HTML, custom shader props, imported GLB models, arbitrary external HDR environments, skeletal animation and physics are refused with an exact field path.", - "properties": { - "animation": { - "$ref": "#/$defs/__schema192" - }, - "backdrop": { - "$ref": "#/$defs/__schema138" - }, - "camera": { - "$ref": "#/$defs/__schema130" - }, - "constraints": { - "$ref": "#/$defs/__schema195" - }, - "environment": { - "$ref": "#/$defs/__schema137" - }, - "layers": { - "$ref": "#/$defs/__schema143" - }, - "post": { - "$ref": "#/$defs/__schema194" - }, - "referenceSize": { - "$ref": "#/$defs/__schema129" - }, - "version": { - "$ref": "#/$defs/__schema128" - } - }, - "required": [ - "version", - "referenceSize", - "layers" - ], - "type": "object" -} - removed
Input schema / $defs / __schema128Removed value: -{ - "const": 2, - "type": "number" -} - removed
Input schema / $defs / __schema129Removed value: -{ - "additionalProperties": false, - "properties": { - "height": { - "maximum": 8192, - "minimum": 16, - "type": "integer" - }, - "width": { - "maximum": 8192, - "minimum": 16, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" -} - removed
Input schema / $defs / __schema13Removed value: -{ - "additionalProperties": {}, - "properties": { - "mode": { - "const": "point", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "mode", - "x", - "y" - ], - "type": "object" -} - removed
Input schema / $defs / __schema130Removed value: -{ - "additionalProperties": false, - "properties": { - "fov": { - "maximum": 1.3962634015954636, - "minimum": 0.3141592653589793, - "type": "number" - }, - "position": { - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "$ref": "#/$defs/__schema131" - }, - { - "$ref": "#/$defs/__schema132" - }, - { - "$ref": "#/$defs/__schema133" - } - ], - "type": "array" - }, - "rotation": { - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "$ref": "#/$defs/__schema134" - }, - { - "$ref": "#/$defs/__schema135" - }, - { - "$ref": "#/$defs/__schema136" - } - ], - "type": "array" - } - }, - "type": "object" -} - removed
Input schema / $defs / __schema131Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema132Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema133Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema134Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema135Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema136Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema137Removed value: -{ - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "floorY": { - "default": -420, - "type": "number" - }, - "intensity": { - "default": 1, - "minimum": 0, - "type": "number" - }, - "kind": { - "const": "studio", - "type": "string" - }, - "lightingProfile": { - "default": "studio", - "enum": [ - "studio", - "studio-edge" - ], - "type": "string" - }, - "preset": { - "default": "soft", - "enum": [ - "soft", - "key", - "rim" - ], - "type": "string" - }, - "shadowOpacity": { - "default": 0.5, - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "photographic-studio-v1", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - } - ], - "default": { - "floorY": -420, - "intensity": 1, - "lightingProfile": "studio", - "preset": "soft", - "shadowOpacity": 0.5 - } -} - removed
Input schema / $defs / __schema138Removed value: -{ - "default": { - "kind": "transparent" - }, - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "transparent", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "kind": { - "const": "solid", - "type": "string" - } - }, - "required": [ - "kind", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "angle": { - "default": 0, - "type": "number" - }, - "kind": { - "const": "linear", - "type": "string" - }, - "stops": { - "items": { - "$ref": "#/$defs/__schema139" - }, - "maxItems": 8, - "minItems": 2, - "type": "array" - } - }, - "required": [ - "kind", - "stops" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "at": { - "default": [ - 0.5, - 0.5 - ], - "items": false, - "maxItems": 2, - "minItems": 2, - "prefixItems": [ - { - "$ref": "#/$defs/__schema140" - }, - { - "$ref": "#/$defs/__schema141" - } - ], - "type": "array" - }, - "kind": { - "const": "radial", - "type": "string" - }, - "stops": { - "items": { - "$ref": "#/$defs/__schema142" - }, - "maxItems": 8, - "minItems": 2, - "type": "array" - } - }, - "required": [ - "kind", - "stops" - ], - "type": "object" - } - ] -} - removed
Input schema / $defs / __schema139Removed value: -{ - "additionalProperties": false, - "properties": { - "at": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - } - }, - "required": [ - "at", - "color" - ], - "type": "object" -} - removed
Input schema / $defs / __schema14Removed value: -{ - "additionalProperties": {}, - "properties": { - "faceId": { - "minLength": 1, - "type": "string" - }, - "mode": { - "const": "face", - "type": "string" - }, - "shotScale": { - "enum": [ - "close", - "standard", - "wide" - ], - "type": "string" - } - }, - "required": [ - "mode", - "faceId" - ], - "type": "object" -} - removed
Input schema / $defs / __schema140Removed value: -{ - "maximum": 1, - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema141Removed value: -{ - "maximum": 1, - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema142Removed value: -{ - "additionalProperties": false, - "properties": { - "at": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - } - }, - "required": [ - "at", - "color" - ], - "type": "object" -} - removed
Input schema / $defs / __schema143Removed value: -{ - "items": { - "$ref": "#/$defs/__schema144" - }, - "minItems": 1, - "type": "array" -} - removed
Input schema / $defs / __schema144Removed value: -{ - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "children": { - "items": { - "$ref": "#/$defs/__schema151" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "group", - "type": "string" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "$ref": "#/$defs/__schema145" - }, - { - "$ref": "#/$defs/__schema146" - }, - { - "$ref": "#/$defs/__schema147" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "$ref": "#/$defs/__schema148" - }, - { - "$ref": "#/$defs/__schema149" - }, - { - "$ref": "#/$defs/__schema150" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - } - }, - "required": [ - "kind", - "id", - "children" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "laptop", - "type": "string" - }, - "materials": { - "$ref": "#/$defs/__schema158" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "openAngle": { - "maximum": 3.141592653589793, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "$ref": "#/$defs/__schema160" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "$ref": "#/$defs/__schema152" - }, - { - "$ref": "#/$defs/__schema153" - }, - { - "$ref": "#/$defs/__schema154" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "$ref": "#/$defs/__schema155" - }, - { - "$ref": "#/$defs/__schema156" - }, - { - "$ref": "#/$defs/__schema157" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 4000, - "minimum": 200, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "openAngle" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "phone", - "type": "string" - }, - "materials": { - "$ref": "#/$defs/__schema158" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "$ref": "#/$defs/__schema160" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "$ref": "#/$defs/__schema164" - }, - { - "$ref": "#/$defs/__schema165" - }, - { - "$ref": "#/$defs/__schema166" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "$ref": "#/$defs/__schema167" - }, - { - "$ref": "#/$defs/__schema168" - }, - { - "$ref": "#/$defs/__schema169" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 2000, - "minimum": 80, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "cornerRadius": { - "default": 32, - "minimum": 0, - "type": "number" - }, - "edgeRadius": { - "default": 15, - "minimum": 0, - "type": "number" - }, - "finish": { - "default": "satin", - "enum": [ - "satin", - "brushed" - ], - "type": "string" - }, - "height": { - "maximum": 8000, - "minimum": 40, - "type": "number" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "slab", - "type": "string" - }, - "materials": { - "$ref": "#/$defs/__schema158" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "$ref": "#/$defs/__schema160" - }, - "thickness": { - "default": 32, - "maximum": 200, - "minimum": 4, - "type": "number" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "$ref": "#/$defs/__schema170" - }, - { - "$ref": "#/$defs/__schema171" - }, - { - "$ref": "#/$defs/__schema172" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "$ref": "#/$defs/__schema173" - }, - { - "$ref": "#/$defs/__schema174" - }, - { - "$ref": "#/$defs/__schema175" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 8000, - "minimum": 40, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "height" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "backface": { - "default": "hidden", - "enum": [ - "hidden", - "visible" - ], - "type": "string" - }, - "depthWrite": { - "default": true, - "type": "boolean" - }, - "fit": { - "default": "contain", - "enum": [ - "contain", - "cover" - ], - "type": "string" - }, - "height": { - "maximum": 8000, - "minimum": 40, - "type": "number" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "page", - "type": "string" - }, - "materials": { - "$ref": "#/$defs/__schema158" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "$ref": "#/$defs/__schema160" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "$ref": "#/$defs/__schema176" - }, - { - "$ref": "#/$defs/__schema177" - }, - { - "$ref": "#/$defs/__schema178" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "$ref": "#/$defs/__schema179" - }, - { - "$ref": "#/$defs/__schema180" - }, - { - "$ref": "#/$defs/__schema181" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "transparency": { - "default": "straight", - "enum": [ - "straight", - "premultiplied", - "opaque" - ], - "type": "string" - }, - "width": { - "maximum": 8000, - "minimum": 40, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "height", - "surfaces" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "align": { - "default": "center", - "enum": [ - "left", - "center", - "right" - ], - "type": "string" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "fontFamily": { - "anyOf": [ - { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9 _.\\-]*$", - "type": "string" - }, - { - "enum": [ - "$brand:fonts.heading", - "$brand:fonts.body", - "$brand:fonts.caption" - ], - "type": "string" - } - ] - }, - "fontSize": { - "maximum": 800, - "minimum": 8, - "type": "number" - }, - "fontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "text", - "type": "string" - }, - "letterSpacing": { - "default": 0, - "maximum": 40, - "minimum": -20, - "type": "number" - }, - "lineHeight": { - "default": 1.2, - "maximum": 3, - "minimum": 0.6, - "type": "number" - }, - "lines": { - "items": { - "$ref": "#/$defs/__schema182" - }, - "maxItems": 24, - "minItems": 1, - "type": "array" - }, - "maxWidth": { - "exclusiveMinimum": 0, - "type": "number" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "space": { - "const": "world", - "type": "string" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "$ref": "#/$defs/__schema184" - }, - { - "$ref": "#/$defs/__schema185" - }, - { - "$ref": "#/$defs/__schema186" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "$ref": "#/$defs/__schema187" - }, - { - "$ref": "#/$defs/__schema188" - }, - { - "$ref": "#/$defs/__schema189" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - } - }, - "required": [ - "id", - "kind", - "lines", - "fontFamily", - "fontWeight", - "fontStyle", - "fontSize", - "color", - "space" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "align": { - "default": "center", - "enum": [ - "left", - "center", - "right" - ], - "type": "string" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "fontFamily": { - "anyOf": [ - { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9 _.\\-]*$", - "type": "string" - }, - { - "enum": [ - "$brand:fonts.heading", - "$brand:fonts.body", - "$brand:fonts.caption" - ], - "type": "string" - } - ] - }, - "fontSize": { - "maximum": 800, - "minimum": 8, - "type": "number" - }, - "fontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "text", - "type": "string" - }, - "letterSpacing": { - "default": 0, - "maximum": 40, - "minimum": -20, - "type": "number" - }, - "lineHeight": { - "default": 1.2, - "maximum": 3, - "minimum": 0.6, - "type": "number" - }, - "lines": { - "items": { - "$ref": "#/$defs/__schema190" - }, - "maxItems": 24, - "minItems": 1, - "type": "array" - }, - "maxWidth": { - "exclusiveMinimum": 0, - "type": "number" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "rotation": { - "default": 0, - "type": "number" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - }, - "space": { - "const": "screen", - "type": "string" - }, - "x": { - "type": "number" - }, - "y": { - "type": "number" - } - }, - "required": [ - "id", - "kind", - "lines", - "fontFamily", - "fontWeight", - "fontStyle", - "fontSize", - "color", - "space", - "x", - "y" - ], - "type": "object" - } - ] -} - removed
Input schema / $defs / __schema145Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema146Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema147Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema148Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema149Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema15Removed value: -{ - "additionalProperties": {}, - "properties": { - "mode": { - "const": "all-faces", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" -} - removed
Input schema / $defs / __schema150Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema151Removed value: -{ - "$ref": "#/$defs/__schema144" -} - removed
Input schema / $defs / __schema152Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema153Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema154Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema155Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema156Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema157Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema158Removed value: -{ - "items": { - "$ref": "#/$defs/__schema159" - }, - "maxItems": 16, - "type": "array" -} - removed
Input schema / $defs / __schema159Removed value: -{ - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" -} - removed
Input schema / $defs / __schema16Removed value: -{ - "additionalProperties": {}, - "properties": { - "mode": { - "const": "active-speaker", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" -} - removed
Input schema / $defs / __schema160Removed value: -{ - "additionalProperties": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "$ref": "#/$defs/__schema161" - }, - { - "$ref": "#/$defs/__schema162" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema163" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" -} - removed
Input schema / $defs / __schema161Removed value: -{ - "const": 2, - "type": "number" -} - removed
Input schema / $defs / __schema162Removed value: -{ - "const": 3, - "type": "number" -} - removed
Input schema / $defs / __schema163Removed value: -{ - "anyOf": [ - { - "type": "null" - }, - { - "type": "boolean" - }, - { - "type": "number" - }, - { - "type": "string" - }, - { - "items": { - "$ref": "#/$defs/__schema163" - }, - "type": "array" - }, - { - "additionalProperties": { - "$ref": "#/$defs/__schema163" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - ] -} - removed
Input schema / $defs / __schema164Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema165Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema166Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema167Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema168Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema169Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema17Removed value: -{ - "description": "Ease-IN ramp DURATION in seconds at the segment START.", - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema170Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema171Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema172Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema173Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema174Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema175Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema176Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema177Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema178Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema179Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema18Removed value: -{ - "description": "Ease-OUT ramp DURATION in seconds at the segment END.", - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema180Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema181Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema182Removed value: -{ - "additionalProperties": false, - "properties": { - "runs": { - "items": { - "$ref": "#/$defs/__schema183" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "runs" - ], - "type": "object" -} - removed
Input schema / $defs / __schema183Removed value: -{ - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "emphasis": { - "type": "boolean" - }, - "text": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^\\r\\n]+$", - "type": "string" - } - }, - "required": [ - "text" - ], - "type": "object" -} - removed
Input schema / $defs / __schema184Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema185Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema186Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema187Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema188Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema189Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema19Removed value: -{} - removed
Input schema / $defs / __schema190Removed value: -{ - "additionalProperties": false, - "properties": { - "runs": { - "items": { - "$ref": "#/$defs/__schema191" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "runs" - ], - "type": "object" -} - removed
Input schema / $defs / __schema191Removed value: -{ - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "emphasis": { - "type": "boolean" - }, - "text": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^\\r\\n]+$", - "type": "string" - } - }, - "required": [ - "text" - ], - "type": "object" -} - removed
Input schema / $defs / __schema192Removed value: -{ - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "keyframes": { - "items": { - "$ref": "#/$defs/__schema193" - }, - "maxItems": 256, - "minItems": 1, - "type": "array" - }, - "property": { - "enum": [ - "positionX", - "positionY", - "positionZ", - "rotationX", - "rotationY", - "rotationZ", - "fov", - "scale", - "opacity", - "openAngle", - "x", - "y", - "rotation", - "intensity", - "distance", - "range", - "maxBlur" - ], - "type": "string" - }, - "target": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "camera", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "layer", - "type": "string" - }, - "layerId": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - } - }, - "required": [ - "kind", - "layerId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "environment", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "focus", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - } - ] - } - }, - "required": [ - "target", - "property", - "keyframes" - ], - "type": "object" - }, - "type": "array" -} - removed
Input schema / $defs / __schema193Removed value: -{ - "additionalProperties": false, - "properties": { - "at": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "easing": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "linear", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "hold", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "bezier", - "type": "string" - }, - "x1": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "x2": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y1": { - "maximum": 5, - "minimum": -4, - "type": "number" - }, - "y2": { - "maximum": 5, - "minimum": -4, - "type": "number" - } - }, - "required": [ - "kind", - "x1", - "y1", - "x2", - "y2" - ], - "type": "object" - } - ] - }, - "value": { - "type": "number" - } - }, - "required": [ - "at", - "value" - ], - "type": "object" -} - removed
Input schema / $defs / __schema194Removed value: -{ - "additionalProperties": false, - "default": { - "focus": null, - "grain": 0, - "vignette": 0 - }, - "properties": { - "focus": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "distance": { - "exclusiveMinimum": 0, - "type": "number" - }, - "maxBlur": { - "maximum": 64, - "minimum": 0, - "type": "number" - }, - "range": { - "exclusiveMinimum": 0, - "type": "number" - } - }, - "required": [ - "distance", - "range", - "maxBlur" - ], - "type": "object" - }, - { - "type": "null" - } - ], - "default": null - }, - "grain": { - "default": 0, - "maximum": 0.5, - "minimum": 0, - "type": "number" - }, - "vignette": { - "default": 0, - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "type": "object" -} - removed
Input schema / $defs / __schema195Removed value: -{ - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "gap": { - "exclusiveMinimum": 0, - "type": "number" - }, - "kind": { - "const": "minSeparation", - "type": "string" - }, - "objects": { - "items": { - "$ref": "#/$defs/__schema196" - }, - "minItems": 2, - "type": "array" - } - }, - "required": [ - "kind", - "objects", - "gap" - ], - "type": "object" - }, - "type": "array" -} - removed
Input schema / $defs / __schema196Removed value: -{ - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" -} - removed
Input schema / $defs / __schema197Removed value: -{ - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "minLength": 1, - "type": "string" - }, - "type": "object" -} - removed
Input schema / $defs / __schema198Removed value: -{ - "additionalProperties": false, - "description": "Revise a scene shot in place by clip id. Send a replacement `scene` and/or `assets`; timing changes use the ordinary clip timing fields (`startTime`, `duration`, `transitionIn`). Omitted fields keep their persisted values and the MERGED result is re-validated as a whole, so a partial edit cannot leave the shot invalid. Changing only values or asset IDs updates props and bindings and REUSES the pinned source; changing the referenced SLOT SET regenerates the wrapper manifest and registers a new immutable source version atomically. Undo restores the source reference, spec, bindings and timing together. Topology, asset bindings, text content, font properties, device kind and colours are STATIC within a shot's animation — change them here (a revised spec) rather than trying to animate them. This is not a source trim or slip: a shortened or extended clip resamples the SAME normalized animation over its new duration, and trim/slip requests on generated animation are rejected rather than reinterpreted as media trims. In one batch, `scene.update` may target a shot added by an earlier `scene.add`. ASSETS: `assets` binds each slot name a layer references to a media id in the same project, and the slot's declared KIND decides what it admits — an image slot takes PNG, JPEG or WebP, a video slot MP4 or WebM. Binding the wrong kind is refused with the slot's path.", - "properties": { - "assets": { - "$ref": "#/$defs/__schema205" - }, - "clipId": { - "$ref": "#/$defs/__schema200" - }, - "duration": { - "$ref": "#/$defs/__schema202" - }, - "scene": { - "$ref": "#/$defs/__schema204" - }, - "startTime": { - "$ref": "#/$defs/__schema201" - }, - "transitionIn": { - "$ref": "#/$defs/__schema203" - }, - "type": { - "$ref": "#/$defs/__schema199" - } - }, - "required": [ - "type", - "clipId" - ], - "type": "object" -} - removed
Input schema / $defs / __schema199Removed value: -{ - "const": "scene.update", - "type": "string" -} - removed
Input schema / $defs / __schema2Removed value: -{ - "const": 4, - "type": "number" -} - removed
Input schema / $defs / __schema20Removed value: -{ - "description": "Horizontal nudge, source-normalized (+ = right).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" -} - removed
Input schema / $defs / __schema200Removed value: -{ - "minLength": 1, - "type": "string" -} - removed
Input schema / $defs / __schema201Removed value: -{ - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema202Removed value: -{ - "exclusiveMinimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema203Removed value: -{ - "additionalProperties": {}, - "properties": { - "component": { - "$ref": "#/$defs/__schema23" - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "fromClipId": { - "minLength": 1, - "type": "string" - }, - "handlePolicy": { - "const": "outgoing-overrun-at-cut-v1", - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "toClipId": { - "minLength": 1, - "type": "string" - }, - "type": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "type", - "duration" - ], - "type": "object" -} - removed
Input schema / $defs / __schema204Removed value: -{ - "$ref": "#/$defs/__schema127" -} - removed
Input schema / $defs / __schema205Removed value: -{ - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "minLength": 1, - "type": "string" - }, - "type": "object" -} - removed
Input schema / $defs / __schema206Removed value: -{ - "additionalProperties": false, - "description": "Materialize a clip's SOURCE-media temporal GRID as timeline markers — the rhythm authority you cut to. `grid:\"beat\"` reads a MUSIC bed's beat map (get_media_context.beatGrid), `grid:\"word\"` the VO word onsets (wordGrid); each grid point is projected from media time to TIMELINE time through the clip's placement (startTime, trim, playbackRate, excludedRanges) and written as a `kind:\"beat\"|\"word\"` marker (`metadata.sourceClipId` set). Points outside the clip's visible window are skipped. Re-running REPLACES the prior markers from the same clip+grid (idempotent). Land cuts and transition MIDPOINTS on the markers (a 0.5s transition starts 0.25s before its marker). `maxMarkers` (default 500, ceiling 2000) — exceeding it fails loud with the count. `grid:\"shot\"` is not yet exposed (shot_grid_unavailable). The target must be a media clip; absent evidence fails loud (grid_unavailable) naming how to get it (declare audioRole:\"music\" at ingest / transcribe).", - "properties": { - "clipId": { - "$ref": "#/$defs/__schema208" - }, - "grid": { - "$ref": "#/$defs/__schema209" - }, - "maxMarkers": { - "$ref": "#/$defs/__schema210" - }, - "type": { - "$ref": "#/$defs/__schema207" - } - }, - "required": [ - "type", - "clipId", - "grid" - ], - "type": "object" -} - removed
Input schema / $defs / __schema207Removed value: -{ - "const": "materializeGrid", - "type": "string" -} - removed
Input schema / $defs / __schema208Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema209Removed value: -{ - "enum": [ - "beat", - "word", - "shot" - ], - "type": "string" -} - removed
Input schema / $defs / __schema21Removed value: -{ - "description": "Vertical nudge, source-normalized (+ = down).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" -} - removed
Input schema / $defs / __schema210Removed value: -{ - "exclusiveMinimum": 0, - "maximum": 2000, - "type": "integer" -} - removed
Input schema / $defs / __schema211Removed value: -{ - "additionalProperties": false, - "description": "Attach caption CONTENT from the media's cached transcript — no pasting words. ROUTE-MATERIALIZED like materializeGrid: the server slices the word-timed transcript to `window` (source seconds; absent = the whole media), rebases times, sentence-splits into segments, and applies it as `setCaptions`. 422 media_no_transcript when the media has no transcript or no words in the window. For your OWN word timings use setCaptions directly. For edited multi-clip timelines, use captions.fromComposition after saving the edits; that operation projects all selected track clips, trims, exclusions, and placements.", - "properties": { - "mediaId": { - "$ref": "#/$defs/__schema213" - }, - "type": { - "$ref": "#/$defs/__schema212" - }, - "window": { - "$ref": "#/$defs/__schema214" - } - }, - "required": [ - "type", - "mediaId" - ], - "type": "object" -} - removed
Input schema / $defs / __schema212Removed value: -{ - "const": "captions.fromTranscript", - "type": "string" -} - removed
Input schema / $defs / __schema213Removed value: -{ - "minLength": 1, - "type": "string" -} - removed
Input schema / $defs / __schema214Removed value: -{ - "additionalProperties": false, - "properties": { - "endSec": { - "exclusiveMinimum": 0, - "type": "number" - }, - "startSec": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "startSec", - "endSec" - ], - "type": "object" -} - removed
Input schema / $defs / __schema215Removed value: -{ - "additionalProperties": false, - "description": "Snapshot word-timed captions from the SAVED edits on one explicit enabled video or audio track. The host reads each source media transcript, projects words through clip trim, excluded ranges and placement, then replaces the caption segments. This is route-materialized to setCaptions; call it AFTER persisting clip edits and call it again when those edits change. The existing caption style and depth are preserved. Missing transcripts, unsupported clips, inconsistent clip durations, and overlapping audible clips fail loud. Playback rate scales source word times and playable duration on both audio and video tracks.", - "properties": { - "trackId": { - "$ref": "#/$defs/__schema217" - }, - "type": { - "$ref": "#/$defs/__schema216" - } - }, - "required": [ - "type", - "trackId" - ], - "type": "object" -} - removed
Input schema / $defs / __schema216Removed value: -{ - "const": "captions.fromComposition", - "type": "string" -} - removed
Input schema / $defs / __schema217Removed value: -{ - "minLength": 1, - "type": "string" -} - removed
Input schema / $defs / __schema218Removed value: -{ - "additionalProperties": false, - "description": "Set the output format — `aspectRatio` (16:9|9:16|1:1|4:5) plus optional `fps` and `resolution`. Merges: an omitted field keeps the current value.", - "properties": { - "format": { - "$ref": "#/$defs/__schema220" - }, - "type": { - "$ref": "#/$defs/__schema219" - } - }, - "required": [ - "type", - "format" - ], - "type": "object" -} - removed
Input schema / $defs / __schema219Removed value: -{ - "const": "setFormat", - "type": "string" -} - removed
Input schema / $defs / __schema22Removed value: -{} - removed
Input schema / $defs / __schema220Removed value: -{ - "additionalProperties": {}, - "properties": { - "aspectRatio": { - "enum": [ - "16:9", - "9:16", - "1:1", - "4:5" - ], - "type": "string" - }, - "fps": { - "anyOf": [ - { - "const": 24, - "type": "number" - }, - { - "const": 25, - "type": "number" - }, - { - "const": 30, - "type": "number" - }, - { - "const": 60, - "type": "number" - } - ] - }, - "resolution": { - "enum": [ - "hd", - "fhd", - "4k" - ], - "type": "string" - } - }, - "required": [ - "aspectRatio" - ], - "type": "object" -} - removed
Input schema / $defs / __schema221Removed value: -{ - "additionalProperties": false, - "description": "Add an EMPTY track of a given family (video|audio|image|overlay|effect). Optional pinned `id`. The new track is appended, so it starts at the BACK: index 0 is the top layer and higher indices are further back (see `reorderTracks`). Track order is the paint order for every family: a card on a track behind a video or image track draws behind it.", - "properties": { - "id": { - "$ref": "#/$defs/__schema225" - }, - "kind": { - "$ref": "#/$defs/__schema223" - }, - "name": { - "$ref": "#/$defs/__schema224" - }, - "type": { - "$ref": "#/$defs/__schema222" - } - }, - "required": [ - "type", - "kind" - ], - "type": "object" -} - removed
Input schema / $defs / __schema222Removed value: -{ - "const": "addTrack", - "type": "string" -} - removed
Input schema / $defs / __schema223Removed value: -{ - "enum": [ - "video", - "audio", - "image", - "overlay", - "effect" - ], - "type": "string" -} - removed
Input schema / $defs / __schema224Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema225Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema226Removed value: -{ - "additionalProperties": false, - "description": "Remove a track AND all its clips by id.", - "properties": { - "trackId": { - "$ref": "#/$defs/__schema228" - }, - "type": { - "$ref": "#/$defs/__schema227" - } - }, - "required": [ - "type", - "trackId" - ], - "type": "object" -} - removed
Input schema / $defs / __schema227Removed value: -{ - "const": "removeTrack", - "type": "string" -} - removed
Input schema / $defs / __schema228Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema229Removed value: -{ - "additionalProperties": false, - "description": "Patch a track's `name` / `enabled` by id. Track volume is retired: set each clip's own volume.", - "properties": { - "trackId": { - "$ref": "#/$defs/__schema231" - }, - "type": { - "$ref": "#/$defs/__schema230" - }, - "updates": { - "$ref": "#/$defs/__schema232" - } - }, - "required": [ - "type", - "trackId", - "updates" - ], - "type": "object" -} - removed
Input schema / $defs / __schema23Removed value: -{ - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema24" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema24" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] -} - removed
Input schema / $defs / __schema230Removed value: -{ - "const": "updateTrack", - "type": "string" -} - removed
Input schema / $defs / __schema231Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema232Removed value: -{ - "additionalProperties": false, - "properties": { - "enabled": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "volume": { - "maximum": 4, - "minimum": 0, - "type": "number" - } - }, - "type": "object" -} - removed
Input schema / $defs / __schema233Removed value: -{ - "additionalProperties": false, - "description": "Move a track from one index to another. ORDER: index 0 is the TOP layer, not the bottom — moving a backdrop to index 0 puts it in FRONT of everything and hides the composition. Higher index = further back. Track order is the paint order for every family, so cards, overlays, images and video interleave by index: a backdrop card, a screenshot and a foreground card on three tracks stack in that order. The one exception is `zPlane:\"behind-subject\"`, which moves the overlay inside its host clip, behind the segmented foreground.", - "properties": { - "fromIndex": { - "$ref": "#/$defs/__schema235" - }, - "toIndex": { - "$ref": "#/$defs/__schema236" - }, - "type": { - "$ref": "#/$defs/__schema234" - } - }, - "required": [ - "type", - "fromIndex", - "toIndex" - ], - "type": "object" -} - removed
Input schema / $defs / __schema234Removed value: -{ - "const": "reorderTracks", - "type": "string" -} - removed
Input schema / $defs / __schema235Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema236Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema237Removed value: -{ - "additionalProperties": false, - "description": "Move a clip to another SAME-family track, optionally at a new `newStartTime`.", - "properties": { - "clipId": { - "$ref": "#/$defs/__schema239" - }, - "newStartTime": { - "$ref": "#/$defs/__schema241" - }, - "targetTrackId": { - "$ref": "#/$defs/__schema240" - }, - "type": { - "$ref": "#/$defs/__schema238" - } - }, - "required": [ - "type", - "clipId", - "targetTrackId" - ], - "type": "object" -} - removed
Input schema / $defs / __schema238Removed value: -{ - "const": "moveClipToTrack", - "type": "string" -} - removed
Input schema / $defs / __schema239Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema24Removed value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - }, - { - "items": { - "$ref": "#/$defs/__schema24" - }, - "type": "array" - }, - { - "additionalProperties": { - "$ref": "#/$defs/__schema24" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - ] -} - removed
Input schema / $defs / __schema240Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema241Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema242Removed value: -{ - "additionalProperties": false, - "description": "Duplicate a clip by id. Pin `newClipId` to make the copy's id deterministic (required for a clean undo/inverse).", - "properties": { - "clipId": { - "$ref": "#/$defs/__schema244" - }, - "newClipId": { - "$ref": "#/$defs/__schema245" - }, - "type": { - "$ref": "#/$defs/__schema243" - } - }, - "required": [ - "type", - "clipId" - ], - "type": "object" -} - removed
Input schema / $defs / __schema243Removed value: -{ - "const": "duplicateClip", - "type": "string" -} - removed
Input schema / $defs / __schema244Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema245Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema246Removed value: -{ - "additionalProperties": false, - "description": "Server-authoritative: delete the [start,end] time window (seconds) and ripple every downstream clip/marker/caption earlier to close the gap. Cuts apply sequentially in TIMELINE seconds: each cut moves everything after it, so a later cut's coordinates go stale once an earlier one lands. Plan several cuts back to front (latest first), or send them as one `cutRanges`. To drop spans inside one clip, `addExcludedRange` takes SOURCE seconds and is order-independent.", - "properties": { - "end": { - "$ref": "#/$defs/__schema249" - }, - "start": { - "$ref": "#/$defs/__schema248" - }, - "type": { - "$ref": "#/$defs/__schema247" - } - }, - "required": [ - "type", - "start", - "end" - ], - "type": "object" -} - removed
Input schema / $defs / __schema247Removed value: -{ - "const": "cutAndRipple", - "type": "string" -} - removed
Input schema / $defs / __schema248Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema249Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema25Removed value: -{ - "minLength": 1, - "type": "string" -} - removed
Input schema / $defs / __schema250Removed value: -{ - "additionalProperties": false, - "description": "Server-authoritative: delete several [start,end] windows (seconds) in one atomic edit, one undo step. Every range is in timeline seconds of the composition as it is BEFORE this op, in any order; overlapping and touching ranges merge. Each must satisfy 0 <= start < end <= the timeline's end. The cuts apply back to front with exactly `cutAndRipple`'s ripple (every track, markers and derived captions move earlier), so no coordinate goes stale.", - "properties": { - "ranges": { - "$ref": "#/$defs/__schema252" - }, - "type": { - "$ref": "#/$defs/__schema251" - } - }, - "required": [ - "type", - "ranges" - ], - "type": "object" -} - removed
Input schema / $defs / __schema251Removed value: -{ - "const": "cutRanges", - "type": "string" -} - removed
Input schema / $defs / __schema252Removed value: -{ - "items": { - "$ref": "#/$defs/__schema253" - }, - "minItems": 1, - "type": "array" -} - removed
Input schema / $defs / __schema253Removed value: -{ - "additionalProperties": false, - "properties": { - "end": { - "type": "number" - }, - "start": { - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" -} - removed
Input schema / $defs / __schema254Removed value: -{ - "additionalProperties": false, - "description": "Server-authoritative: shift everything at/after `time` (seconds) by `amount` seconds (+ opens a gap, − closes one).", - "properties": { - "amount": { - "$ref": "#/$defs/__schema257" - }, - "time": { - "$ref": "#/$defs/__schema256" - }, - "type": { - "$ref": "#/$defs/__schema255" - } - }, - "required": [ - "type", - "time", - "amount" - ], - "type": "object" -} - removed
Input schema / $defs / __schema255Removed value: -{ - "const": "ripple", - "type": "string" -} - removed
Input schema / $defs / __schema256Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema257Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema258Removed value: -{ - "additionalProperties": false, - "description": "Server-authoritative: exclude a [sourceStart,sourceEnd] span (seconds) of a clip's SOURCE (an internal trim) and ripple downstream — the preferred way to drop a sub-range vs a source patch. Coordinates are SOURCE seconds, which a cut or another exclusion never shifts, so several exclusions on one clip can be sent in any order.", - "properties": { - "clipId": { - "$ref": "#/$defs/__schema260" - }, - "reason": { - "$ref": "#/$defs/__schema263" - }, - "sourceEnd": { - "$ref": "#/$defs/__schema262" - }, - "sourceStart": { - "$ref": "#/$defs/__schema261" - }, - "type": { - "$ref": "#/$defs/__schema259" - } - }, - "required": [ - "type", - "clipId", - "sourceStart", - "sourceEnd" - ], - "type": "object" -} - removed
Input schema / $defs / __schema259Removed value: -{ - "const": "addExcludedRange", - "type": "string" -} - removed
Input schema / $defs / __schema26Removed value: -{ - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" -} - removed
Input schema / $defs / __schema260Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema261Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema262Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema263Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema264Removed value: -{ - "additionalProperties": false, - "description": "Server-authoritative: remove a clip's previously-added excluded range by index (re-includes that span, ripples downstream).", - "properties": { - "clipId": { - "$ref": "#/$defs/__schema266" - }, - "rangeIdx": { - "$ref": "#/$defs/__schema267" - }, - "type": { - "$ref": "#/$defs/__schema265" - } - }, - "required": [ - "type", - "clipId", - "rangeIdx" - ], - "type": "object" -} - removed
Input schema / $defs / __schema265Removed value: -{ - "const": "removeExcludedRange", - "type": "string" -} - removed
Input schema / $defs / __schema266Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema267Removed value: -{ - "type": "number" -} - removed
Input schema / $defs / __schema268Removed value: -{ - "additionalProperties": false, - "description": "Atomically repin explicit version3 invocations using complete before/after execution references and an exact composition etag. Persistence must canonically admit scoped source hashes, destination input schemas and every resulting target context before applying, including replay/undo. Never infer a latest head, downgrade versions or accept an admitted flag.", - "properties": { - "changes": { - "$ref": "#/$defs/__schema274" - }, - "componentId": { - "$ref": "#/$defs/__schema270" - }, - "expectedCompositionEtag": { - "$ref": "#/$defs/__schema273" - }, - "from": { - "$ref": "#/$defs/__schema271" - }, - "to": { - "$ref": "#/$defs/__schema272" - }, - "type": { - "$ref": "#/$defs/__schema269" - } - }, - "required": [ - "type", - "componentId", - "from", - "to", - "expectedCompositionEtag", - "changes" - ], - "type": "object" -} - removed
Input schema / $defs / __schema269Removed value: -{ - "const": "component.repin-v3", - "type": "string" -} - removed
Input schema / $defs / __schema27Removed value: -{ - "maximum": 2, - "minimum": -1, - "type": "number" -} - removed
Input schema / $defs / __schema270Removed value: -{ - "minLength": 1, - "type": "string" -} - removed
Input schema / $defs / __schema271Removed value: -{ - "pattern": "^[a-f0-9]{64}$", - "type": "string" -} - removed
Input schema / $defs / __schema272Removed value: -{ - "pattern": "^[a-f0-9]{64}$", - "type": "string" -} - removed
Input schema / $defs / __schema273Removed value: -{ - "minLength": 1, - "type": "string" -} - removed
Input schema / $defs / __schema274Removed value: -{ - "items": { - "$ref": "#/$defs/__schema275" - }, - "maxItems": 512, - "minItems": 1, - "type": "array" -} - removed
Input schema / $defs / __schema275Removed value: -{ - "additionalProperties": false, - "properties": { - "after": { - "$ref": "#/$defs/__schema23" - }, - "before": { - "$ref": "#/$defs/__schema23" - }, - "placementId": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "placementId", - "before", - "after" - ], - "type": "object" -} - removed
Input schema / $defs / __schema276Removed value: -{ - "maxLength": 128, - "minLength": 1, - "type": "string" -} - removed
Input schema / $defs / __schema28Removed value: -{ - "maximum": 2, - "minimum": -1, - "type": "number" -} - removed
Input schema / $defs / __schema29Removed value: -{} - removed
Input schema / $defs / __schema3Removed value: -{ - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "scope": { - "additionalProperties": false, - "properties": { - "collection": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "builtin", - "type": "string" - } - }, - "required": [ - "kind", - "collection" - ], - "type": "object" - }, - "sourceVersion": { - "anyOf": [ - { - "const": 3, - "type": "number" - }, - { - "const": 4, - "type": "number" - } - ] - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - } - }, - "required": [ - "scope", - "componentId", - "sourceVersionId", - "sourceVersion" - ], - "type": "object" -} - removed
Input schema / $defs / __schema30Removed value: -{ - "maximum": 1, - "minimum": 0, - "type": "number" -} - added
Input schema / $defs / __schema304Added value: +{ + "maxLength": 128, + "minLength": 1, + "type": "string" +} - removed
Input schema / $defs / __schema31Removed value: -{ - "maximum": 1, - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema32Removed value: -{ - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" -} - removed
Input schema / $defs / __schema33Removed value: -{ - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" -} - removed
Input schema / $defs / __schema34Removed value: -{} - removed
Input schema / $defs / __schema35Removed value: -{ - "additionalProperties": false, - "properties": { - "ease": { - "type": "string" - }, - "percentage": { - "type": "number" - }, - "properties": { - "additionalProperties": { - "type": "number" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - }, - "required": [ - "percentage", - "properties" - ], - "type": "object" -} - removed
Input schema / $defs / __schema36Removed value: -{ - "additionalProperties": false, - "properties": { - "t": { - "type": "number" - }, - "v": { - "type": "number" - } - }, - "required": [ - "t", - "v" - ], - "type": "object" -} - removed
Input schema / $defs / __schema37Removed value: -{ - "additionalProperties": false, - "properties": { - "creative": { - "additionalProperties": false, - "properties": { - "enabled": { - "type": "boolean" - }, - "mediaId": { - "type": "string" - }, - "sha256": { - "type": "string" - }, - "strength": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "mediaId", - "sha256", - "enabled", - "strength" - ], - "type": "object" - }, - "display": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "enabled": { - "type": "boolean" - }, - "mediaId": { - "type": "string" - }, - "sha256": { - "type": "string" - } - }, - "required": [ - "mediaId", - "sha256", - "enabled" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bundled": { - "enum": [ - "daylight-negative", - "tungsten-negative", - "soft-negative", - "slide", - "black-and-white" - ], - "type": "string" - }, - "enabled": { - "type": "boolean" - } - }, - "required": [ - "bundled", - "enabled" - ], - "type": "object" - } - ] - }, - "enabled": { - "type": "boolean" - }, - "grade": { - "additionalProperties": false, - "properties": { - "blacks": { - "maximum": 1, - "minimum": -1, - "type": "number" - }, - "contrast": { - "maximum": 1, - "minimum": -1, - "type": "number" - }, - "exposure": { - "maximum": 4, - "minimum": -4, - "type": "number" - }, - "highlights": { - "maximum": 1, - "minimum": -1, - "type": "number" - }, - "saturation": { - "maximum": 1, - "minimum": -1, - "type": "number" - }, - "shadows": { - "maximum": 1, - "minimum": -1, - "type": "number" - }, - "temperature": { - "maximum": 1, - "minimum": -1, - "type": "number" - }, - "tint": { - "maximum": 1, - "minimum": -1, - "type": "number" - }, - "vibrance": { - "maximum": 1, - "minimum": -1, - "type": "number" - }, - "whites": { - "maximum": 1, - "minimum": -1, - "type": "number" - } - }, - "required": [ - "exposure", - "contrast", - "highlights", - "shadows", - "whites", - "blacks", - "temperature", - "tint", - "vibrance", - "saturation" - ], - "type": "object" - }, - "grain": { - "additionalProperties": false, - "properties": { - "amount": { - "maximum": 2, - "minimum": 0, - "type": "number" - }, - "enabled": { - "type": "boolean" - }, - "gauge": { - "enum": [ - "super8", - "super16", - "super35", - "65mm" - ], - "type": "string" - }, - "profile": { - "enum": [ - "daylight-negative", - "tungsten-negative", - "soft-negative", - "slide", - "black-and-white" - ], - "type": "string" - }, - "seed": { - "maximum": 4294967295, - "minimum": 0, - "type": "integer" - }, - "size": { - "maximum": 4, - "minimum": 0.5, - "type": "number" - } - }, - "required": [ - "enabled", - "profile", - "gauge", - "amount", - "size", - "seed" - ], - "type": "object" - }, - "halation": { - "additionalProperties": false, - "properties": { - "amount": { - "maximum": 0.5, - "minimum": 0, - "type": "number" - }, - "enabled": { - "type": "boolean" - }, - "radius": { - "maximum": 0.02, - "minimum": 0.0005, - "type": "number" - }, - "threshold": { - "maximum": 16, - "minimum": 0, - "type": "number" - }, - "tint": { - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "$ref": "#/$defs/__schema39" - }, - { - "$ref": "#/$defs/__schema40" - }, - { - "$ref": "#/$defs/__schema41" - } - ], - "type": "array" - } - }, - "required": [ - "enabled", - "amount", - "radius", - "threshold", - "tint" - ], - "type": "object" - }, - "looks": { - "items": { - "$ref": "#/$defs/__schema38" - }, - "maxItems": 2, - "type": "array" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "enabled", - "grade", - "looks" - ], - "type": "object" -} - removed
Input schema / $defs / __schema38Removed value: -{ - "additionalProperties": false, - "properties": { - "enabled": { - "type": "boolean" - }, - "mediaId": { - "type": "string" - }, - "sha256": { - "type": "string" - } - }, - "required": [ - "mediaId", - "sha256", - "enabled" - ], - "type": "object" -} - removed
Input schema / $defs / __schema39Removed value: -{ - "maximum": 1, - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema4Removed value: -{ - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "expectedRevision": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "mode": { - "const": "exact", - "type": "string" - } - }, - "required": [ - "mode", - "expectedRevision" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "basis": { - "items": { - "$ref": "#/$defs/__schema5" - }, - "maxItems": 2048, - "type": "array" - }, - "compositionId": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "mode": { - "const": "guarded", - "type": "string" - }, - "observedRevision": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "mode", - "observedRevision", - "basis" - ], - "type": "object" - } - ] -} - removed
Input schema / $defs / __schema40Removed value: -{ - "maximum": 1, - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema41Removed value: -{ - "maximum": 1, - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema42Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema43Removed value: -{ - "type": "boolean" -} - removed
Input schema / $defs / __schema44Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema45Removed value: -{ - "additionalProperties": false, - "description": "Remove a clip by id (located across every track).", - "properties": { - "clipId": { - "$ref": "#/$defs/__schema47" - }, - "type": { - "$ref": "#/$defs/__schema46" - } - }, - "required": [ - "type", - "clipId" - ], - "type": "object" -} - removed
Input schema / $defs / __schema46Removed value: -{ - "const": "clip.remove", - "type": "string" -} - removed
Input schema / $defs / __schema47Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema48Removed value: -{ - "additionalProperties": false, - "description": "Set (or CLEAR, with `keyframes: null`) ONE keyframed channel of a clip: `opacity`, `scale`, `rotation`, `position.x`, `position.y` or `volume`, with at least two keyframes `{time, value, ease?}` in any order. `time` is seconds from the clip's own start (0 to its duration); `value` uses the property's own unit, as its scalar: opacity 0-1, scale a multiplier, rotation degrees, position.x/position.y a FRACTION of the frame (0.5 = centre, never px), volume 0-4. Each keyframe's optional `ease` shapes the segment ARRIVING at it, in HyperFrames' vocabulary: `none` (linear, the default), named eases such as `power2.out`, `back.out`, `expo.inOut`, `spring-gentle`, `hold`, or `custom(M0,0 Cx1,y1 x2,y2 1,1)` (a cubic, x in [0,1]). Before its first keyframe a channel holds its first value, after its last it holds the last; a channel OVERRIDES the clip's scalar (`opacity`, `scale`, `rotation`, `position`). The op REPLACES that property's keyframes; other channels are untouched. Volume keyframes are linear and only for a video or audio media clip. Trims and splits keep every keyframe on its content. Keyframes are stored as HyperFrames tweens (`tweens`) and automation (`automation`) on the clip; author them with this op, not `clip.update`.", - "properties": { - "clipId": { - "$ref": "#/$defs/__schema50" - }, - "keyframes": { - "$ref": "#/$defs/__schema52" - }, - "property": { - "$ref": "#/$defs/__schema51" - }, - "type": { - "$ref": "#/$defs/__schema49" - } - }, - "required": [ - "type", - "clipId", - "property", - "keyframes" - ], - "type": "object" -} - removed
Input schema / $defs / __schema49Removed value: -{ - "const": "clip.setKeyframes", - "type": "string" -} - removed
Input schema / $defs / __schema5Removed value: -{ - "additionalProperties": false, - "properties": { - "key": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "token": { - "maxLength": 65536, - "type": "string" - } - }, - "required": [ - "key", - "token" - ], - "type": "object" -} - removed
Input schema / $defs / __schema50Removed value: -{ - "minLength": 1, - "type": "string" -} - removed
Input schema / $defs / __schema51Removed value: -{ - "enum": [ - "opacity", - "scale", - "rotation", - "position.x", - "position.y", - "volume" - ], - "type": "string" -} - removed
Input schema / $defs / __schema52Removed value: -{ - "anyOf": [ - { - "items": { - "$ref": "#/$defs/__schema53" - }, - "minItems": 2, - "type": "array" - }, - { - "type": "null" - } - ] -} - removed
Input schema / $defs / __schema53Removed value: -{ - "additionalProperties": false, - "properties": { - "ease": { - "type": "string" - }, - "time": { - "minimum": 0, - "type": "number" - }, - "value": { - "type": "number" - } - }, - "required": [ - "time", - "value" - ], - "type": "object" -} - removed
Input schema / $defs / __schema54Removed value: -{ - "additionalProperties": false, - "description": "Patch an existing clip by id (cross-family). The patch is a partial TimelineClip. NOTE: `source` is REPLACED wholesale — the patch merges at the top level only, so a partial `source` WIPES the source fields you omit. Patch the whole source object when changing it. (To change reframe/excluded ranges, prefer setCropIntents / addExcludedRange, not a source patch.)", - "properties": { - "clipId": { - "$ref": "#/$defs/__schema56" - }, - "patch": { - "$ref": "#/$defs/__schema57" - }, - "type": { - "$ref": "#/$defs/__schema55" - } - }, - "required": [ - "type", - "clipId", - "patch" - ], - "type": "object" -} - removed
Input schema / $defs / __schema55Removed value: -{ - "const": "clip.update", - "type": "string" -} - removed
Input schema / $defs / __schema56Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema57Removed value: -{ - "additionalProperties": false, - "properties": { - "automation": { - "additionalProperties": false, - "properties": { - "lanes": { - "items": { - "additionalProperties": false, - "properties": { - "points": { - "items": { - "$ref": "#/$defs/__schema67" - }, - "minItems": 2, - "type": "array" - }, - "target": { - "const": "volume", - "type": "string" - } - }, - "required": [ - "target", - "points" - ], - "type": "object" - }, - "type": "array" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "lanes" - ], - "type": "object" - }, - "captionVisibility": { - "description": "Video media clip only. Hide native captions while this clip is topmost and covers the lower picture, or when an opaque, effect-free clip has an explicitly full-frame region, even with fit:contain. Caption words and timings remain stored and resume when another visible clip takes over.", - "enum": [ - "visible", - "hidden" - ], - "type": "string" - }, - "color": { - "$ref": "#/$defs/__schema37" - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "effects": { - "items": { - "additionalProperties": false, - "properties": { - "component": { - "$ref": "#/$defs/__schema23" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "window": { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "startTime": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "startTime", - "duration" - ], - "type": "object" - } - }, - "type": "object" - }, - "type": "array" - }, - "fit": { - "enum": [ - "cover", - "contain" - ], - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "kind": { - "enum": [ - "video", - "audio", - "image", - "overlay", - "effect" - ], - "type": "string" - }, - "legacyKeyframes": { - "additionalProperties": false, - "properties": { - "channels": { - "items": { - "type": "string" - }, - "type": "array" - }, - "needsUpgrade": { - "const": true, - "type": "boolean" - }, - "record": {} - }, - "required": [ - "needsUpgrade", - "channels", - "record" - ], - "type": "object" - }, - "linkGroupId": { - "minLength": 1, - "type": "string" - }, - "opacity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "position": { - "additionalProperties": { - "$ref": "#/$defs/__schema60" - }, - "description": "Clip CENTRE as a fraction of the frame: {x:0.5,y:0.5} is dead centre, 0 to 1 is inside the frame, and a little overshoot (down to -1, up to 2) is how an entrance starts off-canvas. NOT pixels: the renderer maps x to `left: x*100%`, so `x: 180` sits 180 frame-widths away and draws nothing.", - "properties": { - "x": { - "$ref": "#/$defs/__schema58" - }, - "y": { - "$ref": "#/$defs/__schema59" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "region": { - "additionalProperties": { - "$ref": "#/$defs/__schema65" - }, - "description": "A window in the frame that the clip draws into and is clipped to (top-left corner and size, each a frame fraction). Inside a region, `position` and `scale` act relative to that window, so content moved past its edge is cut off. Omit it to place the clip against the whole frame.", - "properties": { - "h": { - "$ref": "#/$defs/__schema64" - }, - "w": { - "$ref": "#/$defs/__schema63" - }, - "x": { - "$ref": "#/$defs/__schema61" - }, - "y": { - "$ref": "#/$defs/__schema62" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "rotation": { - "type": "number" - }, - "scale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "source": { - "$ref": "#/$defs/__schema10" - }, - "startTime": { - "minimum": 0, - "type": "number" - }, - "transitionIn": { - "additionalProperties": {}, - "properties": { - "component": { - "$ref": "#/$defs/__schema23" - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "fromClipId": { - "minLength": 1, - "type": "string" - }, - "handlePolicy": { - "const": "outgoing-overrun-at-cut-v1", - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "toClipId": { - "minLength": 1, - "type": "string" - }, - "type": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "type", - "duration" - ], - "type": "object" - }, - "tweens": { - "items": { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "keyframes": { - "additionalProperties": false, - "properties": { - "easeEach": { - "const": "none", - "type": "string" - }, - "format": { - "const": "percentage", - "type": "string" - }, - "keyframes": { - "items": { - "$ref": "#/$defs/__schema66" - }, - "minItems": 2, - "type": "array" - } - }, - "required": [ - "format", - "easeEach", - "keyframes" - ], - "type": "object" - }, - "position": { - "type": "number" - }, - "propertyGroup": { - "enum": [ - "visual", - "scale", - "rotation", - "position" - ], - "type": "string" - } - }, - "required": [ - "id", - "propertyGroup", - "position", - "duration", - "keyframes" - ], - "type": "object" - }, - "type": "array" - } - }, - "type": "object" -} - removed
Input schema / $defs / __schema58Removed value: -{ - "maximum": 2, - "minimum": -1, - "type": "number" -} - removed
Input schema / $defs / __schema59Removed value: -{ - "maximum": 2, - "minimum": -1, - "type": "number" -} - removed
Input schema / $defs / __schema6Removed value: -{ - "additionalProperties": false, - "properties": { - "concurrency": { - "$ref": "#/$defs/__schema4" - }, - "operation": { - "description": "One scoped composition operation. Discriminated by `type` — `clip.add` / `clip.remove` / `clip.update` patch clips across any family; the rest cover markers, reframe, effects, captions, format, tracks, and the server-authoritative ripple recomputes. Every variant is `.strict()`: an unknown field is refused, not ignored.", - "oneOf": [ - { - "$ref": "#/$defs/__schema7" - }, - { - "$ref": "#/$defs/__schema45" - }, - { - "$ref": "#/$defs/__schema48" - }, - { - "$ref": "#/$defs/__schema54" - }, - { - "$ref": "#/$defs/__schema68" - }, - { - "$ref": "#/$defs/__schema71" - }, - { - "$ref": "#/$defs/__schema74" - }, - { - "$ref": "#/$defs/__schema77" - }, - { - "$ref": "#/$defs/__schema80" - }, - { - "$ref": "#/$defs/__schema84" - }, - { - "$ref": "#/$defs/__schema88" - }, - { - "$ref": "#/$defs/__schema92" - }, - { - "$ref": "#/$defs/__schema96" - }, - { - "$ref": "#/$defs/__schema100" - }, - { - "$ref": "#/$defs/__schema108" - }, - { - "$ref": "#/$defs/__schema111" - }, - { - "$ref": "#/$defs/__schema115" - }, - { - "$ref": "#/$defs/__schema118" - }, - { - "$ref": "#/$defs/__schema198" - }, - { - "$ref": "#/$defs/__schema206" - }, - { - "$ref": "#/$defs/__schema211" - }, - { - "$ref": "#/$defs/__schema215" - }, - { - "$ref": "#/$defs/__schema218" - }, - { - "$ref": "#/$defs/__schema221" - }, - { - "$ref": "#/$defs/__schema226" - }, - { - "$ref": "#/$defs/__schema229" - }, - { - "$ref": "#/$defs/__schema233" - }, - { - "$ref": "#/$defs/__schema237" - }, - { - "$ref": "#/$defs/__schema242" - }, - { - "$ref": "#/$defs/__schema246" - }, - { - "$ref": "#/$defs/__schema250" - }, - { - "$ref": "#/$defs/__schema254" - }, - { - "$ref": "#/$defs/__schema258" - }, - { - "$ref": "#/$defs/__schema264" - }, - { - "$ref": "#/$defs/__schema268" - } - ] - }, - "operationId": { - "maxLength": 128, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "operationId", - "operation" - ], - "type": "object" -} - removed
Input schema / $defs / __schema60Removed value: -{} - removed
Input schema / $defs / __schema61Removed value: -{ - "maximum": 1, - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema62Removed value: -{ - "maximum": 1, - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema63Removed value: -{ - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" -} - removed
Input schema / $defs / __schema64Removed value: -{ - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" -} - removed
Input schema / $defs / __schema65Removed value: -{} - removed
Input schema / $defs / __schema66Removed value: -{ - "additionalProperties": false, - "properties": { - "ease": { - "type": "string" - }, - "percentage": { - "type": "number" - }, - "properties": { - "additionalProperties": { - "type": "number" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - }, - "required": [ - "percentage", - "properties" - ], - "type": "object" -} - removed
Input schema / $defs / __schema67Removed value: -{ - "additionalProperties": false, - "properties": { - "t": { - "type": "number" - }, - "v": { - "type": "number" - } - }, - "required": [ - "t", - "v" - ], - "type": "object" -} - removed
Input schema / $defs / __schema68Removed value: -{ - "additionalProperties": false, - "description": "Remove EVERY clip sourced from a given mediaId (e.g. after deleting that media).", - "properties": { - "mediaId": { - "$ref": "#/$defs/__schema70" - }, - "type": { - "$ref": "#/$defs/__schema69" - } - }, - "required": [ - "type", - "mediaId" - ], - "type": "object" -} - removed
Input schema / $defs / __schema69Removed value: -{ - "const": "removeClipsByMediaId", - "type": "string" -} - removed
Input schema / $defs / __schema7Removed value: -{ - "additionalProperties": false, - "description": "Add a clip to the timeline. The clip self-routes to a track by FAMILY (`clip.kind`, else derived from `source.kind`, else the target track) — a `media` clip MUST carry `kind` (video|audio|image) or a `trackId`, else it is rejected as ambiguous. `trackId` targets an existing SAME-family track; `newTrack:true` (with optional pinned `newTrackId`) creates a fresh track of that family, appended at the BACK (the highest index, painted under every other track); raise it with `reorderTracks` (index 0 is the top layer).", - "properties": { - "clip": { - "$ref": "#/$defs/__schema9" - }, - "newTrack": { - "$ref": "#/$defs/__schema43" - }, - "newTrackId": { - "$ref": "#/$defs/__schema44" - }, - "trackId": { - "$ref": "#/$defs/__schema42" - }, - "type": { - "$ref": "#/$defs/__schema8" - } - }, - "required": [ - "type", - "clip" - ], - "type": "object" -} - removed
Input schema / $defs / __schema70Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema71Removed value: -{ - "additionalProperties": false, - "description": "Replace the overlay channel wholesale with the given clips (bulk set, not a merge).", - "properties": { - "clips": { - "$ref": "#/$defs/__schema73" - }, - "type": { - "$ref": "#/$defs/__schema72" - } - }, - "required": [ - "type", - "clips" - ], - "type": "object" -} - removed
Input schema / $defs / __schema72Removed value: -{ - "const": "loadOverlays", - "type": "string" -} - removed
Input schema / $defs / __schema73Removed value: -{ - "items": { - "$ref": "#/$defs/__schema9" - }, - "type": "array" -} - removed
Input schema / $defs / __schema74Removed value: -{ - "additionalProperties": false, - "description": "Add a timeline marker (a named time point/range; carry extensions in `metadata`).", - "properties": { - "marker": { - "$ref": "#/$defs/__schema76" - }, - "type": { - "$ref": "#/$defs/__schema75" - } - }, - "required": [ - "type", - "marker" - ], - "type": "object" -} - removed
Input schema / $defs / __schema75Removed value: -{ - "const": "addMarker", - "type": "string" -} - removed
Input schema / $defs / __schema76Removed value: -{ - "additionalProperties": false, - "properties": { - "endTime": { - "minimum": 0, - "type": "number" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "kind": { - "minLength": 1, - "type": "string" - }, - "metadata": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "name": { - "type": "string" - }, - "startTime": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "id", - "startTime", - "kind" - ], - "type": "object" -} - removed
Input schema / $defs / __schema77Removed value: -{ - "additionalProperties": false, - "description": "Remove a marker by id.", - "properties": { - "markerId": { - "$ref": "#/$defs/__schema79" - }, - "type": { - "$ref": "#/$defs/__schema78" - } - }, - "required": [ - "type", - "markerId" - ], - "type": "object" -} - removed
Input schema / $defs / __schema78Removed value: -{ - "const": "removeMarker", - "type": "string" -} - removed
Input schema / $defs / __schema79Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema8Removed value: -{ - "const": "clip.add", - "type": "string" -} - removed
Input schema / $defs / __schema80Removed value: -{ - "additionalProperties": false, - "description": "Patch a marker's fields by id (partial merge).", - "properties": { - "markerId": { - "$ref": "#/$defs/__schema82" - }, - "type": { - "$ref": "#/$defs/__schema81" - }, - "updates": { - "$ref": "#/$defs/__schema83" - } - }, - "required": [ - "type", - "markerId", - "updates" - ], - "type": "object" -} - removed
Input schema / $defs / __schema81Removed value: -{ - "const": "updateMarker", - "type": "string" -} - removed
Input schema / $defs / __schema82Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema83Removed value: -{ - "additionalProperties": false, - "properties": { - "endTime": { - "minimum": 0, - "type": "number" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "kind": { - "minLength": 1, - "type": "string" - }, - "metadata": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "name": { - "type": "string" - }, - "startTime": { - "minimum": 0, - "type": "number" - } - }, - "type": "object" -} - removed
Input schema / $defs / __schema84Removed value: -{ - "additionalProperties": false, - "description": "Set (or CLEAR, with `segments: null`) the camera/reframe channel on a MEDIA clip — the time-aligned source→output viewport (focus, zoom, ease, bias). This is the PREFERRED way to author reframing; do NOT reframe via a whole-source `clip.update` patch. Segments tile the clip's duration.", - "properties": { - "clipId": { - "$ref": "#/$defs/__schema86" - }, - "segments": { - "$ref": "#/$defs/__schema87" - }, - "type": { - "$ref": "#/$defs/__schema85" - } - }, - "required": [ - "type", - "clipId", - "segments" - ], - "type": "object" -} - removed
Input schema / $defs / __schema85Removed value: -{ - "const": "setCropIntents", - "type": "string" -} - removed
Input schema / $defs / __schema86Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema87Removed value: -{ - "anyOf": [ - { - "items": { - "$ref": "#/$defs/__schema11" - }, - "type": "array" - }, - { - "type": "null" - } - ] -} - removed
Input schema / $defs / __schema88Removed value: -{ - "additionalProperties": false, - "description": "Set (or CLEAR, with `effects: []`) a clip's EFFECT channel — the pinned component clip wrappers stacked onto that clip, each `{id, component, window}`: a unique `id`, the wrapper component's execution pin as `component`, and `window: {startTime, duration}` in seconds. The built-in primitive effects were removed: a stored one reads, and save and render refuse it (`effect_retired`), so clear it with `effects: []`. WHOLESALE: the array REPLACES the clip's current effects, so send the full stack (read the clip first to add one). This is the ONLY way to change effects on an existing clip — do NOT reach for a `clip.update` patch, whose top-level merge is the source-clobbering footgun documented above.", - "properties": { - "clipId": { - "$ref": "#/$defs/__schema90" - }, - "effects": { - "$ref": "#/$defs/__schema91" - }, - "type": { - "$ref": "#/$defs/__schema89" - } - }, - "required": [ - "type", - "clipId", - "effects" - ], - "type": "object" -} - removed
Input schema / $defs / __schema89Removed value: -{ - "const": "setEffects", - "type": "string" -} - removed
Input schema / $defs / __schema9Removed value: -{ - "additionalProperties": false, - "properties": { - "automation": { - "additionalProperties": false, - "properties": { - "lanes": { - "items": { - "additionalProperties": false, - "properties": { - "points": { - "items": { - "$ref": "#/$defs/__schema36" - }, - "minItems": 2, - "type": "array" - }, - "target": { - "const": "volume", - "type": "string" - } - }, - "required": [ - "target", - "points" - ], - "type": "object" - }, - "type": "array" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "lanes" - ], - "type": "object" - }, - "captionVisibility": { - "description": "Video media clip only. Hide native captions while this clip is topmost and covers the lower picture, or when an opaque, effect-free clip has an explicitly full-frame region, even with fit:contain. Caption words and timings remain stored and resume when another visible clip takes over.", - "enum": [ - "visible", - "hidden" - ], - "type": "string" - }, - "color": { - "$ref": "#/$defs/__schema37" - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "effects": { - "items": { - "additionalProperties": false, - "properties": { - "component": { - "$ref": "#/$defs/__schema23" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "window": { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "startTime": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "startTime", - "duration" - ], - "type": "object" - } - }, - "type": "object" - }, - "type": "array" - }, - "fit": { - "enum": [ - "cover", - "contain" - ], - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "kind": { - "enum": [ - "video", - "audio", - "image", - "overlay", - "effect" - ], - "type": "string" - }, - "legacyKeyframes": { - "additionalProperties": false, - "properties": { - "channels": { - "items": { - "type": "string" - }, - "type": "array" - }, - "needsUpgrade": { - "const": true, - "type": "boolean" - }, - "record": {} - }, - "required": [ - "needsUpgrade", - "channels", - "record" - ], - "type": "object" - }, - "linkGroupId": { - "minLength": 1, - "type": "string" - }, - "opacity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "position": { - "additionalProperties": { - "$ref": "#/$defs/__schema29" - }, - "description": "Clip CENTRE as a fraction of the frame: {x:0.5,y:0.5} is dead centre, 0 to 1 is inside the frame, and a little overshoot (down to -1, up to 2) is how an entrance starts off-canvas. NOT pixels: the renderer maps x to `left: x*100%`, so `x: 180` sits 180 frame-widths away and draws nothing.", - "properties": { - "x": { - "$ref": "#/$defs/__schema27" - }, - "y": { - "$ref": "#/$defs/__schema28" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "region": { - "additionalProperties": { - "$ref": "#/$defs/__schema34" - }, - "description": "A window in the frame that the clip draws into and is clipped to (top-left corner and size, each a frame fraction). Inside a region, `position` and `scale` act relative to that window, so content moved past its edge is cut off. Omit it to place the clip against the whole frame.", - "properties": { - "h": { - "$ref": "#/$defs/__schema33" - }, - "w": { - "$ref": "#/$defs/__schema32" - }, - "x": { - "$ref": "#/$defs/__schema30" - }, - "y": { - "$ref": "#/$defs/__schema31" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "rotation": { - "type": "number" - }, - "scale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "source": { - "$ref": "#/$defs/__schema10" - }, - "startTime": { - "minimum": 0, - "type": "number" - }, - "transitionIn": { - "additionalProperties": {}, - "properties": { - "component": { - "$ref": "#/$defs/__schema23" - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "fromClipId": { - "minLength": 1, - "type": "string" - }, - "handlePolicy": { - "const": "outgoing-overrun-at-cut-v1", - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "toClipId": { - "minLength": 1, - "type": "string" - }, - "type": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "type", - "duration" - ], - "type": "object" - }, - "tweens": { - "items": { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "keyframes": { - "additionalProperties": false, - "properties": { - "easeEach": { - "const": "none", - "type": "string" - }, - "format": { - "const": "percentage", - "type": "string" - }, - "keyframes": { - "items": { - "$ref": "#/$defs/__schema35" - }, - "minItems": 2, - "type": "array" - } - }, - "required": [ - "format", - "easeEach", - "keyframes" - ], - "type": "object" - }, - "position": { - "type": "number" - }, - "propertyGroup": { - "enum": [ - "visual", - "scale", - "rotation", - "position" - ], - "type": "string" - } - }, - "required": [ - "id", - "propertyGroup", - "position", - "duration", - "keyframes" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "id", - "startTime", - "duration", - "source" - ], - "type": "object" -} - removed
Input schema / $defs / __schema90Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema91Removed value: -{ - "items": { - "additionalProperties": false, - "properties": { - "component": { - "$ref": "#/$defs/__schema23" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "window": { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "startTime": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "startTime", - "duration" - ], - "type": "object" - } - }, - "type": "object" - }, - "type": "array" -} - removed
Input schema / $defs / __schema92Removed value: -{ - "additionalProperties": false, - "description": "Set (or CLEAR, with `inputTransform: null`) how a MEDIA's pixels are decoded into the working color space, for every clip of that media: `{version: 1, id, table?, ycbcr?}` with `id` one of rec709, insta360-ilog, custom-lut, apple-log. `custom-lut` is a camera LUT (log → Rec.709, e.g. DJI's D-Log M LUT): it requires `table: {mediaId, sha256, enabled}` naming an uploaded .cube LUT, and its output is read as Rec.709 footage; the others take no table. `ycbcr: {matrix, range}` overrides the source's signalled YCbCr matrix and range. The entry lives in the composition's `media` map; the media must be used by a clip in this composition, and removing its last clip removes the entry. To set a camera input for many media, send one `setMediaInputTransform` per media in a single `apply_composition` call.", - "properties": { - "inputTransform": { - "$ref": "#/$defs/__schema95" - }, - "mediaId": { - "$ref": "#/$defs/__schema94" - }, - "type": { - "$ref": "#/$defs/__schema93" - } - }, - "required": [ - "type", - "mediaId", - "inputTransform" - ], - "type": "object" -} - removed
Input schema / $defs / __schema93Removed value: -{ - "const": "setMediaInputTransform", - "type": "string" -} - removed
Input schema / $defs / __schema94Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema95Removed value: -{ - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "id": { - "enum": [ - "rec709", - "insta360-ilog", - "custom-lut", - "apple-log" - ], - "type": "string" - }, - "table": { - "additionalProperties": false, - "properties": { - "enabled": { - "type": "boolean" - }, - "mediaId": { - "type": "string" - }, - "sha256": { - "type": "string" - } - }, - "required": [ - "mediaId", - "sha256", - "enabled" - ], - "type": "object" - }, - "version": { - "const": 1, - "type": "number" - }, - "ycbcr": { - "additionalProperties": false, - "properties": { - "matrix": { - "enum": [ - "bt709", - "bt2020", - "bt601" - ], - "type": "string" - }, - "range": { - "enum": [ - "limited", - "full" - ], - "type": "string" - } - }, - "required": [ - "matrix", - "range" - ], - "type": "object" - } - }, - "required": [ - "version", - "id" - ], - "type": "object" - }, - { - "type": "null" - } - ] -} - removed
Input schema / $defs / __schema96Removed value: -{ - "additionalProperties": false, - "description": "Set (or CLEAR, with `color: null`) a video media clip's color correction, WHOLESALE: `{version: 1, enabled, grade, looks, display?, creative?}`. `grade` holds every primary control: `exposure` in stops (-4..4) and `contrast`, `highlights`, `shadows`, `whites`, `blacks`, `temperature`, `tint`, `vibrance`, `saturation` each -1..1 (0 = neutral). `looks` (at most 2), `display` and `creative` name uploaded .cube LUTs as `{mediaId, sha256, enabled}`; `creative` adds `strength` 0..1. `display` may instead name a bundled film look as `{bundled, enabled}`, `bundled` one of daylight-negative, tungsten-negative, soft-negative, slide, black-and-white. `halation?: {enabled, amount 0..0.5, radius (picture heights) 0.0005..0.02, threshold 0..16, tint [r,g,b] 0..1}`; `grain?: {enabled, profile (a film look id), gauge super8|super16|super35|65mm, amount 0..2, size 0.5..4, seed uint32}`. Film presets are whole values, applied by replacing `display`, `halation` and `grain` with exactly what the preset names (absent = removed), writing only the grade keys it names, `display` as `{bundled, enabled: true}`, `halation`/`grain` with `enabled: true`, and grain `seed` kept or any uint32. Presets: {\"id\":\"daylight-negative\",\"name\":\"Daylight Negative\",\"display\":\"daylight-negative\",\"halation\":{\"amount\":0.015,\"radius\":0.0026795284030010718,\"threshold\":0,\"tint\":[1,0.33333333333333337,0]},\"grain\":{\"profile\":\"daylight-negative\",\"gauge\":\"super35\",\"amount\":1,\"size\":1}}; {\"id\":\"tungsten-negative\",\"name\":\"Tungsten Negative\",\"display\":\"tungsten-negative\",\"halation\":{\"amount\":0.015,\"radius\":0.0026795284030010718,\"threshold\":0,\"tint\":[1,0.33333333333333337,0]},\"grain\":{\"profile\":\"tungsten-negative\",\"gauge\":\"super35\",\"amount\":1,\"size\":1}}; {\"id\":\"soft-negative\",\"name\":\"Soft Negative\",\"display\":\"soft-negative\",\"halation\":{\"amount\":0.015,\"radius\":0.0034833869239013935,\"threshold\":0,\"tint\":[1,0.33333333333333337,0]},\"grain\":{\"profile\":\"soft-negative\",\"gauge\":\"super35\",\"amount\":1,\"size\":1}}; {\"id\":\"slide\",\"name\":\"Slide\",\"display\":\"slide\",\"halation\":{\"amount\":0.015,\"radius\":0.0034833869239013935,\"threshold\":0,\"tint\":[1,0.33333333333333337,0]},\"grain\":{\"profile\":\"slide\",\"gauge\":\"super35\",\"amount\":1,\"size\":1}}; {\"id\":\"black-and-white\",\"name\":\"Black and White\",\"display\":\"black-and-white\",\"halation\":{\"amount\":0.015,\"radius\":0.0026795284030010718,\"threshold\":0,\"tint\":[1,0.33333333333333337,0]},\"grain\":{\"profile\":\"black-and-white\",\"gauge\":\"super35\",\"amount\":1,\"size\":1}}; {\"id\":\"grain-only-fine\",\"name\":\"Fine grain\",\"grain\":{\"profile\":\"daylight-negative\",\"gauge\":\"65mm\",\"amount\":1,\"size\":1}}; {\"id\":\"halation-only\",\"name\":\"Halation\",\"halation\":{\"amount\":0.08,\"radius\":0.0026795284030010718,\"threshold\":0,\"tint\":[1,0.25,0]}}. `enabled: false` bypasses the whole correction. Only a media clip on a video track takes color.", - "properties": { - "clipId": { - "$ref": "#/$defs/__schema98" - }, - "color": { - "$ref": "#/$defs/__schema99" - }, - "type": { - "$ref": "#/$defs/__schema97" - } - }, - "required": [ - "type", - "clipId", - "color" - ], - "type": "object" -} - removed
Input schema / $defs / __schema97Removed value: -{ - "const": "setClipColor", - "type": "string" -} - removed
Input schema / $defs / __schema98Removed value: -{ - "type": "string" -} - removed
Input schema / $defs / __schema99Removed value: -{ - "anyOf": [ - { - "$ref": "#/$defs/__schema37" - }, - { - "type": "null" - } - ] -} - removed
Input schema / properties / body / properties / composition / additionalPropertiesRemoved value: -false - added
Input schema / properties / body / properties / composition / descriptionAdded value: +"Call describe_tool_input with tool \"editorial_apply\" and field \"composition\" for the exact JSON Schema." - removed
Input schema / properties / body / properties / composition / propertiesRemoved value: -{ - "builtinSources": { - "items": { - "$ref": "#/$defs/__schema3" - }, - "maxItems": 512, - "minItems": 1, - "type": "array" - }, - "clientId": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[^:]+$", - "type": "string" - }, - "commandId": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "componentExecutionVersions": { - "anyOf": [ - { - "items": false, - "maxItems": 1, - "minItems": 1, - "prefixItems": [ - { - "$ref": "#/$defs/__schema0" - } - ], - "type": "array" - }, - { - "items": false, - "maxItems": 2, - "minItems": 2, - "prefixItems": [ - { - "$ref": "#/$defs/__schema1" - }, - { - "$ref": "#/$defs/__schema2" - } - ], - "type": "array" - } - ] - }, - "concurrency": { - "$ref": "#/$defs/__schema4" - }, - "expectedBrandIdentity": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "expectedRevision": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "operations": { - "items": { - "$ref": "#/$defs/__schema6" - }, - "maxItems": 100, - "minItems": 1, - "type": "array" - }, - "projectId": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "sequence": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } -} - changed
Input schema / properties / commandId / $refPrevious value: -"#/$defs/__schema276"New value: +"#/$defs/__schema304"
- Changed
editorial_create_brief34 fields changed- removed
Input schema / $defs / __schema0Removed value: -{ - "maxLength": 1000, - "minLength": 1, - "type": "string" -} - removed
Input schema / $defs / __schema1Removed value: -{ - "maxLength": 1000, - "minLength": 1, - "type": "string" -} - removed
Input schema / $defs / __schema10Removed value: -{ - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] -} - removed
Input schema / $defs / __schema11Removed value: -{ - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] -} - removed
Input schema / $defs / __schema2Removed value: -{ - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "$ref": "#/$defs/__schema3" - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "$ref": "#/$defs/__schema3" - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] -} - removed
Input schema / $defs / __schema3Removed value: -{ - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "$ref": "#/$defs/__schema4" - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "$ref": "#/$defs/__schema4" - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] -} - removed
Input schema / $defs / __schema4Removed value: -{ - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "$ref": "#/$defs/__schema5" - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "$ref": "#/$defs/__schema5" - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] -} - removed
Input schema / $defs / __schema5Removed value: -{ - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "$ref": "#/$defs/__schema6" - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "$ref": "#/$defs/__schema6" - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] -} - removed
Input schema / $defs / __schema6Removed value: -{ - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "$ref": "#/$defs/__schema7" - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "$ref": "#/$defs/__schema7" - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] -} - removed
Input schema / $defs / __schema7Removed value: -{ - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "$ref": "#/$defs/__schema8" - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "$ref": "#/$defs/__schema8" - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] -} - removed
Input schema / $defs / __schema8Removed value: -{ - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "$ref": "#/$defs/__schema9" - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "$ref": "#/$defs/__schema11" - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] -} - removed
Input schema / $defs / __schema9Removed value: -{ - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "$ref": "#/$defs/__schema10" - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] -} - removed
Input schema / properties / body / properties / brief / additionalPropertiesRemoved value: -false - added
Input schema / properties / body / properties / brief / descriptionAdded value: +"Call describe_tool_input with tool \"editorial_create_brief\" and field \"brief\" for the exact JSON Schema." - removed
Input schema / properties / body / properties / brief / properties / audienceRemoved value: -{ - "maxLength": 1000, - "minLength": 1, - "type": "string" -} - removed
Input schema / properties / body / properties / brief / properties / audioRemoved value: -{ - "$ref": "#/$defs/__schema2" -} - removed
Input schema / properties / body / properties / brief / properties / beatsRemoved value: -{ - "$ref": "#/$defs/__schema2" -} - removed
Input schema / properties / body / properties / brief / properties / captionRemoved value: -{ - "maxLength": 1000, - "minLength": 1, - "type": "string" -} - removed
Input schema / properties / body / properties / brief / properties / captionsRemoved value: -{ - "$ref": "#/$defs/__schema2" -} - removed
Input schema / properties / body / properties / brief / properties / ctaRemoved value: -{ - "maxLength": 1000, - "minLength": 1, - "type": "string" -} - removed
Input schema / properties / body / properties / brief / properties / durationSecRemoved value: -{ - "minimum": 0, - "type": "number" -} - removed
Input schema / properties / body / properties / brief / properties / exclusionsRemoved value: -{ - "$ref": "#/$defs/__schema2" -} - removed
Input schema / properties / body / properties / brief / properties / formatRemoved value: -{ - "$ref": "#/$defs/__schema2" -} - removed
Input schema / properties / body / properties / brief / properties / gatesRemoved value: -{ - "$ref": "#/$defs/__schema2" -} - removed
Input schema / properties / body / properties / brief / properties / goalRemoved value: -{ - "maxLength": 1000, - "minLength": 1, - "type": "string" -} - removed
Input schema / properties / body / properties / brief / properties / hookRemoved value: -{ - "maxLength": 1000, - "minLength": 1, - "type": "string" -} - removed
Input schema / properties / body / properties / brief / properties / localeRemoved value: -{ - "maxLength": 1000, - "minLength": 1, - "type": "string" -} - removed
Input schema / properties / body / properties / brief / properties / motionStyleRemoved value: -{ - "$ref": "#/$defs/__schema2" -} - removed
Input schema / properties / body / properties / brief / properties / mustIncludesRemoved value: -{ - "items": { - "$ref": "#/$defs/__schema0" - }, - "maxItems": 40, - "type": "array" -} - removed
Input schema / properties / body / properties / brief / properties / nameRemoved value: -{ - "maxLength": 255, - "type": "string" -} - removed
Input schema / properties / body / properties / brief / properties / platformRemoved value: -{ - "maxLength": 1000, - "minLength": 1, - "type": "string" -} - removed
Input schema / properties / body / properties / brief / properties / referencesRemoved value: -{ - "items": { - "$ref": "#/$defs/__schema1" - }, - "maxItems": 40, - "type": "array" -} - removed
Input schema / properties / body / properties / brief / properties / seededGraphicsRemoved value: -{ - "$ref": "#/$defs/__schema2" -} - removed
Input schema / properties / body / properties / brief / properties / toneRemoved value: -{ - "maxLength": 1000, - "minLength": 1, - "type": "string" -}
- Changed
editorial_create_run12 fields changed- removed
Input schema / $defs / __schema0Removed value: -{ - "additionalProperties": false, - "properties": { - "range": { - "additionalProperties": false, - "properties": { - "frames": { - "items": false, - "maxItems": 2, - "minItems": 2, - "prefixItems": [ - { - "$ref": "#/$defs/__schema1" - }, - { - "$ref": "#/$defs/__schema2" - } - ], - "type": "array" - }, - "mediaId": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "representationIdentity": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "representationRevision": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "timebaseDen": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "timebaseNum": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "mediaId", - "representationIdentity", - "representationRevision", - "frames", - "timebaseNum", - "timebaseDen" - ], - "type": "object" - } - }, - "required": [ - "range" - ], - "type": "object" -} - removed
Input schema / $defs / __schema1Removed value: -{ - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" -} - removed
Input schema / $defs / __schema2Removed value: -{ - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" -} - removed
Input schema / $defs / __schema3Removed value: -{ - "additionalProperties": false, - "properties": { - "id": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "order": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "purpose": { - "maxLength": 1000, - "minLength": 1, - "type": "string" - }, - "targetDurationSec": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "id", - "purpose", - "order", - "targetDurationSec" - ], - "type": "object" -} - added
Input schema / properties / body / properties / inputs / descriptionAdded value: +"Call describe_tool_input with tool \"editorial_create_run\" and field \"inputs\" for the exact JSON Schema." - removed
Input schema / properties / body / properties / inputs / items / $refRemoved value: -"#/$defs/__schema0" - added
Input schema / properties / body / properties / inputs / items / requiredAdded value: +[ + "range" +] - added
Input schema / properties / body / properties / inputs / items / typeAdded value: +"object" - added
Input schema / properties / body / properties / outline / descriptionAdded value: +"Call describe_tool_input with tool \"editorial_create_run\" and field \"outline\" for the exact JSON Schema." - removed
Input schema / properties / body / properties / outline / items / $refRemoved value: -"#/$defs/__schema3" - added
Input schema / properties / body / properties / outline / items / requiredAdded value: +[ + "id", + "purpose", + "order", + "targetDurationSec" +] - added
Input schema / properties / body / properties / outline / items / typeAdded value: +"object"
- Added
export_template_package - Changed
get_component_source2 fields changed- added
Output schema / properties / componentVersionIdAdded value: +{ + "description": "Exact owned source history row; equal source hashes can have different ancestry.", + "type": "string" +} - added
Output schema / properties / registryProvenanceAdded value: +{ + "additionalProperties": {}, + "description": "Server-derived acquisition ancestry for this exact source row; pending is not captured qualification or portable closure.", + "properties": {}, + "type": "object" +}
- Added
get_registry_acquisition - Added
get_registry_item - Added
get_template_job - Added
get_template_package_download - Changed
import_media1 field changed- changed
Input schema / $defs / __schema2 / enumPrevious value: -[ - "video/mp4", - "video/quicktime", - "video/x-matroska", - "video/webm", - "audio/mpeg", - "audio/wav", - "audio/x-wav", - "audio/mp4", - "audio/aac", - "image/png", - "image/jpeg", - "image/webp", - "image/gif", - "image/svg+xml", - "application/json", - "font/ttf", - "font/otf", - "font/woff", - "font/woff2" -]New value: +[ + "video/mp4", + "video/quicktime", + "video/x-matroska", + "video/webm", + "audio/mpeg", + "audio/wav", + "audio/x-wav", + "audio/mp4", + "audio/aac", + "image/png", + "image/jpeg", + "image/webp", + "image/gif", + "image/svg+xml", + "image/vnd.radiance", + "model/gltf-binary", + "application/json", + "font/ttf", + "font/otf", + "font/woff", + "font/woff2", + "application/x-cube" +]
- Added
import_template_package - Added
refresh_registry_snapshot - Changed
resolve_builtin_component3 fields changed- added
Output schema / properties / previewDeliveryAdded value: +{ + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "byteLength": { + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + }, + "mimeType": { + "type": "string" + }, + "sha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "status": { + "const": "delivered", + "type": "string" + } + }, + "required": [ + "status", + "sha256", + "mimeType", + "byteLength" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "reason": { + "type": "string" + }, + "status": { + "const": "unavailable", + "type": "string" + } + }, + "required": [ + "status", + "reason" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "actualSha256": { + "type": "string" + }, + "expectedSha256": { + "type": "string" + }, + "status": { + "const": "hash_mismatch", + "type": "string" + } + }, + "required": [ + "status", + "expectedSha256", + "actualSha256" + ], + "type": "object" + } + ] +} - added
Output schema / properties / previewMediaAdded value: +{ + "additionalProperties": {}, + "properties": {}, + "type": "object" +} - added
Output schema / requiredAdded value: +[ + "previewDelivery" +]
- Added
search_registry_items - Changed
update_brief53 fields changed- removed
Input schema / $defs / __schema0Removed value: -{ - "additionalProperties": false, - "properties": { - "durationSec": { - "exclusiveMinimum": 0, - "type": "number" - }, - "graphic": { - "additionalProperties": false, - "description": "GRAPHICS MANDATE: the plan MUST carry a graphics request of this role overlapping this beat's window — enforced at the plan gate (honor-or-refuse, like moment pinning). Prose mustIncludes reaches only the judge; this is the checkable form.", - "properties": { - "items": { - "$ref": "#/$defs/__schema5" - }, - "role": { - "$ref": "#/$defs/__schema4" - } - }, - "required": [ - "role" - ], - "type": "object" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "intent": { - "description": "What this beat DOES editorially (hook the claim, prove it, CTA…).", - "minLength": 1, - "type": "string" - }, - "source": { - "additionalProperties": false, - "description": "MOMENT PINNING: this beat uses EXACTLY this window of this media item — honored to-the-frame or refused. v1: every sourced beat must reference the SAME mediaId (multi-source briefs are refused loudly, not silently merged).", - "properties": { - "endSec": { - "$ref": "#/$defs/__schema3" - }, - "mediaId": { - "$ref": "#/$defs/__schema1" - }, - "startSec": { - "$ref": "#/$defs/__schema2" - } - }, - "required": [ - "mediaId", - "startSec", - "endSec" - ], - "type": "object" - } - }, - "required": [ - "id", - "intent" - ], - "type": "object" -} - removed
Input schema / $defs / __schema1Removed value: -{ - "minLength": 1, - "type": "string" -} - removed
Input schema / $defs / __schema10Removed value: -{ - "additionalProperties": false, - "properties": { - "automation": { - "additionalProperties": false, - "properties": { - "lanes": { - "items": { - "additionalProperties": false, - "properties": { - "points": { - "items": { - "$ref": "#/$defs/__schema36" - }, - "minItems": 2, - "type": "array" - }, - "target": { - "const": "volume", - "type": "string" - } - }, - "required": [ - "target", - "points" - ], - "type": "object" - }, - "type": "array" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "lanes" - ], - "type": "object" - }, - "captionVisibility": { - "description": "Video media clip only. Hide native captions while this clip is topmost and covers the lower picture, or when an opaque, effect-free clip has an explicitly full-frame region, even with fit:contain. Caption words and timings remain stored and resume when another visible clip takes over.", - "enum": [ - "visible", - "hidden" - ], - "type": "string" - }, - "color": { - "additionalProperties": false, - "properties": { - "creative": { - "additionalProperties": false, - "properties": { - "enabled": { - "type": "boolean" - }, - "mediaId": { - "type": "string" - }, - "sha256": { - "type": "string" - }, - "strength": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "mediaId", - "sha256", - "enabled", - "strength" - ], - "type": "object" - }, - "display": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "enabled": { - "type": "boolean" - }, - "mediaId": { - "type": "string" - }, - "sha256": { - "type": "string" - } - }, - "required": [ - "mediaId", - "sha256", - "enabled" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bundled": { - "enum": [ - "daylight-negative", - "tungsten-negative", - "soft-negative", - "slide", - "black-and-white" - ], - "type": "string" - }, - "enabled": { - "type": "boolean" - } - }, - "required": [ - "bundled", - "enabled" - ], - "type": "object" - } - ] - }, - "enabled": { - "type": "boolean" - }, - "grade": { - "additionalProperties": false, - "properties": { - "blacks": { - "maximum": 1, - "minimum": -1, - "type": "number" - }, - "contrast": { - "maximum": 1, - "minimum": -1, - "type": "number" - }, - "exposure": { - "maximum": 4, - "minimum": -4, - "type": "number" - }, - "highlights": { - "maximum": 1, - "minimum": -1, - "type": "number" - }, - "saturation": { - "maximum": 1, - "minimum": -1, - "type": "number" - }, - "shadows": { - "maximum": 1, - "minimum": -1, - "type": "number" - }, - "temperature": { - "maximum": 1, - "minimum": -1, - "type": "number" - }, - "tint": { - "maximum": 1, - "minimum": -1, - "type": "number" - }, - "vibrance": { - "maximum": 1, - "minimum": -1, - "type": "number" - }, - "whites": { - "maximum": 1, - "minimum": -1, - "type": "number" - } - }, - "required": [ - "exposure", - "contrast", - "highlights", - "shadows", - "whites", - "blacks", - "temperature", - "tint", - "vibrance", - "saturation" - ], - "type": "object" - }, - "grain": { - "additionalProperties": false, - "properties": { - "amount": { - "maximum": 2, - "minimum": 0, - "type": "number" - }, - "enabled": { - "type": "boolean" - }, - "gauge": { - "enum": [ - "super8", - "super16", - "super35", - "65mm" - ], - "type": "string" - }, - "profile": { - "enum": [ - "daylight-negative", - "tungsten-negative", - "soft-negative", - "slide", - "black-and-white" - ], - "type": "string" - }, - "seed": { - "maximum": 4294967295, - "minimum": 0, - "type": "integer" - }, - "size": { - "maximum": 4, - "minimum": 0.5, - "type": "number" - } - }, - "required": [ - "enabled", - "profile", - "gauge", - "amount", - "size", - "seed" - ], - "type": "object" - }, - "halation": { - "additionalProperties": false, - "properties": { - "amount": { - "maximum": 0.5, - "minimum": 0, - "type": "number" - }, - "enabled": { - "type": "boolean" - }, - "radius": { - "maximum": 0.02, - "minimum": 0.0005, - "type": "number" - }, - "threshold": { - "maximum": 16, - "minimum": 0, - "type": "number" - }, - "tint": { - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "$ref": "#/$defs/__schema38" - }, - { - "$ref": "#/$defs/__schema39" - }, - { - "$ref": "#/$defs/__schema40" - } - ], - "type": "array" - } - }, - "required": [ - "enabled", - "amount", - "radius", - "threshold", - "tint" - ], - "type": "object" - }, - "looks": { - "items": { - "$ref": "#/$defs/__schema37" - }, - "maxItems": 2, - "type": "array" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "enabled", - "grade", - "looks" - ], - "type": "object" - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "effects": { - "items": { - "additionalProperties": false, - "properties": { - "component": { - "$ref": "#/$defs/__schema23" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "window": { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "startTime": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "startTime", - "duration" - ], - "type": "object" - } - }, - "type": "object" - }, - "type": "array" - }, - "fit": { - "enum": [ - "cover", - "contain" - ], - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "kind": { - "enum": [ - "video", - "audio", - "image", - "overlay", - "effect" - ], - "type": "string" - }, - "legacyKeyframes": { - "additionalProperties": false, - "properties": { - "channels": { - "items": { - "type": "string" - }, - "type": "array" - }, - "needsUpgrade": { - "const": true, - "type": "boolean" - }, - "record": {} - }, - "required": [ - "needsUpgrade", - "channels", - "record" - ], - "type": "object" - }, - "linkGroupId": { - "minLength": 1, - "type": "string" - }, - "opacity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "position": { - "additionalProperties": { - "$ref": "#/$defs/__schema29" - }, - "description": "Clip CENTRE as a fraction of the frame: {x:0.5,y:0.5} is dead centre, 0 to 1 is inside the frame, and a little overshoot (down to -1, up to 2) is how an entrance starts off-canvas. NOT pixels: the renderer maps x to `left: x*100%`, so `x: 180` sits 180 frame-widths away and draws nothing.", - "properties": { - "x": { - "$ref": "#/$defs/__schema27" - }, - "y": { - "$ref": "#/$defs/__schema28" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "region": { - "additionalProperties": { - "$ref": "#/$defs/__schema34" - }, - "description": "A window in the frame that the clip draws into and is clipped to (top-left corner and size, each a frame fraction). Inside a region, `position` and `scale` act relative to that window, so content moved past its edge is cut off. Omit it to place the clip against the whole frame.", - "properties": { - "h": { - "$ref": "#/$defs/__schema33" - }, - "w": { - "$ref": "#/$defs/__schema32" - }, - "x": { - "$ref": "#/$defs/__schema30" - }, - "y": { - "$ref": "#/$defs/__schema31" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "rotation": { - "type": "number" - }, - "scale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "source": { - "oneOf": [ - { - "additionalProperties": {}, - "properties": { - "anchor": { - "additionalProperties": {}, - "properties": { - "clipId": { - "minLength": 1, - "type": "string" - }, - "offsetMs": { - "type": "number" - } - }, - "required": [ - "clipId", - "offsetMs" - ], - "type": "object" - }, - "audioRole": { - "description": "Mix role. A role sets the clip's default gain when it has no `volume` or `volumeDb`: vo 0 dB, sfx -6 dB, music -8 dB (-16 dB when any vo clip exists), ambience -22 dB. Set `volumeDb: 0` to keep a role and play the source at its own level.", - "enum": [ - "sfx", - "music", - "vo", - "ambience" - ], - "type": "string" - }, - "duck": { - "additionalProperties": {}, - "properties": { - "attackMs": { - "minimum": 0, - "type": "number" - }, - "duckDb": { - "maximum": 0, - "type": "number" - }, - "releaseMs": { - "minimum": 0, - "type": "number" - }, - "windows": { - "items": { - "additionalProperties": {}, - "properties": { - "endMs": { - "type": "number" - }, - "startMs": { - "type": "number" - } - }, - "required": [ - "startMs", - "endMs" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "duckDb", - "attackMs", - "releaseMs" - ], - "type": "object" - }, - "excludedRanges": { - "items": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "reason": { - "type": "string" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "type": "array" - }, - "fadeInMs": { - "minimum": 0, - "type": "number" - }, - "fadeOutMs": { - "minimum": 0, - "type": "number" - }, - "kenBurns": { - "description": "Still-image motion. When unset, an image clip slowly pushes in (`in`) unless its fit is `contain` or it keyframes scale, position or rotation, so a keyframed clip renders exactly its keyframed values; set `none` for a still that holds.", - "enum": [ - "in", - "out", - "pan-l", - "pan-r", - "none" - ], - "type": "string" - }, - "kind": { - "const": "media", - "type": "string" - }, - "loop": { - "type": "boolean" - }, - "mediaId": { - "type": "string" - }, - "muted": { - "type": "boolean" - }, - "playbackRate": { - "exclusiveMinimum": 0, - "type": "number" - }, - "reframe": { - "additionalProperties": {}, - "properties": { - "segments": { - "items": { - "$ref": "#/$defs/__schema11" - }, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "segments" - ], - "type": "object" - }, - "sync": { - "enum": [ - "video", - "independent" - ], - "type": "string" - }, - "trim": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "volume": { - "maximum": 4, - "minimum": 0, - "type": "number" - }, - "volumeDb": { - "type": "number" - } - }, - "required": [ - "kind", - "mediaId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "componentId": { - "minLength": 1, - "type": "string" - }, - "execution": { - "$ref": "#/$defs/__schema23" - }, - "kind": { - "const": "component", - "type": "string" - }, - "placement": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "clip", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "content-slots", - "type": "string" - }, - "slots": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "ownership": { - "enum": [ - "reference", - "exclusive" - ], - "type": "string" - }, - "targetClipIds": { - "items": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "targetClipIds", - "ownership" - ], - "type": "object" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind", - "slots" - ], - "type": "object" - } - ] - }, - "props": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "retired": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "componentId", - "props" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "anchor": { - "additionalProperties": {}, - "properties": { - "space": { - "const": "scene", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "space", - "x", - "y" - ], - "type": "object" - }, - "kind": { - "const": "overlay", - "type": "string" - }, - "parallax": { - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "pattern": "^(?!custom$)", - "type": "string" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "primitiveId", - "params" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "component": { - "$ref": "#/$defs/__schema23" - }, - "kind": { - "const": "effect", - "type": "string" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "targetTrackIds": { - "items": { - "$ref": "#/$defs/__schema25" - }, - "minItems": 1, - "type": "array" - }, - "wrapperOrder": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "html": { - "description": "Self-contained card markup sized to the format's pixel frame. Motion comes from frame-driven vars, never @keyframes or transition: --cf-frame, --cf-t (seconds), --cf-fps, --cf-duration, --cf-progress, --cf-ease, --cf-enter, --cf-exit. Visible copy goes in the html as plain text. Wrap a run in <span data-cf-split=\"words\"> or \"chars\" and each unit becomes its own span carrying --cf-i (its index, the group carries --cf-n), so one rule staggers it (in chars, spaces count as units), e.g. opacity:clamp(0,calc(var(--cf-t)*4 - var(--cf-i)*.3),1). save_as_template binds that copy with textParams match.", - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "card", - "type": "string" - }, - "tokens": { - "$ref": "#/$defs/__schema26", - "description": "Style values the html reads as CSS custom properties: key x becomes --cf-x, so never put dashes in a key. Use tokens for colours and sizes, not visible copy.", - "propertyNames": { - "type": "string" - } - }, - "zPlane": { - "const": "front", - "type": "string" - } - }, - "required": [ - "kind", - "html" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "compositionId": { - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "composition", - "type": "string" - }, - "trim": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "compositionId" - ], - "type": "object" - } - ] - }, - "startTime": { - "minimum": 0, - "type": "number" - }, - "transitionIn": { - "additionalProperties": {}, - "properties": { - "component": { - "$ref": "#/$defs/__schema23" - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "fromClipId": { - "minLength": 1, - "type": "string" - }, - "handlePolicy": { - "const": "outgoing-overrun-at-cut-v1", - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "toClipId": { - "minLength": 1, - "type": "string" - }, - "type": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "type", - "duration" - ], - "type": "object" - }, - "tweens": { - "items": { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "keyframes": { - "additionalProperties": false, - "properties": { - "easeEach": { - "const": "none", - "type": "string" - }, - "format": { - "const": "percentage", - "type": "string" - }, - "keyframes": { - "items": { - "$ref": "#/$defs/__schema35" - }, - "minItems": 2, - "type": "array" - } - }, - "required": [ - "format", - "easeEach", - "keyframes" - ], - "type": "object" - }, - "position": { - "type": "number" - }, - "propertyGroup": { - "enum": [ - "visual", - "scale", - "rotation", - "position" - ], - "type": "string" - } - }, - "required": [ - "id", - "propertyGroup", - "position", - "duration", - "keyframes" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "id", - "startTime", - "duration", - "source" - ], - "type": "object" -} - removed
Input schema / $defs / __schema11Removed value: -{ - "additionalProperties": {}, - "properties": { - "bias": { - "additionalProperties": { - "$ref": "#/$defs/__schema22" - }, - "description": "Optional FINE framing nudge off the focus center, source-normalized in [−0.3, 0.3]. A small correction (headroom, rule-of-thirds), NOT a reframe — use `focus`/`zoom` for the actual shot. Omit (treated as 0) to sit dead-center on the focus.", - "properties": { - "x": { - "$ref": "#/$defs/__schema20" - }, - "y": { - "$ref": "#/$defs/__schema21" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "ease": { - "additionalProperties": { - "$ref": "#/$defs/__schema19" - }, - "description": "Zoom/center ramp DURATIONS in SECONDS at this segment's edges — NOT a unitless 0–1 curve. ~0.3–0.6s reads as a snappy push; >1s reads sluggish. Keep `in` + `out` ≤ the segment's duration (endSec − startSec): the two edges share the span, so to ramp across the WHOLE segment set one edge to the full duration and the other to 0. Omit for an instant cut to this framing.", - "properties": { - "in": { - "$ref": "#/$defs/__schema17" - }, - "out": { - "$ref": "#/$defs/__schema18" - } - }, - "required": [ - "in", - "out" - ], - "type": "object" - }, - "endSec": { - "description": "Segment END in seconds, clip-relative. The span (endSec − startSec) is this segment's duration — the window `ease` ramps over.", - "exclusiveMinimum": 0, - "type": "number" - }, - "focus": { - "description": "WHO/WHAT the camera tracks this segment (the reframe center), selected by `mode`: `frame-center` = no tracking, hold the geometric center (static/graphic footage, or a pure zoom); `point` = lock to a fixed source-normalized {x,y} (a non-moving on-screen element); `face` = track a detected face by `faceId` (from get_media_context), with optional `shotScale` close|standard|wide for tightness; `all-faces` = frame the bounding box of every detected face (group/ensemble shots); `active-speaker` = follow whoever is speaking (diarized talking-head / podcast). Pick by what the beat is about; pair with `zoom` for how tight.", - "oneOf": [ - { - "$ref": "#/$defs/__schema12" - }, - { - "$ref": "#/$defs/__schema13" - }, - { - "$ref": "#/$defs/__schema14" - }, - { - "$ref": "#/$defs/__schema15" - }, - { - "$ref": "#/$defs/__schema16" - } - ] - }, - "intent": { - "description": "Optional editorial LABEL for diff/log readability (e.g. 'speaker-tight', 'wide-context'). Cosmetic — NOT honored by the derive math and excluded from the variant cache key.", - "type": "string" - }, - "startSec": { - "description": "Segment START in seconds, clip-relative. Segments tile the clip's duration in order.", - "minimum": 0, - "type": "number" - }, - "zoom": { - "description": "How TIGHT the framing is — the fraction of the source the output viewport shows. <1 punches IN (a smaller source fraction, magnified to fill the frame); 1 = the full frame (no crop). ~0.6–0.8 is a moderate push-in, ~0.5 a tight close-up, 0.1 the maximum zoom. There is NO zoom-OUT past the full frame (max 1). Omit for the full frame. MUTUALLY EXCLUSIVE with `focus.shotScale`: a face-tracked shot is sized EITHER by the editorial scale (shotScale, calibrated to the detected face) OR by an explicit zoom — never both.", - "maximum": 1, - "minimum": 0.1, - "type": "number" - } - }, - "required": [ - "startSec", - "endSec", - "focus" - ], - "type": "object" -} - removed
Input schema / $defs / __schema12Removed value: -{ - "additionalProperties": {}, - "properties": { - "mode": { - "const": "frame-center", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" -} - removed
Input schema / $defs / __schema13Removed value: -{ - "additionalProperties": {}, - "properties": { - "mode": { - "const": "point", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "mode", - "x", - "y" - ], - "type": "object" -} - removed
Input schema / $defs / __schema14Removed value: -{ - "additionalProperties": {}, - "properties": { - "faceId": { - "minLength": 1, - "type": "string" - }, - "mode": { - "const": "face", - "type": "string" - }, - "shotScale": { - "enum": [ - "close", - "standard", - "wide" - ], - "type": "string" - } - }, - "required": [ - "mode", - "faceId" - ], - "type": "object" -} - removed
Input schema / $defs / __schema15Removed value: -{ - "additionalProperties": {}, - "properties": { - "mode": { - "const": "all-faces", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" -} - removed
Input schema / $defs / __schema16Removed value: -{ - "additionalProperties": {}, - "properties": { - "mode": { - "const": "active-speaker", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" -} - removed
Input schema / $defs / __schema17Removed value: -{ - "description": "Ease-IN ramp DURATION in seconds at the segment START.", - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema18Removed value: -{ - "description": "Ease-OUT ramp DURATION in seconds at the segment END.", - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema19Removed value: -{} - removed
Input schema / $defs / __schema2Removed value: -{ - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema20Removed value: -{ - "description": "Horizontal nudge, source-normalized (+ = right).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" -} - removed
Input schema / $defs / __schema21Removed value: -{ - "description": "Vertical nudge, source-normalized (+ = down).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" -} - removed
Input schema / $defs / __schema22Removed value: -{} - removed
Input schema / $defs / __schema23Removed value: -{ - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema24" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema24" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] -} - removed
Input schema / $defs / __schema24Removed value: -{ - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - }, - { - "items": { - "$ref": "#/$defs/__schema24" - }, - "type": "array" - }, - { - "additionalProperties": { - "$ref": "#/$defs/__schema24" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - ] -} - removed
Input schema / $defs / __schema25Removed value: -{ - "minLength": 1, - "type": "string" -} - removed
Input schema / $defs / __schema26Removed value: -{ - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" -} - removed
Input schema / $defs / __schema27Removed value: -{ - "maximum": 2, - "minimum": -1, - "type": "number" -} - removed
Input schema / $defs / __schema28Removed value: -{ - "maximum": 2, - "minimum": -1, - "type": "number" -} - removed
Input schema / $defs / __schema29Removed value: -{} - removed
Input schema / $defs / __schema3Removed value: -{ - "exclusiveMinimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema30Removed value: -{ - "maximum": 1, - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema31Removed value: -{ - "maximum": 1, - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema32Removed value: -{ - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" -} - removed
Input schema / $defs / __schema33Removed value: -{ - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" -} - removed
Input schema / $defs / __schema34Removed value: -{} - removed
Input schema / $defs / __schema35Removed value: -{ - "additionalProperties": false, - "properties": { - "ease": { - "type": "string" - }, - "percentage": { - "type": "number" - }, - "properties": { - "additionalProperties": { - "type": "number" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - }, - "required": [ - "percentage", - "properties" - ], - "type": "object" -} - removed
Input schema / $defs / __schema36Removed value: -{ - "additionalProperties": false, - "properties": { - "t": { - "type": "number" - }, - "v": { - "type": "number" - } - }, - "required": [ - "t", - "v" - ], - "type": "object" -} - removed
Input schema / $defs / __schema37Removed value: -{ - "additionalProperties": false, - "properties": { - "enabled": { - "type": "boolean" - }, - "mediaId": { - "type": "string" - }, - "sha256": { - "type": "string" - } - }, - "required": [ - "mediaId", - "sha256", - "enabled" - ], - "type": "object" -} - removed
Input schema / $defs / __schema38Removed value: -{ - "maximum": 1, - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema39Removed value: -{ - "maximum": 1, - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema4Removed value: -{ - "description": "The mandated graphic's editorial role (the graphics-plan GraphicRole vocabulary).", - "enum": [ - "title-card", - "stat", - "lower-third", - "pull-quote", - "hero", - "logo-tag", - "enumeration", - "sequence", - "comparison" - ], - "type": "string" -} - removed
Input schema / $defs / __schema40Removed value: -{ - "maximum": 1, - "minimum": 0, - "type": "number" -} - removed
Input schema / $defs / __schema42Removed value: -{ - "enum": [ - "content", - "layout", - "motion" - ], - "type": "string" -} - removed
Input schema / $defs / __schema5Removed value: -{ - "description": "Mandated list items (enumeration/sequence) — carried VERBATIM into the plan's copy.items.", - "items": { - "$ref": "#/$defs/__schema6" - }, - "maxItems": 8, - "type": "array" -} - removed
Input schema / $defs / __schema6Removed value: -{ - "maxLength": 80, - "minLength": 1, - "type": "string" -} - removed
Input schema / properties / body / properties / audio / additionalPropertiesRemoved value: -false - added
Input schema / properties / body / properties / audio / descriptionAdded value: +"Call describe_tool_input with tool \"update_brief\" and field \"audio\" for the exact JSON Schema." - removed
Input schema / properties / body / properties / audio / propertiesRemoved value: -{ - "music": { - "additionalProperties": false, - "properties": { - "enabled": { - "description": "Whether the compose carries a music bed.", - "type": "boolean" - }, - "mediaId": { - "description": "Pin a client-imported track as the bed. HONOR-OR-REFUSE: must be an org-owned kind:'audio' media item, else 422 — never accept-and-ignore. Absent ⇒ generate from mood.", - "minLength": 1, - "type": "string" - }, - "mood": { - "description": "Freeform mood/genre prompt for the GENERATED bed (e.g. 'understated editorial, warm'). Ignored when mediaId pins a track.", - "maxLength": 300, - "type": "string" - } - }, - "required": [ - "enabled" - ], - "type": "object" - }, - "sfx": { - "additionalProperties": false, - "properties": { - "intensity": { - "description": "SFX placement density. Real-footage content keeps restraint caps regardless ('dense' is the explicit opt-out); generated/graphic-led content unlocks the standard tier.", - "enum": [ - "off", - "light", - "standard", - "dense" - ], - "type": "string" - } - }, - "required": [ - "intensity" - ], - "type": "object" - } -} - added
Input schema / properties / body / properties / beats / descriptionAdded value: +"Call describe_tool_input with tool \"update_brief\" and field \"beats\" for the exact JSON Schema." - removed
Input schema / properties / body / properties / beats / items / $refRemoved value: -"#/$defs/__schema0" - added
Input schema / properties / body / properties / beats / items / requiredAdded value: +[ + "id", + "intent" +] - added
Input schema / properties / body / properties / beats / items / typeAdded value: +"object" - removed
Input schema / properties / body / properties / gates / additionalPropertiesRemoved value: -false - added
Input schema / properties / body / properties / gates / descriptionAdded value: +"Call describe_tool_input with tool \"update_brief\" and field \"gates\" for the exact JSON Schema." - removed
Input schema / properties / body / properties / gates / propertiesRemoved value: -{ - "autoApprove": { - "description": "true = fully autonomous (compose runs with NO gates — the headless opt-in; without it a brief holds at every stage by default). Mutually exclusive with a non-empty holdAt.", - "type": "boolean" - }, - "holdAt": { - "description": "Checkpoint gates — the compose pauses at each named stage for review via resume. DEFAULT (gates absent): the compose holds at EVERY stage — your agent reviews and resumes each one; an unreviewed checkpoint times out loudly after 60min. Auto-progression is the opt-in (gates.autoApprove: true).", - "items": { - "$ref": "#/$defs/__schema42" - }, - "maxItems": 3, - "type": "array" - }, - "reviewMode": { - "description": "Who captures the review decision. Default 'agent': you relay the packet and call resume. 'hosted': every checkpoint mints a review-page URL (checkpoint.ready payload + get_checkpoint's reviewUrl) where a human approves/revises from the browser — no account, no agent session; the recorded decision rides the SAME resume rail and you learn of it via checkpoint webhooks / wait_job.", - "enum": [ - "agent", - "hosted" - ], - "type": "string" - } -} - changed
Input schema / properties / body / properties / seededGraphics / descriptionPrevious value: -"Client-authored graphic clips the Director must carry VERBATIM: seeded into the design loop's base composition as LOCKED clips (never re-authored, never discarded)."New value: +"Client-authored graphic clips the Director must carry VERBATIM: seeded into the design loop's base composition as LOCKED clips (never re-authored, never discarded). Call describe_tool_input with tool \"update_brief\" and field \"seededGraphics\" for the exact JSON Schema." - removed
Input schema / properties / body / properties / seededGraphics / items / $refRemoved value: -"#/$defs/__schema10" - added
Input schema / properties / body / properties / seededGraphics / items / requiredAdded value: +[ + "id", + "startTime", + "duration", + "source" +] - added
Input schema / properties / body / properties / seededGraphics / items / typeAdded value: +"object"
- Changed
update_component55 fields changed- removed
Input schema / $defs / __schema11Removed value: -{ - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$", - "type": "string" - }, - "definition": { - "additionalProperties": false, - "properties": { - "brandBindings": { - "items": { - "additionalProperties": false, - "properties": { - "brandKitPath": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "cssVar": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "fallback": { - "type": "string" - }, - "propPath": { - "maxLength": 128, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "propPath", - "cssVar" - ], - "type": "object" - }, - "type": "array" - }, - "capabilities": { - "items": { - "$ref": "#/$defs/__schema13" - }, - "minItems": 1, - "type": "array" - }, - "defaults": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "inputSchema": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "mediaBindings": { - "items": { - "$ref": "#/$defs/__schema15" - }, - "minItems": 1, - "type": "array" - }, - "preview": { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "durationSec": { - "exclusiveMinimum": 0, - "type": "number" - }, - "frameRate": { - "exclusiveMinimum": 0, - "type": "number" - }, - "mimeType": { - "minLength": 1, - "type": "string" - }, - "sha256": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "url": { - "pattern": "^https:\\/\\/.*", - "type": "string" - } - }, - "required": [ - "url", - "sha256", - "mimeType" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "durationSec": { - "exclusiveMinimum": 0, - "type": "number" - }, - "frameRate": { - "exclusiveMinimum": 0, - "type": "number" - }, - "mediaId": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "mimeType": { - "minLength": 1, - "type": "string" - }, - "sha256": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - } - }, - "required": [ - "mediaId", - "sha256", - "mimeType" - ], - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "format": { - "additionalProperties": {}, - "properties": { - "aspectRatio": { - "enum": [ - "16:9", - "9:16", - "1:1", - "4:5" - ], - "type": "string" - }, - "fps": { - "anyOf": [ - { - "const": 24, - "type": "number" - }, - { - "const": 25, - "type": "number" - }, - { - "const": 30, - "type": "number" - }, - { - "const": 60, - "type": "number" - } - ] - }, - "platform": { - "type": "string" - }, - "resolution": { - "enum": [ - "hd", - "fhd", - "4k" - ], - "type": "string" - } - }, - "required": [ - "aspectRatio" - ], - "type": "object" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "durationSec": { - "exclusiveMinimum": 0, - "type": "number" - }, - "frameRate": { - "exclusiveMinimum": 0, - "type": "number" - }, - "mimeType": { - "minLength": 1, - "type": "string" - }, - "sha256": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "url": { - "pattern": "^https:\\/\\/.*", - "type": "string" - } - }, - "required": [ - "url", - "sha256", - "mimeType" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "durationSec": { - "exclusiveMinimum": 0, - "type": "number" - }, - "frameRate": { - "exclusiveMinimum": 0, - "type": "number" - }, - "mediaId": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "mimeType": { - "minLength": 1, - "type": "string" - }, - "sha256": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - } - }, - "required": [ - "mediaId", - "sha256", - "mimeType" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - }, - "type": "object" - }, - "timing": { - "additionalProperties": false, - "properties": { - "defaultDuration": { - "additionalProperties": false, - "properties": { - "fps": { - "exclusiveMinimum": 0, - "type": "number" - }, - "frames": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "frames", - "fps" - ], - "type": "object" - }, - "maxDurationSec": { - "exclusiveMinimum": 0, - "type": "number" - }, - "minDurationSec": { - "exclusiveMinimum": 0, - "type": "number" - } - }, - "required": [ - "defaultDuration" - ], - "type": "object" - } - }, - "required": [ - "inputSchema", - "defaults", - "brandBindings", - "timing", - "capabilities" - ], - "type": "object" - }, - "manifest": { - "additionalProperties": false, - "properties": { - "alphaPolicy": { - "enum": [ - "requires-transparency", - "allows-opaque" - ], - "type": "string" - }, - "assets": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "kind": { - "enum": [ - "image", - "video", - "audio", - "data", - "visual" - ], - "type": "string" - }, - "mediaDemand": { - "oneOf": [ - { - "properties": { - "mode": { - "const": "original", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "properties": { - "mode": { - "const": "tier", - "type": "string" - }, - "tier": { - "anyOf": [ - { - "const": 256, - "type": "number" - }, - { - "const": 512, - "type": "number" - }, - { - "const": 1024, - "type": "number" - }, - { - "const": 2048, - "type": "number" - } - ] - } - }, - "required": [ - "mode", - "tier" - ], - "type": "object" - }, - { - "properties": { - "maxProjectedHeightRatio": { - "exclusiveMinimum": 0, - "maximum": 64, - "type": "number" - }, - "maxProjectedWidthRatio": { - "exclusiveMinimum": 0, - "maximum": 64, - "type": "number" - }, - "minVisibleSourceHeightRatio": { - "default": 1, - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "minVisibleSourceWidthRatio": { - "default": 1, - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "mode": { - "const": "auto", - "type": "string" - } - }, - "required": [ - "mode", - "maxProjectedWidthRatio", - "maxProjectedHeightRatio" - ], - "type": "object" - } - ] - }, - "mimeTypes": { - "items": { - "$ref": "#/$defs/__schema12" - }, - "minItems": 1, - "type": "array" - }, - "required": { - "type": "boolean" - } - }, - "required": [ - "kind", - "required" - ], - "type": "object" - }, - "properties": {}, - "propertyNames": { - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "graphics": { - "additionalProperties": false, - "properties": { - "accelerationPreference": { - "enum": [ - "hardware-preferred", - "software-allowed" - ], - "type": "string" - }, - "api": { - "enum": [ - "canvas2d", - "webgl", - "webgl2", - "webgpu" - ], - "type": "string" - }, - "required": { - "const": true, - "type": "boolean" - } - }, - "required": [ - "api", - "required", - "accelerationPreference" - ], - "type": "object" - }, - "hfContract": { - "const": 1, - "type": "number" - }, - "kind": { - "const": "scene", - "type": "string" - }, - "runtime": { - "const": "hyperframes", - "type": "string" - }, - "sceneShot": { - "additionalProperties": false, - "properties": { - "version": { - "const": 2, - "type": "number" - } - }, - "required": [ - "version" - ], - "type": "object" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "runtime", - "hfContract", - "kind", - "assets", - "graphics", - "alphaPolicy" - ], - "type": "object" - }, - "template": { - "maxLength": 2000000, - "minLength": 1, - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "template", - "manifest", - "definition" - ], - "type": "object" -} - removed
Input schema / $defs / __schema12Removed value: -{ - "minLength": 1, - "type": "string" -} - removed
Input schema / $defs / __schema13Removed value: -{ - "oneOf": [ - { - "properties": { - "kind": { - "const": "clip", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "properties": { - "kind": { - "const": "cut-transition", - "type": "string" - }, - "protocol": { - "const": "per-child", - "type": "string" - } - }, - "required": [ - "kind", - "protocol" - ], - "type": "object" - }, - { - "properties": { - "kind": { - "const": "content-slots", - "type": "string" - }, - "slots": { - "items": { - "$ref": "#/$defs/__schema14" - }, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "kind", - "slots" - ], - "type": "object" - }, - { - "properties": { - "acceptsWrappedTargets": { - "type": "boolean" - }, - "kind": { - "const": "clip-wrapper", - "type": "string" - }, - "ordering": { - "enum": [ - "any", - "innermost" - ], - "type": "string" - } - }, - "required": [ - "kind", - "ordering", - "acceptsWrappedTargets" - ], - "type": "object" - }, - { - "properties": { - "acceptsWrappedTargets": { - "type": "boolean" - }, - "kind": { - "const": "global-wrapper", - "type": "string" - }, - "ordering": { - "enum": [ - "any", - "innermost" - ], - "type": "string" - }, - "scope": { - "const": "media-lanes", - "type": "string" - } - }, - "required": [ - "kind", - "scope", - "ordering", - "acceptsWrappedTargets" - ], - "type": "object" - } - ] -} - removed
Input schema / $defs / __schema14Removed value: -{ - "additionalProperties": false, - "properties": { - "max": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "min": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "name": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "ownership": { - "enum": [ - "reference", - "exclusive" - ], - "type": "string" - }, - "sizing": { - "enum": [ - "canvas", - "container" - ], - "type": "string" - } - }, - "required": [ - "name", - "min", - "max", - "ownership", - "sizing" - ], - "type": "object" -} - removed
Input schema / $defs / __schema15Removed value: -{ - "additionalProperties": false, - "properties": { - "cardinality": { - "additionalProperties": false, - "properties": { - "max": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "min": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "min" - ], - "type": "object" - }, - "collection": { - "enum": [ - "scalar", - "array" - ], - "type": "string" - }, - "kind": { - "enum": [ - "image", - "video", - "visual" - ], - "type": "string" - }, - "mediaDemand": { - "oneOf": [ - { - "properties": { - "mode": { - "const": "original", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "properties": { - "mode": { - "const": "tier", - "type": "string" - }, - "tier": { - "anyOf": [ - { - "const": 256, - "type": "number" - }, - { - "const": 512, - "type": "number" - }, - { - "const": 1024, - "type": "number" - }, - { - "const": 2048, - "type": "number" - } - ] - } - }, - "required": [ - "mode", - "tier" - ], - "type": "object" - }, - { - "properties": { - "maxProjectedHeightRatio": { - "exclusiveMinimum": 0, - "maximum": 64, - "type": "number" - }, - "maxProjectedWidthRatio": { - "exclusiveMinimum": 0, - "maximum": 64, - "type": "number" - }, - "minVisibleSourceHeightRatio": { - "default": 1, - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "minVisibleSourceWidthRatio": { - "default": 1, - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "mode": { - "const": "auto", - "type": "string" - } - }, - "required": [ - "mode", - "maxProjectedWidthRatio", - "maxProjectedHeightRatio" - ], - "type": "object" - } - ] - }, - "mimeTypes": { - "items": { - "$ref": "#/$defs/__schema17" - }, - "minItems": 1, - "type": "array" - }, - "name": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "propPath": { - "items": { - "$ref": "#/$defs/__schema16" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "name", - "propPath", - "kind", - "collection", - "cardinality" - ], - "type": "object" -} - removed
Input schema / $defs / __schema16Removed value: -{ - "maxLength": 128, - "minLength": 1, - "type": "string" -} - removed
Input schema / $defs / __schema17Removed value: -{ - "minLength": 1, - "type": "string" -} - added
Input schema / $defs / __schema18 / additionalPropertiesAdded value: +false - removed
Input schema / $defs / __schema18 / descriptionRemoved value: -"A project whose explicitly named composition moves its placements atomically with the source write. Requires compositionId and concurrency." - removed
Input schema / $defs / __schema18 / minLengthRemoved value: -1 - added
Input schema / $defs / __schema18 / propertiesAdded value: +{ + "adaptationReceiptRef": { + "additionalProperties": false, + "properties": { + "byteLength": { + "exclusiveMinimum": 0, + "maximum": 134217728, + "type": "integer" + }, + "format": { + "const": "cueframe-registry-adaptation-v1", + "type": "string" + }, + "sha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + } + }, + "required": [ + "format", + "sha256", + "byteLength" + ], + "type": "object" + }, + "receiptRef": { + "additionalProperties": false, + "properties": { + "bundleBytes": { + "exclusiveMinimum": 0, + "maximum": 134217728, + "type": "integer" + }, + "bundleSha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "format": { + "const": "cueframe-registry-provenance-v1", + "type": "string" + }, + "receiptId": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "bundleSha256", + "bundleBytes", + "format", + "receiptId" + ], + "type": "object" + } +} - added
Input schema / $defs / __schema18 / requiredAdded value: +[ + "receiptRef" +] - changed
Input schema / $defs / __schema18 / typePrevious value: -"string"New value: +"object" - changed
Input schema / $defs / __schema19 / descriptionPrevious value: -"The exact composition observed by the caller. Required with projectId and concurrency."New value: +"Exact source head observed before adoption, editing or rollback. A changed head refuses the write; project placements remain pinned unless explicitly guarded below." - removed
Input schema / $defs / __schema19 / minLengthRemoved value: -1 - added
Input schema / $defs / __schema19 / patternAdded value: +"^[a-f0-9]{64}$" - changed
Input schema / $defs / __schema20 / descriptionPrevious value: -"Caller-observed placement guard, required with projectId and compositionId: a placement update without it is refused with 428 precondition_required. Atomic library edits with placement changes require explicit supported invocation admission."New value: +"A project whose explicitly named composition moves its placements atomically with the source write. Requires compositionId and concurrency." - added
Input schema / $defs / __schema20 / minLengthAdded value: +1 - removed
Input schema / $defs / __schema20 / oneOfRemoved value: -[ - { - "$ref": "#/$defs/__schema21" - }, - { - "$ref": "#/$defs/__schema22" - } -] - added
Input schema / $defs / __schema20 / typeAdded value: +"string" - removed
Input schema / $defs / __schema21 / additionalPropertiesRemoved value: -false - added
Input schema / $defs / __schema21 / descriptionAdded value: +"The exact composition observed by the caller. Required with projectId and concurrency." - added
Input schema / $defs / __schema21 / minLengthAdded value: +1 - removed
Input schema / $defs / __schema21 / propertiesRemoved value: -{ - "expectedRevision": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "mode": { - "const": "exact", - "type": "string" - } -} - removed
Input schema / $defs / __schema21 / requiredRemoved value: -[ - "mode", - "expectedRevision" -] - changed
Input schema / $defs / __schema21 / typePrevious value: -"object"New value: +"string" - removed
Input schema / $defs / __schema22 / additionalPropertiesRemoved value: -false - added
Input schema / $defs / __schema22 / descriptionAdded value: +"Caller-observed placement guard, required with projectId and compositionId: a placement update without it is refused with 428 precondition_required. Atomic library edits with placement changes require explicit supported invocation admission." - added
Input schema / $defs / __schema22 / oneOfAdded value: +[ + { + "$ref": "#/$defs/__schema23" + }, + { + "$ref": "#/$defs/__schema24" + } +] - removed
Input schema / $defs / __schema22 / propertiesRemoved value: -{ - "basis": { - "items": { - "$ref": "#/$defs/__schema23" - }, - "maxItems": 2048, - "type": "array" - }, - "compositionId": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "mode": { - "const": "guarded", - "type": "string" - }, - "observedRevision": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } -} - removed
Input schema / $defs / __schema22 / requiredRemoved value: -[ - "mode", - "observedRevision", - "basis" -] - removed
Input schema / $defs / __schema22 / typeRemoved value: -"object" - added
Input schema / $defs / __schema23 / properties / expectedRevisionAdded value: +{ + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" +} - removed
Input schema / $defs / __schema23 / properties / keyRemoved value: -{ - "maxLength": 256, - "minLength": 1, - "type": "string" -} - added
Input schema / $defs / __schema23 / properties / modeAdded value: +{ + "const": "exact", + "type": "string" +} - removed
Input schema / $defs / __schema23 / properties / tokenRemoved value: -{ - "maxLength": 65536, - "type": "string" -} - changed
Input schema / $defs / __schema23 / requiredPrevious value: -[ - "key", - "token" -]New value: +[ + "mode", + "expectedRevision" +] - added
Input schema / $defs / __schema24 / additionalPropertiesAdded value: +false - removed
Input schema / $defs / __schema24 / maxLengthRemoved value: -128 - removed
Input schema / $defs / __schema24 / minLengthRemoved value: -1 - added
Input schema / $defs / __schema24 / propertiesAdded value: +{ + "basis": { + "items": { + "$ref": "#/$defs/__schema25" + }, + "maxItems": 2048, + "type": "array" + }, + "compositionId": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "mode": { + "const": "guarded", + "type": "string" + }, + "observedRevision": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + } +} - added
Input schema / $defs / __schema24 / requiredAdded value: +[ + "mode", + "observedRevision", + "basis" +] - changed
Input schema / $defs / __schema24 / typePrevious value: -"string"New value: +"object" - added
Input schema / $defs / __schema25Added value: +{ + "additionalProperties": false, + "properties": { + "key": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "token": { + "maxLength": 65536, + "type": "string" + } + }, + "required": [ + "key", + "token" + ], + "type": "object" +} - added
Input schema / $defs / __schema26Added value: +{ + "maxLength": 128, + "minLength": 1, + "type": "string" +} - changed
Input schema / properties / body / properties / compositionId / $refPrevious value: -"#/$defs/__schema19"New value: +"#/$defs/__schema21" - changed
Input schema / properties / body / properties / concurrency / $refPrevious value: -"#/$defs/__schema20"New value: +"#/$defs/__schema22" - added
Input schema / properties / body / properties / expectedHeadVersionIdAdded value: +{ + "$ref": "#/$defs/__schema19" +} - changed
Input schema / properties / body / properties / projectId / $refPrevious value: -"#/$defs/__schema18"New value: +"#/$defs/__schema20" - added
Input schema / properties / body / properties / registryProvenanceAdded value: +{ + "$ref": "#/$defs/__schema18" +} - removed
Input schema / properties / body / properties / source / $refRemoved value: -"#/$defs/__schema11" - added
Input schema / properties / body / properties / source / descriptionAdded value: +"Call describe_tool_input with tool \"update_component\" and field \"source\" for the exact JSON Schema." - added
Input schema / properties / body / properties / source / requiredAdded value: +[ + "version", + "componentId", + "template", + "manifest", + "definition" +] - added
Input schema / properties / body / properties / source / typeAdded value: +"object" - changed
Input schema / properties / commandId / $refPrevious value: -"#/$defs/__schema24"New value: +"#/$defs/__schema26"
- Changed
validate_composition16 fields changed- removed
Input schema / $defsRemoved value: -{ - "__schema0": { - "additionalProperties": {}, - "properties": { - "bias": { - "additionalProperties": { - "$ref": "#/$defs/__schema11" - }, - "description": "Optional FINE framing nudge off the focus center, source-normalized in [−0.3, 0.3]. A small correction (headroom, rule-of-thirds), NOT a reframe — use `focus`/`zoom` for the actual shot. Omit (treated as 0) to sit dead-center on the focus.", - "properties": { - "x": { - "$ref": "#/$defs/__schema9" - }, - "y": { - "$ref": "#/$defs/__schema10" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "ease": { - "additionalProperties": { - "$ref": "#/$defs/__schema8" - }, - "description": "Zoom/center ramp DURATIONS in SECONDS at this segment's edges — NOT a unitless 0–1 curve. ~0.3–0.6s reads as a snappy push; >1s reads sluggish. Keep `in` + `out` ≤ the segment's duration (endSec − startSec): the two edges share the span, so to ramp across the WHOLE segment set one edge to the full duration and the other to 0. Omit for an instant cut to this framing.", - "properties": { - "in": { - "$ref": "#/$defs/__schema6" - }, - "out": { - "$ref": "#/$defs/__schema7" - } - }, - "required": [ - "in", - "out" - ], - "type": "object" - }, - "endSec": { - "description": "Segment END in seconds, clip-relative. The span (endSec − startSec) is this segment's duration — the window `ease` ramps over.", - "exclusiveMinimum": 0, - "type": "number" - }, - "focus": { - "description": "WHO/WHAT the camera tracks this segment (the reframe center), selected by `mode`: `frame-center` = no tracking, hold the geometric center (static/graphic footage, or a pure zoom); `point` = lock to a fixed source-normalized {x,y} (a non-moving on-screen element); `face` = track a detected face by `faceId` (from get_media_context), with optional `shotScale` close|standard|wide for tightness; `all-faces` = frame the bounding box of every detected face (group/ensemble shots); `active-speaker` = follow whoever is speaking (diarized talking-head / podcast). Pick by what the beat is about; pair with `zoom` for how tight.", - "oneOf": [ - { - "$ref": "#/$defs/__schema1" - }, - { - "$ref": "#/$defs/__schema2" - }, - { - "$ref": "#/$defs/__schema3" - }, - { - "$ref": "#/$defs/__schema4" - }, - { - "$ref": "#/$defs/__schema5" - } - ] - }, - "intent": { - "description": "Optional editorial LABEL for diff/log readability (e.g. 'speaker-tight', 'wide-context'). Cosmetic — NOT honored by the derive math and excluded from the variant cache key.", - "type": "string" - }, - "startSec": { - "description": "Segment START in seconds, clip-relative. Segments tile the clip's duration in order.", - "minimum": 0, - "type": "number" - }, - "zoom": { - "description": "How TIGHT the framing is — the fraction of the source the output viewport shows. <1 punches IN (a smaller source fraction, magnified to fill the frame); 1 = the full frame (no crop). ~0.6–0.8 is a moderate push-in, ~0.5 a tight close-up, 0.1 the maximum zoom. There is NO zoom-OUT past the full frame (max 1). Omit for the full frame. MUTUALLY EXCLUSIVE with `focus.shotScale`: a face-tracked shot is sized EITHER by the editorial scale (shotScale, calibrated to the detected face) OR by an explicit zoom — never both.", - "maximum": 1, - "minimum": 0.1, - "type": "number" - } - }, - "required": [ - "startSec", - "endSec", - "focus" - ], - "type": "object" - }, - "__schema1": { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "frame-center", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - "__schema10": { - "description": "Vertical nudge, source-normalized (+ = down).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "__schema11": {}, - "__schema12": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema13" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema13" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "__schema13": { - "anyOf": [ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - }, - { - "items": { - "$ref": "#/$defs/__schema13" - }, - "type": "array" - }, - { - "additionalProperties": { - "$ref": "#/$defs/__schema13" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - ] - }, - "__schema14": { - "minLength": 1, - "type": "string" - }, - "__schema15": { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "type": "object" - }, - "__schema16": { - "maximum": 2, - "minimum": -1, - "type": "number" - }, - "__schema17": { - "maximum": 2, - "minimum": -1, - "type": "number" - }, - "__schema18": {}, - "__schema19": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "__schema2": { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "point", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "mode", - "x", - "y" - ], - "type": "object" - }, - "__schema20": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "__schema21": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "__schema22": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "__schema23": {}, - "__schema24": { - "additionalProperties": false, - "properties": { - "ease": { - "type": "string" - }, - "percentage": { - "type": "number" - }, - "properties": { - "additionalProperties": { - "type": "number" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - }, - "required": [ - "percentage", - "properties" - ], - "type": "object" - }, - "__schema25": { - "additionalProperties": false, - "properties": { - "t": { - "type": "number" - }, - "v": { - "type": "number" - } - }, - "required": [ - "t", - "v" - ], - "type": "object" - }, - "__schema26": { - "additionalProperties": false, - "properties": { - "enabled": { - "type": "boolean" - }, - "mediaId": { - "type": "string" - }, - "sha256": { - "type": "string" - } - }, - "required": [ - "mediaId", - "sha256", - "enabled" - ], - "type": "object" - }, - "__schema27": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "__schema28": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "__schema29": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "__schema3": { - "additionalProperties": {}, - "properties": { - "faceId": { - "minLength": 1, - "type": "string" - }, - "mode": { - "const": "face", - "type": "string" - }, - "shotScale": { - "enum": [ - "close", - "standard", - "wide" - ], - "type": "string" - } - }, - "required": [ - "mode", - "faceId" - ], - "type": "object" - }, - "__schema30": { - "additionalProperties": {}, - "properties": { - "annotationColor": { - "type": "string" - }, - "annotationStrokeWidth": { - "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.", - "maximum": 12, - "minimum": 0.5, - "type": "number" - }, - "annotationTexture": { - "description": "Native annotation stroke finish; default clean.", - "enum": [ - "clean", - "pencil" - ], - "type": "string" - }, - "backgroundColor": { - "type": "string" - }, - "color": { - "minLength": 1, - "type": "string" - }, - "emphasisColor": { - "type": "string" - }, - "emphasisFontFamily": { - "type": "string" - }, - "emphasisFontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "emphasisFontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "emphasisGradient": { - "type": "string" - }, - "emphasisLetterSpacing": { - "type": "number" - }, - "emphasisPlate": { - "type": "boolean" - }, - "emphasisPlateAltColor": { - "type": "string" - }, - "emphasisPlateAltTextColor": { - "type": "string" - }, - "emphasisPlateColor": { - "type": "string" - }, - "emphasisPlatePadX": { - "type": "number" - }, - "emphasisPlatePadY": { - "type": "number" - }, - "emphasisPlateRadius": { - "minimum": 0, - "type": "number" - }, - "emphasisPlateReveal": { - "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.", - "type": "boolean" - }, - "emphasisPlateTextColor": { - "type": "string" - }, - "emphasisScale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "emphasisTextTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "entrance": { - "enum": [ - "none", - "fade", - "word-pop", - "stagger-up" - ], - "type": "string" - }, - "entranceMs": { - "minimum": 0, - "type": "number" - }, - "entranceStaggerMs": { - "minimum": 0, - "type": "number" - }, - "exitMs": { - "minimum": 0, - "type": "number" - }, - "fontFamily": { - "minLength": 1, - "type": "string" - }, - "fontSize": { - "description": "Font size as % of composition height (1-15, default 5). NOT px.", - "maximum": 15, - "minimum": 1, - "type": "number" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "highlightColor": { - "minLength": 1, - "type": "string" - }, - "letterSpacing": { - "description": "Base caption glyph spacing in pixels.", - "maximum": 20, - "minimum": -5, - "type": "number" - }, - "lineGapEm": { - "description": "Gap between caption lines as a multiple of base font size; default 0.25.", - "maximum": 2, - "minimum": 0, - "type": "number" - }, - "maxWidthPercent": { - "exclusiveMinimum": 0, - "maximum": 100, - "type": "number" - }, - "plate": { - "enum": [ - "glass", - "solid", - "none" - ], - "type": "string" - }, - "position": { - "enum": [ - "top", - "center", - "bottom" - ], - "type": "string" - }, - "region": { - "additionalProperties": { - "$ref": "#/$defs/__schema35" - }, - "description": "Optional caption layout box {x,y,w,h} in normalized output-frame coordinates. Overrides position; text starts at its top edge and wraps/pages within its width and height.", - "properties": { - "h": { - "$ref": "#/$defs/__schema34" - }, - "w": { - "$ref": "#/$defs/__schema33" - }, - "x": { - "$ref": "#/$defs/__schema31" - }, - "y": { - "$ref": "#/$defs/__schema32" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "textTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "wordGapEm": { - "description": "Gap between caption runs as a multiple of base font size; default 0.35.", - "maximum": 2, - "minimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "__schema31": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "__schema32": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "__schema33": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "__schema34": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "__schema35": {}, - "__schema36": { - "items": { - "additionalProperties": false, - "properties": { - "holdThroughWordIndex": { - "description": "Inclusive saved-word index in this segment. The layout stays visible until that word ends.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "region": { - "additionalProperties": {}, - "properties": { - "h": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "w": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "rotation": { - "maximum": 45, - "minimum": -45, - "type": "number" - }, - "scale": { - "maximum": 4, - "minimum": 0.25, - "type": "number" - }, - "segmentIndex": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "style": { - "additionalProperties": false, - "properties": { - "annotationColor": { - "type": "string" - }, - "annotationStrokeWidth": { - "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.", - "maximum": 12, - "minimum": 0.5, - "type": "number" - }, - "annotationTexture": { - "description": "Native annotation stroke finish; default clean.", - "enum": [ - "clean", - "pencil" - ], - "type": "string" - }, - "backgroundColor": { - "type": "string" - }, - "color": { - "minLength": 1, - "type": "string" - }, - "emphasisColor": { - "type": "string" - }, - "emphasisFontFamily": { - "type": "string" - }, - "emphasisFontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "emphasisFontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "emphasisLetterSpacing": { - "type": "number" - }, - "emphasisPlate": { - "type": "boolean" - }, - "emphasisPlateAltColor": { - "type": "string" - }, - "emphasisPlateAltTextColor": { - "type": "string" - }, - "emphasisPlateColor": { - "type": "string" - }, - "emphasisPlatePadX": { - "type": "number" - }, - "emphasisPlatePadY": { - "type": "number" - }, - "emphasisPlateRadius": { - "minimum": 0, - "type": "number" - }, - "emphasisPlateReveal": { - "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.", - "type": "boolean" - }, - "emphasisPlateTextColor": { - "type": "string" - }, - "emphasisScale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "emphasisTextTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "entrance": { - "enum": [ - "none", - "fade", - "word-pop", - "stagger-up" - ], - "type": "string" - }, - "entranceMs": { - "minimum": 0, - "type": "number" - }, - "entranceStaggerMs": { - "minimum": 0, - "type": "number" - }, - "exitMs": { - "minimum": 0, - "type": "number" - }, - "fontFamily": { - "minLength": 1, - "type": "string" - }, - "fontSize": { - "description": "Font size as % of composition height (1-15, default 5). NOT px.", - "maximum": 15, - "minimum": 1, - "type": "number" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "highlightColor": { - "minLength": 1, - "type": "string" - }, - "letterSpacing": { - "description": "Base caption glyph spacing in pixels.", - "maximum": 20, - "minimum": -5, - "type": "number" - }, - "lineGapEm": { - "description": "Gap between caption lines as a multiple of base font size; default 0.25.", - "maximum": 2, - "minimum": 0, - "type": "number" - }, - "plate": { - "enum": [ - "glass", - "solid", - "none" - ], - "type": "string" - }, - "textTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "wordGapEm": { - "description": "Gap between caption runs as a multiple of base font size; default 0.35.", - "maximum": 2, - "minimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "wordEndIndex": { - "description": "Exclusive word index in the saved caption segment.", - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "wordMarks": { - "items": { - "additionalProperties": false, - "properties": { - "annotate": { - "anyOf": [ - { - "enum": [ - "circle", - "underline" - ], - "type": "string" - }, - { - "type": "null" - } - ] - }, - "emphasis": { - "type": "boolean" - }, - "wordIndex": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "wordIndex" - ], - "type": "object" - }, - "type": "array" - }, - "wordSignature": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "wordStartIndex": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "segmentIndex", - "wordStartIndex", - "wordEndIndex", - "region", - "wordSignature" - ], - "type": "object" - }, - "type": "array" - }, - "__schema4": { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "all-faces", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - "__schema5": { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "active-speaker", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - "__schema6": { - "description": "Ease-IN ramp DURATION in seconds at the segment START.", - "minimum": 0, - "type": "number" - }, - "__schema7": { - "description": "Ease-OUT ramp DURATION in seconds at the segment END.", - "minimum": 0, - "type": "number" - }, - "__schema8": {}, - "__schema9": { - "description": "Horizontal nudge, source-normalized (+ = right).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - } -} - added
Input schema / properties / body / properties / captions / descriptionAdded value: +"Call describe_tool_input with tool \"validate_composition\" and field \"captions\" for the exact JSON Schema." - removed
Input schema / properties / body / properties / captions / oneOfRemoved value: -[ - { - "additionalProperties": {}, - "properties": { - "from": { - "additionalProperties": {}, - "properties": { - "clipId": { - "type": "string" - } - }, - "required": [ - "clipId" - ], - "type": "object" - }, - "layouts": { - "$ref": "#/$defs/__schema36" - }, - "segments": { - "items": { - "additionalProperties": {}, - "properties": { - "words": { - "items": { - "additionalProperties": {}, - "properties": { - "annotate": { - "enum": [ - "circle", - "underline" - ], - "type": "string" - }, - "emphasis": { - "type": "boolean" - }, - "endMs": { - "description": "Word end on the composition timeline, in milliseconds.", - "minimum": 0, - "type": "number" - }, - "startMs": { - "description": "Word start on the composition timeline, in milliseconds.", - "minimum": 0, - "type": "number" - }, - "text": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "text", - "startMs", - "endMs" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "words" - ], - "type": "object" - }, - "type": "array" - }, - "source": { - "const": "derived", - "type": "string" - }, - "style": { - "$ref": "#/$defs/__schema30" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "source", - "from", - "segments" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "layouts": { - "$ref": "#/$defs/__schema36" - }, - "segments": { - "items": { - "additionalProperties": {}, - "properties": { - "words": { - "items": { - "additionalProperties": {}, - "properties": { - "annotate": { - "enum": [ - "circle", - "underline" - ], - "type": "string" - }, - "emphasis": { - "type": "boolean" - }, - "endMs": { - "description": "Word end on the composition timeline, in milliseconds.", - "minimum": 0, - "type": "number" - }, - "startMs": { - "description": "Word start on the composition timeline, in milliseconds.", - "minimum": 0, - "type": "number" - }, - "text": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "text", - "startMs", - "endMs" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "words" - ], - "type": "object" - }, - "type": "array" - }, - "source": { - "const": "authored", - "type": "string" - }, - "style": { - "$ref": "#/$defs/__schema30" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "source", - "segments" - ], - "type": "object" - } -] - removed
Input schema / properties / body / properties / format / additionalPropertiesRemoved value: -{} - added
Input schema / properties / body / properties / format / descriptionAdded value: +"Call describe_tool_input with tool \"validate_composition\" and field \"format\" for the exact JSON Schema." - removed
Input schema / properties / body / properties / format / propertiesRemoved value: -{ - "aspectRatio": { - "enum": [ - "16:9", - "9:16", - "1:1", - "4:5" - ], - "type": "string" - }, - "fps": { - "anyOf": [ - { - "const": 24, - "type": "number" - }, - { - "const": 25, - "type": "number" - }, - { - "const": 30, - "type": "number" - }, - { - "const": 60, - "type": "number" - } - ] - }, - "platform": { - "type": "string" - }, - "resolution": { - "enum": [ - "hd", - "fhd", - "4k" - ], - "type": "string" - } -} - added
Input schema / properties / body / properties / markers / descriptionAdded value: +"Call describe_tool_input with tool \"validate_composition\" and field \"markers\" for the exact JSON Schema." - removed
Input schema / properties / body / properties / markers / items / additionalPropertiesRemoved value: -false - removed
Input schema / properties / body / properties / markers / items / propertiesRemoved value: -{ - "endTime": { - "minimum": 0, - "type": "number" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "kind": { - "minLength": 1, - "type": "string" - }, - "metadata": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "name": { - "type": "string" - }, - "startTime": { - "minimum": 0, - "type": "number" - } -} - removed
Input schema / properties / body / properties / media / additionalPropertiesRemoved value: -{ - "additionalProperties": false, - "properties": { - "inputTransform": { - "additionalProperties": false, - "properties": { - "id": { - "enum": [ - "rec709", - "insta360-ilog", - "custom-lut", - "apple-log" - ], - "type": "string" - }, - "table": { - "additionalProperties": false, - "properties": { - "enabled": { - "type": "boolean" - }, - "mediaId": { - "type": "string" - }, - "sha256": { - "type": "string" - } - }, - "required": [ - "mediaId", - "sha256", - "enabled" - ], - "type": "object" - }, - "version": { - "const": 1, - "type": "number" - }, - "ycbcr": { - "additionalProperties": false, - "properties": { - "matrix": { - "enum": [ - "bt709", - "bt2020", - "bt601" - ], - "type": "string" - }, - "range": { - "enum": [ - "limited", - "full" - ], - "type": "string" - } - }, - "required": [ - "matrix", - "range" - ], - "type": "object" - } - }, - "required": [ - "version", - "id" - ], - "type": "object" - } - }, - "required": [ - "inputTransform" - ], - "type": "object" -} - added
Input schema / properties / body / properties / media / descriptionAdded value: +"Call describe_tool_input with tool \"validate_composition\" and field \"media\" for the exact JSON Schema." - removed
Input schema / properties / body / properties / media / propertiesRemoved value: -{} - removed
Input schema / properties / body / properties / media / propertyNamesRemoved value: -{ - "type": "string" -} - added
Input schema / properties / body / properties / tracks / descriptionAdded value: +"Call describe_tool_input with tool \"validate_composition\" and field \"tracks\" for the exact JSON Schema." - removed
Input schema / properties / body / properties / tracks / items / additionalPropertiesRemoved value: -false - removed
Input schema / properties / body / properties / tracks / items / propertiesRemoved value: -{ - "contents": { - "items": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "automation": { - "additionalProperties": false, - "properties": { - "lanes": { - "items": { - "additionalProperties": false, - "properties": { - "points": { - "items": { - "$ref": "#/$defs/__schema25" - }, - "minItems": 2, - "type": "array" - }, - "target": { - "const": "volume", - "type": "string" - } - }, - "required": [ - "target", - "points" - ], - "type": "object" - }, - "type": "array" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "lanes" - ], - "type": "object" - }, - "captionVisibility": { - "description": "Video media clip only. Hide native captions while this clip is topmost and covers the lower picture, or when an opaque, effect-free clip has an explicitly full-frame region, even with fit:contain. Caption words and timings remain stored and resume when another visible clip takes over.", - "enum": [ - "visible", - "hidden" - ], - "type": "string" - }, - "color": { - "additionalProperties": false, - "properties": { - "creative": { - "additionalProperties": false, - "properties": { - "enabled": { - "type": "boolean" - }, - "mediaId": { - "type": "string" - }, - "sha256": { - "type": "string" - }, - "strength": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "mediaId", - "sha256", - "enabled", - "strength" - ], - "type": "object" - }, - "display": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "enabled": { - "type": "boolean" - }, - "mediaId": { - "type": "string" - }, - "sha256": { - "type": "string" - } - }, - "required": [ - "mediaId", - "sha256", - "enabled" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bundled": { - "enum": [ - "daylight-negative", - "tungsten-negative", - "soft-negative", - "slide", - "black-and-white" - ], - "type": "string" - }, - "enabled": { - "type": "boolean" - } - }, - "required": [ - "bundled", - "enabled" - ], - "type": "object" - } - ] - }, - "enabled": { - "type": "boolean" - }, - "grade": { - "additionalProperties": false, - "properties": { - "blacks": { - "maximum": 1, - "minimum": -1, - "type": "number" - }, - "contrast": { - "maximum": 1, - "minimum": -1, - "type": "number" - }, - "exposure": { - "maximum": 4, - "minimum": -4, - "type": "number" - }, - "highlights": { - "maximum": 1, - "minimum": -1, - "type": "number" - }, - "saturation": { - "maximum": 1, - "minimum": -1, - "type": "number" - }, - "shadows": { - "maximum": 1, - "minimum": -1, - "type": "number" - }, - "temperature": { - "maximum": 1, - "minimum": -1, - "type": "number" - }, - "tint": { - "maximum": 1, - "minimum": -1, - "type": "number" - }, - "vibrance": { - "maximum": 1, - "minimum": -1, - "type": "number" - }, - "whites": { - "maximum": 1, - "minimum": -1, - "type": "number" - } - }, - "required": [ - "exposure", - "contrast", - "highlights", - "shadows", - "whites", - "blacks", - "temperature", - "tint", - "vibrance", - "saturation" - ], - "type": "object" - }, - "grain": { - "additionalProperties": false, - "properties": { - "amount": { - "maximum": 2, - "minimum": 0, - "type": "number" - }, - "enabled": { - "type": "boolean" - }, - "gauge": { - "enum": [ - "super8", - "super16", - "super35", - "65mm" - ], - "type": "string" - }, - "profile": { - "enum": [ - "daylight-negative", - "tungsten-negative", - "soft-negative", - "slide", - "black-and-white" - ], - "type": "string" - }, - "seed": { - "maximum": 4294967295, - "minimum": 0, - "type": "integer" - }, - "size": { - "maximum": 4, - "minimum": 0.5, - "type": "number" - } - }, - "required": [ - "enabled", - "profile", - "gauge", - "amount", - "size", - "seed" - ], - "type": "object" - }, - "halation": { - "additionalProperties": false, - "properties": { - "amount": { - "maximum": 0.5, - "minimum": 0, - "type": "number" - }, - "enabled": { - "type": "boolean" - }, - "radius": { - "maximum": 0.02, - "minimum": 0.0005, - "type": "number" - }, - "threshold": { - "maximum": 16, - "minimum": 0, - "type": "number" - }, - "tint": { - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "$ref": "#/$defs/__schema27" - }, - { - "$ref": "#/$defs/__schema28" - }, - { - "$ref": "#/$defs/__schema29" - } - ], - "type": "array" - } - }, - "required": [ - "enabled", - "amount", - "radius", - "threshold", - "tint" - ], - "type": "object" - }, - "looks": { - "items": { - "$ref": "#/$defs/__schema26" - }, - "maxItems": 2, - "type": "array" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "enabled", - "grade", - "looks" - ], - "type": "object" - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "effects": { - "items": { - "additionalProperties": false, - "properties": { - "component": { - "$ref": "#/$defs/__schema12" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "window": { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "startTime": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "startTime", - "duration" - ], - "type": "object" - } - }, - "type": "object" - }, - "type": "array" - }, - "fit": { - "enum": [ - "cover", - "contain" - ], - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "kind": { - "enum": [ - "video", - "audio", - "image", - "overlay", - "effect" - ], - "type": "string" - }, - "legacyKeyframes": { - "additionalProperties": false, - "properties": { - "channels": { - "items": { - "type": "string" - }, - "type": "array" - }, - "needsUpgrade": { - "const": true, - "type": "boolean" - }, - "record": {} - }, - "required": [ - "needsUpgrade", - "channels", - "record" - ], - "type": "object" - }, - "linkGroupId": { - "minLength": 1, - "type": "string" - }, - "opacity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "position": { - "additionalProperties": { - "$ref": "#/$defs/__schema18" - }, - "description": "Clip CENTRE as a fraction of the frame: {x:0.5,y:0.5} is dead centre, 0 to 1 is inside the frame, and a little overshoot (down to -1, up to 2) is how an entrance starts off-canvas. NOT pixels: the renderer maps x to `left: x*100%`, so `x: 180` sits 180 frame-widths away and draws nothing.", - "properties": { - "x": { - "$ref": "#/$defs/__schema16" - }, - "y": { - "$ref": "#/$defs/__schema17" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "region": { - "additionalProperties": { - "$ref": "#/$defs/__schema23" - }, - "description": "A window in the frame that the clip draws into and is clipped to (top-left corner and size, each a frame fraction). Inside a region, `position` and `scale` act relative to that window, so content moved past its edge is cut off. Omit it to place the clip against the whole frame.", - "properties": { - "h": { - "$ref": "#/$defs/__schema22" - }, - "w": { - "$ref": "#/$defs/__schema21" - }, - "x": { - "$ref": "#/$defs/__schema19" - }, - "y": { - "$ref": "#/$defs/__schema20" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "rotation": { - "type": "number" - }, - "scale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "source": { - "oneOf": [ - { - "additionalProperties": {}, - "properties": { - "anchor": { - "additionalProperties": {}, - "properties": { - "clipId": { - "minLength": 1, - "type": "string" - }, - "offsetMs": { - "type": "number" - } - }, - "required": [ - "clipId", - "offsetMs" - ], - "type": "object" - }, - "audioRole": { - "description": "Mix role. A role sets the clip's default gain when it has no `volume` or `volumeDb`: vo 0 dB, sfx -6 dB, music -8 dB (-16 dB when any vo clip exists), ambience -22 dB. Set `volumeDb: 0` to keep a role and play the source at its own level.", - "enum": [ - "sfx", - "music", - "vo", - "ambience" - ], - "type": "string" - }, - "duck": { - "additionalProperties": {}, - "properties": { - "attackMs": { - "minimum": 0, - "type": "number" - }, - "duckDb": { - "maximum": 0, - "type": "number" - }, - "releaseMs": { - "minimum": 0, - "type": "number" - }, - "windows": { - "items": { - "additionalProperties": {}, - "properties": { - "endMs": { - "type": "number" - }, - "startMs": { - "type": "number" - } - }, - "required": [ - "startMs", - "endMs" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "duckDb", - "attackMs", - "releaseMs" - ], - "type": "object" - }, - "excludedRanges": { - "items": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "reason": { - "type": "string" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "type": "array" - }, - "fadeInMs": { - "minimum": 0, - "type": "number" - }, - "fadeOutMs": { - "minimum": 0, - "type": "number" - }, - "kenBurns": { - "description": "Still-image motion. When unset, an image clip slowly pushes in (`in`) unless its fit is `contain` or it keyframes scale, position or rotation, so a keyframed clip renders exactly its keyframed values; set `none` for a still that holds.", - "enum": [ - "in", - "out", - "pan-l", - "pan-r", - "none" - ], - "type": "string" - }, - "kind": { - "const": "media", - "type": "string" - }, - "loop": { - "type": "boolean" - }, - "mediaId": { - "type": "string" - }, - "muted": { - "type": "boolean" - }, - "playbackRate": { - "exclusiveMinimum": 0, - "type": "number" - }, - "reframe": { - "additionalProperties": {}, - "properties": { - "segments": { - "items": { - "$ref": "#/$defs/__schema0" - }, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "segments" - ], - "type": "object" - }, - "sync": { - "enum": [ - "video", - "independent" - ], - "type": "string" - }, - "trim": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "volume": { - "maximum": 4, - "minimum": 0, - "type": "number" - }, - "volumeDb": { - "type": "number" - } - }, - "required": [ - "kind", - "mediaId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "componentId": { - "minLength": 1, - "type": "string" - }, - "execution": { - "$ref": "#/$defs/__schema12" - }, - "kind": { - "const": "component", - "type": "string" - }, - "placement": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "clip", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "content-slots", - "type": "string" - }, - "slots": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "ownership": { - "enum": [ - "reference", - "exclusive" - ], - "type": "string" - }, - "targetClipIds": { - "items": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "targetClipIds", - "ownership" - ], - "type": "object" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind", - "slots" - ], - "type": "object" - } - ] - }, - "props": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "retired": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "componentId", - "props" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "anchor": { - "additionalProperties": {}, - "properties": { - "space": { - "const": "scene", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "space", - "x", - "y" - ], - "type": "object" - }, - "kind": { - "const": "overlay", - "type": "string" - }, - "parallax": { - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "pattern": "^(?!custom$)", - "type": "string" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "primitiveId", - "params" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "component": { - "$ref": "#/$defs/__schema12" - }, - "kind": { - "const": "effect", - "type": "string" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "targetTrackIds": { - "items": { - "$ref": "#/$defs/__schema14" - }, - "minItems": 1, - "type": "array" - }, - "wrapperOrder": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "html": { - "description": "Self-contained card markup sized to the format's pixel frame. Motion comes from frame-driven vars, never @keyframes or transition: --cf-frame, --cf-t (seconds), --cf-fps, --cf-duration, --cf-progress, --cf-ease, --cf-enter, --cf-exit. Visible copy goes in the html as plain text. Wrap a run in <span data-cf-split=\"words\"> or \"chars\" and each unit becomes its own span carrying --cf-i (its index, the group carries --cf-n), so one rule staggers it (in chars, spaces count as units), e.g. opacity:clamp(0,calc(var(--cf-t)*4 - var(--cf-i)*.3),1). save_as_template binds that copy with textParams match.", - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "card", - "type": "string" - }, - "tokens": { - "$ref": "#/$defs/__schema15", - "description": "Style values the html reads as CSS custom properties: key x becomes --cf-x, so never put dashes in a key. Use tokens for colours and sizes, not visible copy.", - "propertyNames": { - "type": "string" - } - }, - "zPlane": { - "const": "front", - "type": "string" - } - }, - "required": [ - "kind", - "html" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "compositionId": { - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "composition", - "type": "string" - }, - "trim": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "compositionId" - ], - "type": "object" - } - ] - }, - "startTime": { - "minimum": 0, - "type": "number" - }, - "transitionIn": { - "additionalProperties": {}, - "properties": { - "component": { - "$ref": "#/$defs/__schema12" - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "fromClipId": { - "minLength": 1, - "type": "string" - }, - "handlePolicy": { - "const": "outgoing-overrun-at-cut-v1", - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "toClipId": { - "minLength": 1, - "type": "string" - }, - "type": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "type", - "duration" - ], - "type": "object" - }, - "tweens": { - "items": { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "keyframes": { - "additionalProperties": false, - "properties": { - "easeEach": { - "const": "none", - "type": "string" - }, - "format": { - "const": "percentage", - "type": "string" - }, - "keyframes": { - "items": { - "$ref": "#/$defs/__schema24" - }, - "minItems": 2, - "type": "array" - } - }, - "required": [ - "format", - "easeEach", - "keyframes" - ], - "type": "object" - }, - "position": { - "type": "number" - }, - "propertyGroup": { - "enum": [ - "visual", - "scale", - "rotation", - "position" - ], - "type": "string" - } - }, - "required": [ - "id", - "propertyGroup", - "position", - "duration", - "keyframes" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "id", - "startTime", - "duration", - "source" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "startTime": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "id", - "startTime", - "duration" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "enabled": { - "type": "boolean" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "kind": { - "enum": [ - "video", - "audio", - "image", - "overlay", - "effect" - ], - "type": "string" - }, - "name": { - "type": "string" - }, - "volume": { - "maximum": 4, - "minimum": 0, - "type": "number" - } -}
70 tool updates
- Changed
apply_composition330 fields changed- removed
Input schema / $defs / __schema0 / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - }, - { - "items": { - "$ref": "#/$defs/__schema0" - }, - "type": "array" - }, - { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } -] - added
Input schema / $defs / __schema0 / enumAdded value: +[ + "compact", + "full" +] - added
Input schema / $defs / __schema0 / typeAdded value: +"string" - removed
Input schema / $defs / __schema1 / anyOfRemoved value: -[ - { - "additionalProperties": false, - "properties": { - "children": { - "items": { - "$ref": "#/$defs/__schema1" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "group", - "type": "string" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - } - }, - "required": [ - "kind", - "id", - "children" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "laptop", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "openAngle": { - "maximum": 3.141592653589793, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema2" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 4000, - "minimum": 200, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "openAngle" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "phone", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema2" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 2000, - "minimum": 80, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "cornerRadius": { - "default": 32, - "minimum": 0, - "type": "number" - }, - "edgeRadius": { - "default": 15, - "minimum": 0, - "type": "number" - }, - "finish": { - "default": "satin", - "enum": [ - "satin", - "brushed" - ], - "type": "string" - }, - "height": { - "maximum": 8000, - "minimum": 40, - "type": "number" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "slab", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema2" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "thickness": { - "default": 32, - "maximum": 200, - "minimum": 4, - "type": "number" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 8000, - "minimum": 40, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "height" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "backface": { - "default": "hidden", - "enum": [ - "hidden", - "visible" - ], - "type": "string" - }, - "depthWrite": { - "default": true, - "type": "boolean" - }, - "fit": { - "default": "contain", - "enum": [ - "contain", - "cover" - ], - "type": "string" - }, - "height": { - "maximum": 8000, - "minimum": 40, - "type": "number" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "page", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema2" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "transparency": { - "default": "straight", - "enum": [ - "straight", - "premultiplied", - "opaque" - ], - "type": "string" - }, - "width": { - "maximum": 8000, - "minimum": 40, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "height", - "surfaces" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "align": { - "default": "center", - "enum": [ - "left", - "center", - "right" - ], - "type": "string" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "fontFamily": { - "anyOf": [ - { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9 _.\\-]*$", - "type": "string" - }, - { - "enum": [ - "$brand:fonts.heading", - "$brand:fonts.body", - "$brand:fonts.caption" - ], - "type": "string" - } - ] - }, - "fontSize": { - "maximum": 800, - "minimum": 8, - "type": "number" - }, - "fontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "text", - "type": "string" - }, - "letterSpacing": { - "default": 0, - "maximum": 40, - "minimum": -20, - "type": "number" - }, - "lineHeight": { - "default": 1.2, - "maximum": 3, - "minimum": 0.6, - "type": "number" - }, - "lines": { - "items": { - "additionalProperties": false, - "properties": { - "runs": { - "items": { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "emphasis": { - "type": "boolean" - }, - "text": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^\\r\\n]+$", - "type": "string" - } - }, - "required": [ - "text" - ], - "type": "object" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "runs" - ], - "type": "object" - }, - "maxItems": 24, - "minItems": 1, - "type": "array" - }, - "maxWidth": { - "exclusiveMinimum": 0, - "type": "number" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "space": { - "const": "world", - "type": "string" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - } - }, - "required": [ - "id", - "kind", - "lines", - "fontFamily", - "fontWeight", - "fontStyle", - "fontSize", - "color", - "space" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "align": { - "default": "center", - "enum": [ - "left", - "center", - "right" - ], - "type": "string" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "fontFamily": { - "anyOf": [ - { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9 _.\\-]*$", - "type": "string" - }, - { - "enum": [ - "$brand:fonts.heading", - "$brand:fonts.body", - "$brand:fonts.caption" - ], - "type": "string" - } - ] - }, - "fontSize": { - "maximum": 800, - "minimum": 8, - "type": "number" - }, - "fontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "text", - "type": "string" - }, - "letterSpacing": { - "default": 0, - "maximum": 40, - "minimum": -20, - "type": "number" - }, - "lineHeight": { - "default": 1.2, - "maximum": 3, - "minimum": 0.6, - "type": "number" - }, - "lines": { - "items": { - "additionalProperties": false, - "properties": { - "runs": { - "items": { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "emphasis": { - "type": "boolean" - }, - "text": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^\\r\\n]+$", - "type": "string" - } - }, - "required": [ - "text" - ], - "type": "object" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "runs" - ], - "type": "object" - }, - "maxItems": 24, - "minItems": 1, - "type": "array" - }, - "maxWidth": { - "exclusiveMinimum": 0, - "type": "number" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "rotation": { - "default": 0, - "type": "number" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - }, - "space": { - "const": "screen", - "type": "string" - }, - "x": { - "type": "number" - }, - "y": { - "type": "number" - } - }, - "required": [ - "id", - "kind", - "lines", - "fontFamily", - "fontWeight", - "fontStyle", - "fontSize", - "color", - "space", - "x", - "y" - ], - "type": "object" - } -] - added
Input schema / $defs / __schema1 / itemsAdded value: +{ + "$ref": "#/$defs/__schema2" +} - added
Input schema / $defs / __schema1 / minItemsAdded value: +1 - added
Input schema / $defs / __schema1 / typeAdded value: +"array" - added
Input schema / $defs / __schema10Added value: +{ + "additionalProperties": {}, + "properties": { + "faceId": { + "minLength": 1, + "type": "string" + }, + "mode": { + "const": "face", + "type": "string" + }, + "shotScale": { + "enum": [ + "close", + "standard", + "wide" + ], + "type": "string" + } + }, + "required": [ + "mode", + "faceId" + ], + "type": "object" +} - added
Input schema / $defs / __schema100Added value: +{ + "maximum": 1, + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema101Added value: +{ + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" +} - added
Input schema / $defs / __schema102Added value: +{ + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" +} - added
Input schema / $defs / __schema103Added value: +{} - added
Input schema / $defs / __schema104Added value: +{ + "additionalProperties": false, + "description": "Set the caption compositing plane. Use `behind-subject` to place captions behind the segmented foreground subject; use `front` for conventional captions above all video layers.", + "properties": { + "type": { + "$ref": "#/$defs/__schema105" + }, + "zPlane": { + "$ref": "#/$defs/__schema106" + } + }, + "required": [ + "type", + "zPlane" + ], + "type": "object" +} - added
Input schema / $defs / __schema105Added value: +{ + "const": "setCaptionDepth", + "type": "string" +} - added
Input schema / $defs / __schema106Added value: +{ + "enum": [ + "front", + "behind-subject" + ], + "type": "string" +} - added
Input schema / $defs / __schema107Added value: +{ + "additionalProperties": false, + "description": "Replace the caption SEGMENTS wholesale — author the word-timed caption layer directly (each segment = one sentence/page of `words` with timeline-ms `startMs`/`endMs`, optional `emphasis`). This is how a client with its OWN word timings (e.g. a generated VO take) gets word-synced captions without a source transcript; the compose lane's transcript slice writes the same layer. `style`, when given, merges with setCaptionStyle semantics; an omitted style keeps the existing one. Renderer paginates within a segment and never pools words across two — keep segments sentence-bounded.", + "properties": { + "segments": { + "$ref": "#/$defs/__schema109" + }, + "style": { + "$ref": "#/$defs/__schema110" + }, + "type": { + "$ref": "#/$defs/__schema108" + } + }, + "required": [ + "type", + "segments" + ], + "type": "object" +} - added
Input schema / $defs / __schema108Added value: +{ + "const": "setCaptions", + "type": "string" +} - added
Input schema / $defs / __schema109Added value: +{ + "items": { + "additionalProperties": {}, + "properties": { + "words": { + "items": { + "additionalProperties": {}, + "properties": { + "annotate": { + "enum": [ + "circle", + "underline" + ], + "type": "string" + }, + "emphasis": { + "type": "boolean" + }, + "endMs": { + "description": "Word end on the composition timeline, in milliseconds.", + "minimum": 0, + "type": "number" + }, + "startMs": { + "description": "Word start on the composition timeline, in milliseconds.", + "minimum": 0, + "type": "number" + }, + "text": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "text", + "startMs", + "endMs" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "words" + ], + "type": "object" + }, + "type": "array" +} - added
Input schema / $defs / __schema11Added value: +{ + "additionalProperties": {}, + "properties": { + "mode": { + "const": "all-faces", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" +} - added
Input schema / $defs / __schema110Added value: +{ + "$ref": "#/$defs/__schema98" +} - added
Input schema / $defs / __schema111Added value: +{ + "additionalProperties": false, + "description": "Replace native caption placements without changing transcript words or timings. Each layout references a half-open word-index range in one saved segment; a one-word range is valid. region places that group independently, optional bounded scale/rotation/style changes its look, and holdThroughWordIndex keeps it visible through a later saved word in the same segment. All words in a placed range occupy one page; rendering refuses a range that cannot fit its box, so enlarge region or split the range. The box reserves horizontal space of 1.6 font sizes and vertical space of 0.8 font sizes for padding, with at most three lines. Unreferenced words keep the default caption layout. Word ranges must not overlap. Reapply after caption regeneration or timeline cuts.", + "properties": { + "layouts": { + "$ref": "#/$defs/__schema113" + }, + "type": { + "$ref": "#/$defs/__schema112" + } + }, + "required": [ + "type", + "layouts" + ], + "type": "object" +} - added
Input schema / $defs / __schema112Added value: +{ + "const": "setCaptionLayouts", + "type": "string" +} - added
Input schema / $defs / __schema113Added value: +{ + "items": { + "additionalProperties": false, + "properties": { + "holdThroughWordIndex": { + "description": "Inclusive saved-word index in this segment. The layout stays visible until that word ends.", + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "region": { + "additionalProperties": {}, + "properties": { + "h": { + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "w": { + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "x": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "x", + "y", + "w", + "h" + ], + "type": "object" + }, + "rotation": { + "maximum": 45, + "minimum": -45, + "type": "number" + }, + "scale": { + "maximum": 4, + "minimum": 0.25, + "type": "number" + }, + "segmentIndex": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "style": { + "additionalProperties": false, + "properties": { + "annotationColor": { + "type": "string" + }, + "annotationStrokeWidth": { + "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.", + "maximum": 12, + "minimum": 0.5, + "type": "number" + }, + "annotationTexture": { + "description": "Native annotation stroke finish; default clean.", + "enum": [ + "clean", + "pencil" + ], + "type": "string" + }, + "backgroundColor": { + "type": "string" + }, + "color": { + "minLength": 1, + "type": "string" + }, + "emphasisColor": { + "type": "string" + }, + "emphasisFontFamily": { + "type": "string" + }, + "emphasisFontStyle": { + "enum": [ + "normal", + "italic" + ], + "type": "string" + }, + "emphasisFontWeight": { + "maximum": 900, + "minimum": 100, + "type": "integer" + }, + "emphasisLetterSpacing": { + "type": "number" + }, + "emphasisPlate": { + "type": "boolean" + }, + "emphasisPlateAltColor": { + "type": "string" + }, + "emphasisPlateAltTextColor": { + "type": "string" + }, + "emphasisPlateColor": { + "type": "string" + }, + "emphasisPlatePadX": { + "type": "number" + }, + "emphasisPlatePadY": { + "type": "number" + }, + "emphasisPlateRadius": { + "minimum": 0, + "type": "number" + }, + "emphasisPlateReveal": { + "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.", + "type": "boolean" + }, + "emphasisPlateTextColor": { + "type": "string" + }, + "emphasisScale": { + "exclusiveMinimum": 0, + "type": "number" + }, + "emphasisTextTransform": { + "enum": [ + "none", + "uppercase", + "capitalize" + ], + "type": "string" + }, + "entrance": { + "enum": [ + "none", + "fade", + "word-pop", + "stagger-up" + ], + "type": "string" + }, + "entranceMs": { + "minimum": 0, + "type": "number" + }, + "entranceStaggerMs": { + "minimum": 0, + "type": "number" + }, + "exitMs": { + "minimum": 0, + "type": "number" + }, + "fontFamily": { + "minLength": 1, + "type": "string" + }, + "fontSize": { + "description": "Font size as % of composition height (1-15, default 5). NOT px.", + "maximum": 15, + "minimum": 1, + "type": "number" + }, + "fontWeight": { + "maximum": 900, + "minimum": 100, + "type": "integer" + }, + "highlightColor": { + "minLength": 1, + "type": "string" + }, + "letterSpacing": { + "description": "Base caption glyph spacing in pixels.", + "maximum": 20, + "minimum": -5, + "type": "number" + }, + "lineGapEm": { + "description": "Gap between caption lines as a multiple of base font size; default 0.25.", + "maximum": 2, + "minimum": 0, + "type": "number" + }, + "plate": { + "enum": [ + "glass", + "solid", + "none" + ], + "type": "string" + }, + "textTransform": { + "enum": [ + "none", + "uppercase", + "capitalize" + ], + "type": "string" + }, + "wordGapEm": { + "description": "Gap between caption runs as a multiple of base font size; default 0.35.", + "maximum": 2, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "wordEndIndex": { + "description": "Exclusive word index in the saved caption segment.", + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + }, + "wordMarks": { + "items": { + "additionalProperties": false, + "properties": { + "annotate": { + "anyOf": [ + { + "enum": [ + "circle", + "underline" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "emphasis": { + "type": "boolean" + }, + "wordIndex": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "wordIndex" + ], + "type": "object" + }, + "type": "array" + }, + "wordStartIndex": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "segmentIndex", + "wordStartIndex", + "wordEndIndex", + "region" + ], + "type": "object" + }, + "type": "array" +} - added
Input schema / $defs / __schema114Added value: +{ + "additionalProperties": false, + "description": "Author a scene shot and place it on a dedicated overlay track. The host validates the scene, generates and registers an immutable wrapper component source, and emits the ordinary track/clip operations carrying `props.componentRef` — you edit a scene SPEC, never wrapper TSX or a source hash. Registration and the composition update are ONE undoable edit; a failure publishes nothing and leaves no clip pointing at an unresolved source. REQUIRED: `clipId`, `startTime`, `duration`, `scene` and `assets` (send `{}` when no layer references a slot), plus EXACTLY ONE of `trackId` (an existing dedicated scene track) or `newTrack: true` (mint one). A minted scene track is appended at the BACK like every new track, so it paints under existing tracks; raise it with `reorderTracks` (index 0 is the top layer). That track holds scene-shot clips and gaps only — no generic component/primitive/media clips in v1 — and existing generic overlay tracks are unaffected. Scene clips use front zPlane and full-frame placement: outer per-clip `region`, `position`, `scale`, `rotation`, `fit`, `effects`, keyframes (`tweens`/`automation`), `params.transition`, `params.sequenceGroup` and internal fadeIn/fadeOut are REFUSED with a path, because the shot's own layer transforms are the single transform owner. TEXT: `space: \"screen\"` text is composed above the world result, stays fixed in the frame and stays sharp through focus; `space: \"world\"` text is rasterized into the 3D scene, moves with the camera and is occluded by geometry. Screenshots and world text are UNLIT and colour-managed so product UI colours are not tinted by the studio lighting, while device bodies are lit and cast shadows; an unlit surface still occludes. SCOPE GAP (pre-existing, neither closed nor changed by scene shots): global wrap effects — composition-level grades and camera effects — do not reach front-overlay clips, so they do not affect a scene shot. Author the look INSIDE the shot (`post.grain`, `post.vignette`, `post.focus`, `backdrop`, `environment`) instead. DISCOVERY: there is no built-in scene primitive to look up in list_catalog; the wrapper this operation registers appears afterwards as an ordinary INSTALLED component under the existing catalog rules. ASSETS: `assets` binds each slot name a layer references to a media id in the same project, and the slot's declared KIND decides what it admits — an image slot takes PNG, JPEG or WebP, a video slot MP4 or WebM. Binding the wrong kind is refused with the slot's path.", + "properties": { + "assets": { + "$ref": "#/$defs/__schema193" + }, + "clipId": { + "$ref": "#/$defs/__schema116" + }, + "duration": { + "$ref": "#/$defs/__schema121" + }, + "newTrack": { + "$ref": "#/$defs/__schema118" + }, + "newTrackId": { + "$ref": "#/$defs/__schema119" + }, + "scene": { + "$ref": "#/$defs/__schema123" + }, + "startTime": { + "$ref": "#/$defs/__schema120" + }, + "trackId": { + "$ref": "#/$defs/__schema117" + }, + "transitionIn": { + "$ref": "#/$defs/__schema122" + }, + "type": { + "$ref": "#/$defs/__schema115" + } + }, + "required": [ + "type", + "clipId", + "startTime", + "duration", + "scene", + "assets" + ], + "type": "object" +} - added
Input schema / $defs / __schema115Added value: +{ + "const": "scene.add", + "type": "string" +} - added
Input schema / $defs / __schema116Added value: +{ + "minLength": 1, + "type": "string" +} - added
Input schema / $defs / __schema117Added value: +{ + "minLength": 1, + "type": "string" +} - added
Input schema / $defs / __schema118Added value: +{ + "type": "boolean" +} - added
Input schema / $defs / __schema119Added value: +{ + "minLength": 1, + "type": "string" +} - added
Input schema / $defs / __schema12Added value: +{ + "additionalProperties": {}, + "properties": { + "mode": { + "const": "active-speaker", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" +} - added
Input schema / $defs / __schema120Added value: +{ + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema121Added value: +{ + "exclusiveMinimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema122Added value: +{ + "additionalProperties": {}, + "properties": { + "component": { + "$ref": "#/$defs/__schema19" + }, + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "fromClipId": { + "minLength": 1, + "type": "string" + }, + "handlePolicy": { + "const": "outgoing-overrun-at-cut-v1", + "type": "string" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "toClipId": { + "minLength": 1, + "type": "string" + }, + "type": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "type", + "duration" + ], + "type": "object" +} - added
Input schema / $defs / __schema123Added value: +{ + "additionalProperties": false, + "description": "A version-2 scene shot: a self-contained 3D world-object shot that scene.add / scene.update materializes into an ordinary component clip. The shot owns its layers, camera, lighting, backdrop and normalized local animation; the composition owns start, duration, ordering, cuts and transitions. Coordinates are REFERENCE PIXELS: origin at frame centre, +X right, +Y down, +Z toward the viewer. referenceSize must have the SAME aspect ratio as the composition format; mismatch fails instead of cropping. At equal aspect ratio the shot scales uniformly by outputWidth/referenceWidth. A segment's easing belongs to the keyframe it ARRIVES at; the first keyframe has no easing. Authoring limits: 32 layers, 4 devices, 16 distinct image slots, 256 keyframes per channel, 2048 keyframes per shot. Version 2 supports nested groups, procedural slab/page/phone/laptop objects, screen- and world-space text, admitted image/component/video surfaces, fixed photographic and generated studio environments, transparent/solid/linear/radial backdrops, constraints, focus, grain and vignette. Raw HTML, custom shader props, imported GLB models, arbitrary external HDR environments, skeletal animation and physics are refused with an exact field path.", + "properties": { + "animation": { + "$ref": "#/$defs/__schema188" + }, + "backdrop": { + "$ref": "#/$defs/__schema134" + }, + "camera": { + "$ref": "#/$defs/__schema126" + }, + "constraints": { + "$ref": "#/$defs/__schema191" + }, + "environment": { + "$ref": "#/$defs/__schema133" + }, + "layers": { + "$ref": "#/$defs/__schema139" + }, + "post": { + "$ref": "#/$defs/__schema190" + }, + "referenceSize": { + "$ref": "#/$defs/__schema125" + }, + "version": { + "$ref": "#/$defs/__schema124" + } + }, + "required": [ + "version", + "referenceSize", + "layers" + ], + "type": "object" +} - added
Input schema / $defs / __schema124Added value: +{ + "const": 2, + "type": "number" +} - added
Input schema / $defs / __schema125Added value: +{ + "additionalProperties": false, + "properties": { + "height": { + "maximum": 8192, + "minimum": 16, + "type": "integer" + }, + "width": { + "maximum": 8192, + "minimum": 16, + "type": "integer" + } + }, + "required": [ + "width", + "height" + ], + "type": "object" +} - added
Input schema / $defs / __schema126Added value: +{ + "additionalProperties": false, + "properties": { + "fov": { + "maximum": 1.3962634015954636, + "minimum": 0.3141592653589793, + "type": "number" + }, + "position": { + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "$ref": "#/$defs/__schema127" + }, + { + "$ref": "#/$defs/__schema128" + }, + { + "$ref": "#/$defs/__schema129" + } + ], + "type": "array" + }, + "rotation": { + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "$ref": "#/$defs/__schema130" + }, + { + "$ref": "#/$defs/__schema131" + }, + { + "$ref": "#/$defs/__schema132" + } + ], + "type": "array" + } + }, + "type": "object" +} - added
Input schema / $defs / __schema127Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema128Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema129Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema13Added value: +{ + "description": "Ease-IN ramp DURATION in seconds at the segment START.", + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema130Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema131Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema132Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema133Added value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "floorY": { + "default": -420, + "type": "number" + }, + "intensity": { + "default": 1, + "minimum": 0, + "type": "number" + }, + "kind": { + "const": "studio", + "type": "string" + }, + "lightingProfile": { + "default": "studio", + "enum": [ + "studio", + "studio-edge" + ], + "type": "string" + }, + "preset": { + "default": "soft", + "enum": [ + "soft", + "key", + "rim" + ], + "type": "string" + }, + "shadowOpacity": { + "default": 0.5, + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "photographic-studio-v1", + "type": "string" + } + }, + "required": [ + "kind" + ], + "type": "object" + } + ], + "default": { + "floorY": -420, + "intensity": 1, + "lightingProfile": "studio", + "preset": "soft", + "shadowOpacity": 0.5 + } +} - added
Input schema / $defs / __schema134Added value: +{ + "default": { + "kind": "transparent" + }, + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "transparent", + "type": "string" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "color": { + "anyOf": [ + { + "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", + "type": "string" + }, + { + "enum": [ + "$brand:colors.background", + "$brand:colors.surface", + "$brand:colors.text", + "$brand:colors.textMuted", + "$brand:colors.accent", + "$brand:colors.accentStrong", + "$brand:colors.accentSoft", + "$brand:colors.success", + "$brand:colors.warning", + "$brand:colors.danger" + ], + "type": "string" + } + ] + }, + "kind": { + "const": "solid", + "type": "string" + } + }, + "required": [ + "kind", + "color" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "angle": { + "default": 0, + "type": "number" + }, + "kind": { + "const": "linear", + "type": "string" + }, + "stops": { + "items": { + "$ref": "#/$defs/__schema135" + }, + "maxItems": 8, + "minItems": 2, + "type": "array" + } + }, + "required": [ + "kind", + "stops" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "at": { + "default": [ + 0.5, + 0.5 + ], + "items": false, + "maxItems": 2, + "minItems": 2, + "prefixItems": [ + { + "$ref": "#/$defs/__schema136" + }, + { + "$ref": "#/$defs/__schema137" + } + ], + "type": "array" + }, + "kind": { + "const": "radial", + "type": "string" + }, + "stops": { + "items": { + "$ref": "#/$defs/__schema138" + }, + "maxItems": 8, + "minItems": 2, + "type": "array" + } + }, + "required": [ + "kind", + "stops" + ], + "type": "object" + } + ] +} - added
Input schema / $defs / __schema135Added value: +{ + "additionalProperties": false, + "properties": { + "at": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "color": { + "anyOf": [ + { + "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", + "type": "string" + }, + { + "enum": [ + "$brand:colors.background", + "$brand:colors.surface", + "$brand:colors.text", + "$brand:colors.textMuted", + "$brand:colors.accent", + "$brand:colors.accentStrong", + "$brand:colors.accentSoft", + "$brand:colors.success", + "$brand:colors.warning", + "$brand:colors.danger" + ], + "type": "string" + } + ] + } + }, + "required": [ + "at", + "color" + ], + "type": "object" +} - added
Input schema / $defs / __schema136Added value: +{ + "maximum": 1, + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema137Added value: +{ + "maximum": 1, + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema138Added value: +{ + "additionalProperties": false, + "properties": { + "at": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "color": { + "anyOf": [ + { + "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", + "type": "string" + }, + { + "enum": [ + "$brand:colors.background", + "$brand:colors.surface", + "$brand:colors.text", + "$brand:colors.textMuted", + "$brand:colors.accent", + "$brand:colors.accentStrong", + "$brand:colors.accentSoft", + "$brand:colors.success", + "$brand:colors.warning", + "$brand:colors.danger" + ], + "type": "string" + } + ] + } + }, + "required": [ + "at", + "color" + ], + "type": "object" +} - added
Input schema / $defs / __schema139Added value: +{ + "items": { + "$ref": "#/$defs/__schema140" + }, + "minItems": 1, + "type": "array" +} - added
Input schema / $defs / __schema14Added value: +{ + "description": "Ease-OUT ramp DURATION in seconds at the segment END.", + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema140Added value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "children": { + "items": { + "$ref": "#/$defs/__schema147" + }, + "maxItems": 16, + "minItems": 1, + "type": "array" + }, + "id": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", + "type": "string" + }, + "kind": { + "const": "group", + "type": "string" + }, + "opacity": { + "default": 1, + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "transform": { + "additionalProperties": false, + "default": { + "position": [ + 0, + 0, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "scale": 1 + }, + "properties": { + "position": { + "default": [ + 0, + 0, + 0 + ], + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "$ref": "#/$defs/__schema141" + }, + { + "$ref": "#/$defs/__schema142" + }, + { + "$ref": "#/$defs/__schema143" + } + ], + "type": "array" + }, + "rotation": { + "default": [ + 0, + 0, + 0 + ], + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "$ref": "#/$defs/__schema144" + }, + { + "$ref": "#/$defs/__schema145" + }, + { + "$ref": "#/$defs/__schema146" + } + ], + "type": "array" + }, + "scale": { + "default": 1, + "exclusiveMinimum": 0, + "type": "number" + } + }, + "type": "object" + } + }, + "required": [ + "kind", + "id", + "children" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "id": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", + "type": "string" + }, + "kind": { + "const": "laptop", + "type": "string" + }, + "materials": { + "$ref": "#/$defs/__schema154" + }, + "opacity": { + "default": 1, + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "openAngle": { + "maximum": 3.141592653589793, + "minimum": 0, + "type": "number" + }, + "surfaces": { + "$ref": "#/$defs/__schema156" + }, + "transform": { + "additionalProperties": false, + "default": { + "position": [ + 0, + 0, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "scale": 1 + }, + "properties": { + "position": { + "default": [ + 0, + 0, + 0 + ], + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "$ref": "#/$defs/__schema148" + }, + { + "$ref": "#/$defs/__schema149" + }, + { + "$ref": "#/$defs/__schema150" + } + ], + "type": "array" + }, + "rotation": { + "default": [ + 0, + 0, + 0 + ], + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "$ref": "#/$defs/__schema151" + }, + { + "$ref": "#/$defs/__schema152" + }, + { + "$ref": "#/$defs/__schema153" + } + ], + "type": "array" + }, + "scale": { + "default": 1, + "exclusiveMinimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "width": { + "maximum": 4000, + "minimum": 200, + "type": "number" + } + }, + "required": [ + "kind", + "id", + "width", + "openAngle" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "id": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", + "type": "string" + }, + "kind": { + "const": "phone", + "type": "string" + }, + "materials": { + "$ref": "#/$defs/__schema154" + }, + "opacity": { + "default": 1, + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "surfaces": { + "$ref": "#/$defs/__schema156" + }, + "transform": { + "additionalProperties": false, + "default": { + "position": [ + 0, + 0, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "scale": 1 + }, + "properties": { + "position": { + "default": [ + 0, + 0, + 0 + ], + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "$ref": "#/$defs/__schema160" + }, + { + "$ref": "#/$defs/__schema161" + }, + { + "$ref": "#/$defs/__schema162" + } + ], + "type": "array" + }, + "rotation": { + "default": [ + 0, + 0, + 0 + ], + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "$ref": "#/$defs/__schema163" + }, + { + "$ref": "#/$defs/__schema164" + }, + { + "$ref": "#/$defs/__schema165" + } + ], + "type": "array" + }, + "scale": { + "default": 1, + "exclusiveMinimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "width": { + "maximum": 2000, + "minimum": 80, + "type": "number" + } + }, + "required": [ + "kind", + "id", + "width" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "cornerRadius": { + "default": 32, + "minimum": 0, + "type": "number" + }, + "edgeRadius": { + "default": 15, + "minimum": 0, + "type": "number" + }, + "finish": { + "default": "satin", + "enum": [ + "satin", + "brushed" + ], + "type": "string" + }, + "height": { + "maximum": 8000, + "minimum": 40, + "type": "number" + }, + "id": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", + "type": "string" + }, + "kind": { + "const": "slab", + "type": "string" + }, + "materials": { + "$ref": "#/$defs/__schema154" + }, + "opacity": { + "default": 1, + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "surfaces": { + "$ref": "#/$defs/__schema156" + }, + "thickness": { + "default": 32, + "maximum": 200, + "minimum": 4, + "type": "number" + }, + "transform": { + "additionalProperties": false, + "default": { + "position": [ + 0, + 0, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "scale": 1 + }, + "properties": { + "position": { + "default": [ + 0, + 0, + 0 + ], + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "$ref": "#/$defs/__schema166" + }, + { + "$ref": "#/$defs/__schema167" + }, + { + "$ref": "#/$defs/__schema168" + } + ], + "type": "array" + }, + "rotation": { + "default": [ + 0, + 0, + 0 + ], + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "$ref": "#/$defs/__schema169" + }, + { + "$ref": "#/$defs/__schema170" + }, + { + "$ref": "#/$defs/__schema171" + } + ], + "type": "array" + }, + "scale": { + "default": 1, + "exclusiveMinimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "width": { + "maximum": 8000, + "minimum": 40, + "type": "number" + } + }, + "required": [ + "kind", + "id", + "width", + "height" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "backface": { + "default": "hidden", + "enum": [ + "hidden", + "visible" + ], + "type": "string" + }, + "depthWrite": { + "default": true, + "type": "boolean" + }, + "fit": { + "default": "contain", + "enum": [ + "contain", + "cover" + ], + "type": "string" + }, + "height": { + "maximum": 8000, + "minimum": 40, + "type": "number" + }, + "id": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", + "type": "string" + }, + "kind": { + "const": "page", + "type": "string" + }, + "materials": { + "$ref": "#/$defs/__schema154" + }, + "opacity": { + "default": 1, + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "surfaces": { + "$ref": "#/$defs/__schema156" + }, + "transform": { + "additionalProperties": false, + "default": { + "position": [ + 0, + 0, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "scale": 1 + }, + "properties": { + "position": { + "default": [ + 0, + 0, + 0 + ], + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "$ref": "#/$defs/__schema172" + }, + { + "$ref": "#/$defs/__schema173" + }, + { + "$ref": "#/$defs/__schema174" + } + ], + "type": "array" + }, + "rotation": { + "default": [ + 0, + 0, + 0 + ], + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "$ref": "#/$defs/__schema175" + }, + { + "$ref": "#/$defs/__schema176" + }, + { + "$ref": "#/$defs/__schema177" + } + ], + "type": "array" + }, + "scale": { + "default": 1, + "exclusiveMinimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "transparency": { + "default": "straight", + "enum": [ + "straight", + "premultiplied", + "opaque" + ], + "type": "string" + }, + "width": { + "maximum": 8000, + "minimum": 40, + "type": "number" + } + }, + "required": [ + "kind", + "id", + "width", + "height", + "surfaces" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "align": { + "default": "center", + "enum": [ + "left", + "center", + "right" + ], + "type": "string" + }, + "color": { + "anyOf": [ + { + "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", + "type": "string" + }, + { + "enum": [ + "$brand:colors.background", + "$brand:colors.surface", + "$brand:colors.text", + "$brand:colors.textMuted", + "$brand:colors.accent", + "$brand:colors.accentStrong", + "$brand:colors.accentSoft", + "$brand:colors.success", + "$brand:colors.warning", + "$brand:colors.danger" + ], + "type": "string" + } + ] + }, + "fontFamily": { + "anyOf": [ + { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9 _.\\-]*$", + "type": "string" + }, + { + "enum": [ + "$brand:fonts.heading", + "$brand:fonts.body", + "$brand:fonts.caption" + ], + "type": "string" + } + ] + }, + "fontSize": { + "maximum": 800, + "minimum": 8, + "type": "number" + }, + "fontStyle": { + "enum": [ + "normal", + "italic" + ], + "type": "string" + }, + "fontWeight": { + "maximum": 900, + "minimum": 100, + "type": "integer" + }, + "id": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", + "type": "string" + }, + "kind": { + "const": "text", + "type": "string" + }, + "letterSpacing": { + "default": 0, + "maximum": 40, + "minimum": -20, + "type": "number" + }, + "lineHeight": { + "default": 1.2, + "maximum": 3, + "minimum": 0.6, + "type": "number" + }, + "lines": { + "items": { + "$ref": "#/$defs/__schema178" + }, + "maxItems": 24, + "minItems": 1, + "type": "array" + }, + "maxWidth": { + "exclusiveMinimum": 0, + "type": "number" + }, + "opacity": { + "default": 1, + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "space": { + "const": "world", + "type": "string" + }, + "transform": { + "additionalProperties": false, + "default": { + "position": [ + 0, + 0, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "scale": 1 + }, + "properties": { + "position": { + "default": [ + 0, + 0, + 0 + ], + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "$ref": "#/$defs/__schema180" + }, + { + "$ref": "#/$defs/__schema181" + }, + { + "$ref": "#/$defs/__schema182" + } + ], + "type": "array" + }, + "rotation": { + "default": [ + 0, + 0, + 0 + ], + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "$ref": "#/$defs/__schema183" + }, + { + "$ref": "#/$defs/__schema184" + }, + { + "$ref": "#/$defs/__schema185" + } + ], + "type": "array" + }, + "scale": { + "default": 1, + "exclusiveMinimum": 0, + "type": "number" + } + }, + "type": "object" + } + }, + "required": [ + "id", + "kind", + "lines", + "fontFamily", + "fontWeight", + "fontStyle", + "fontSize", + "color", + "space" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "align": { + "default": "center", + "enum": [ + "left", + "center", + "right" + ], + "type": "string" + }, + "color": { + "anyOf": [ + { + "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", + "type": "string" + }, + { + "enum": [ + "$brand:colors.background", + "$brand:colors.surface", + "$brand:colors.text", + "$brand:colors.textMuted", + "$brand:colors.accent", + "$brand:colors.accentStrong", + "$brand:colors.accentSoft", + "$brand:colors.success", + "$brand:colors.warning", + "$brand:colors.danger" + ], + "type": "string" + } + ] + }, + "fontFamily": { + "anyOf": [ + { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9 _.\\-]*$", + "type": "string" + }, + { + "enum": [ + "$brand:fonts.heading", + "$brand:fonts.body", + "$brand:fonts.caption" + ], + "type": "string" + } + ] + }, + "fontSize": { + "maximum": 800, + "minimum": 8, + "type": "number" + }, + "fontStyle": { + "enum": [ + "normal", + "italic" + ], + "type": "string" + }, + "fontWeight": { + "maximum": 900, + "minimum": 100, + "type": "integer" + }, + "id": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", + "type": "string" + }, + "kind": { + "const": "text", + "type": "string" + }, + "letterSpacing": { + "default": 0, + "maximum": 40, + "minimum": -20, + "type": "number" + }, + "lineHeight": { + "default": 1.2, + "maximum": 3, + "minimum": 0.6, + "type": "number" + }, + "lines": { + "items": { + "$ref": "#/$defs/__schema186" + }, + "maxItems": 24, + "minItems": 1, + "type": "array" + }, + "maxWidth": { + "exclusiveMinimum": 0, + "type": "number" + }, + "opacity": { + "default": 1, + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "rotation": { + "default": 0, + "type": "number" + }, + "scale": { + "default": 1, + "exclusiveMinimum": 0, + "type": "number" + }, + "space": { + "const": "screen", + "type": "string" + }, + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "id", + "kind", + "lines", + "fontFamily", + "fontWeight", + "fontStyle", + "fontSize", + "color", + "space", + "x", + "y" + ], + "type": "object" + } + ] +} - added
Input schema / $defs / __schema141Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema142Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema143Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema144Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema145Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema146Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema147Added value: +{ + "$ref": "#/$defs/__schema140" +} - added
Input schema / $defs / __schema148Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema149Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema15Added value: +{} - added
Input schema / $defs / __schema150Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema151Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema152Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema153Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema154Added value: +{ + "items": { + "$ref": "#/$defs/__schema155" + }, + "maxItems": 16, + "type": "array" +} - added
Input schema / $defs / __schema155Added value: +{ + "additionalProperties": false, + "properties": { + "anisotropy": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "anisotropyRotation": { + "type": "number" + }, + "clearcoat": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "clearcoatRoughness": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "color": { + "anyOf": [ + { + "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", + "type": "string" + }, + { + "enum": [ + "$brand:colors.background", + "$brand:colors.surface", + "$brand:colors.text", + "$brand:colors.textMuted", + "$brand:colors.accent", + "$brand:colors.accentStrong", + "$brand:colors.accentSoft", + "$brand:colors.success", + "$brand:colors.warning", + "$brand:colors.danger" + ], + "type": "string" + } + ] + }, + "ior": { + "maximum": 2.333, + "minimum": 1, + "type": "number" + }, + "metalness": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "reflectivity": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "role": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "roughness": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "type": { + "enum": [ + "physical", + "unlit" + ], + "type": "string" + } + }, + "required": [ + "role", + "type" + ], + "type": "object" +} - added
Input schema / $defs / __schema156Added value: +{ + "additionalProperties": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "assetSlot": { + "description": "Image asset slot name bound by the clip assets map; never a URL.", + "maxLength": 64, + "minLength": 1, + "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", + "type": "string" + }, + "source": { + "const": "image", + "type": "string" + } + }, + "required": [ + "source", + "assetSlot" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "color": { + "anyOf": [ + { + "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", + "type": "string" + }, + { + "enum": [ + "$brand:colors.background", + "$brand:colors.surface", + "$brand:colors.text", + "$brand:colors.textMuted", + "$brand:colors.accent", + "$brand:colors.accentStrong", + "$brand:colors.accentSoft", + "$brand:colors.success", + "$brand:colors.warning", + "$brand:colors.danger" + ], + "type": "string" + } + ] + }, + "source": { + "const": "color", + "type": "string" + } + }, + "required": [ + "source", + "color" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "bakeScale": { + "anyOf": [ + { + "$ref": "#/$defs/__schema157" + }, + { + "$ref": "#/$defs/__schema158" + } + ], + "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." + }, + "captureFrame": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "component": { + "additionalProperties": false, + "properties": { + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 1, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId" + ], + "type": "object" + }, + "layout": { + "additionalProperties": false, + "properties": { + "height": { + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + }, + "width": { + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + } + }, + "required": [ + "width", + "height" + ], + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema159" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "source": { + "const": "component", + "type": "string" + } + }, + "required": [ + "source", + "component", + "captureFrame", + "layout" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "endFrame": { + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + }, + "mediaId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "source": { + "const": "video", + "type": "string" + }, + "startFrame": { + "default": 0, + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "source", + "mediaId" + ], + "type": "object" + } + ] + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" +} - added
Input schema / $defs / __schema157Added value: +{ + "const": 2, + "type": "number" +} - added
Input schema / $defs / __schema158Added value: +{ + "const": 3, + "type": "number" +} - added
Input schema / $defs / __schema159Added value: +{ + "anyOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + }, + { + "items": { + "$ref": "#/$defs/__schema159" + }, + "type": "array" + }, + { + "additionalProperties": { + "$ref": "#/$defs/__schema159" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + ] +} - added
Input schema / $defs / __schema16Added value: +{ + "description": "Horizontal nudge, source-normalized (+ = right).", + "maximum": 0.3, + "minimum": -0.3, + "type": "number" +} - added
Input schema / $defs / __schema160Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema161Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema162Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema163Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema164Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema165Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema166Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema167Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema168Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema169Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema17Added value: +{ + "description": "Vertical nudge, source-normalized (+ = down).", + "maximum": 0.3, + "minimum": -0.3, + "type": "number" +} - added
Input schema / $defs / __schema170Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema171Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema172Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema173Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema174Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema175Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema176Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema177Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema178Added value: +{ + "additionalProperties": false, + "properties": { + "runs": { + "items": { + "$ref": "#/$defs/__schema179" + }, + "maxItems": 16, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "runs" + ], + "type": "object" +} - added
Input schema / $defs / __schema179Added value: +{ + "additionalProperties": false, + "properties": { + "color": { + "anyOf": [ + { + "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", + "type": "string" + }, + { + "enum": [ + "$brand:colors.background", + "$brand:colors.surface", + "$brand:colors.text", + "$brand:colors.textMuted", + "$brand:colors.accent", + "$brand:colors.accentStrong", + "$brand:colors.accentSoft", + "$brand:colors.success", + "$brand:colors.warning", + "$brand:colors.danger" + ], + "type": "string" + } + ] + }, + "emphasis": { + "type": "boolean" + }, + "text": { + "maxLength": 512, + "minLength": 1, + "pattern": "^[^\\r\\n]+$", + "type": "string" + } + }, + "required": [ + "text" + ], + "type": "object" +} - added
Input schema / $defs / __schema18Added value: +{} - added
Input schema / $defs / __schema180Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema181Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema182Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema183Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema184Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema185Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema186Added value: +{ + "additionalProperties": false, + "properties": { + "runs": { + "items": { + "$ref": "#/$defs/__schema187" + }, + "maxItems": 16, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "runs" + ], + "type": "object" +} - added
Input schema / $defs / __schema187Added value: +{ + "additionalProperties": false, + "properties": { + "color": { + "anyOf": [ + { + "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", + "type": "string" + }, + { + "enum": [ + "$brand:colors.background", + "$brand:colors.surface", + "$brand:colors.text", + "$brand:colors.textMuted", + "$brand:colors.accent", + "$brand:colors.accentStrong", + "$brand:colors.accentSoft", + "$brand:colors.success", + "$brand:colors.warning", + "$brand:colors.danger" + ], + "type": "string" + } + ] + }, + "emphasis": { + "type": "boolean" + }, + "text": { + "maxLength": 512, + "minLength": 1, + "pattern": "^[^\\r\\n]+$", + "type": "string" + } + }, + "required": [ + "text" + ], + "type": "object" +} - added
Input schema / $defs / __schema188Added value: +{ + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "keyframes": { + "items": { + "$ref": "#/$defs/__schema189" + }, + "maxItems": 256, + "minItems": 1, + "type": "array" + }, + "property": { + "enum": [ + "positionX", + "positionY", + "positionZ", + "rotationX", + "rotationY", + "rotationZ", + "fov", + "scale", + "opacity", + "openAngle", + "x", + "y", + "rotation", + "intensity", + "distance", + "range", + "maxBlur" + ], + "type": "string" + }, + "target": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "camera", + "type": "string" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "layer", + "type": "string" + }, + "layerId": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", + "type": "string" + } + }, + "required": [ + "kind", + "layerId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "environment", + "type": "string" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "focus", + "type": "string" + } + }, + "required": [ + "kind" + ], + "type": "object" + } + ] + } + }, + "required": [ + "target", + "property", + "keyframes" + ], + "type": "object" + }, + "type": "array" +} - added
Input schema / $defs / __schema189Added value: +{ + "additionalProperties": false, + "properties": { + "at": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "easing": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "linear", + "type": "string" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "hold", + "type": "string" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "bezier", + "type": "string" + }, + "x1": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "x2": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y1": { + "maximum": 5, + "minimum": -4, + "type": "number" + }, + "y2": { + "maximum": 5, + "minimum": -4, + "type": "number" + } + }, + "required": [ + "kind", + "x1", + "y1", + "x2", + "y2" + ], + "type": "object" + } + ] + }, + "value": { + "type": "number" + } + }, + "required": [ + "at", + "value" + ], + "type": "object" +} - added
Input schema / $defs / __schema19Added value: +{ + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema20" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema20" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } + ] +} - added
Input schema / $defs / __schema190Added value: +{ + "additionalProperties": false, + "default": { + "focus": null, + "grain": 0, + "vignette": 0 + }, + "properties": { + "focus": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "distance": { + "exclusiveMinimum": 0, + "type": "number" + }, + "maxBlur": { + "maximum": 64, + "minimum": 0, + "type": "number" + }, + "range": { + "exclusiveMinimum": 0, + "type": "number" + } + }, + "required": [ + "distance", + "range", + "maxBlur" + ], + "type": "object" + }, + { + "type": "null" + } + ], + "default": null + }, + "grain": { + "default": 0, + "maximum": 0.5, + "minimum": 0, + "type": "number" + }, + "vignette": { + "default": 0, + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "type": "object" +} - added
Input schema / $defs / __schema191Added value: +{ + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "gap": { + "exclusiveMinimum": 0, + "type": "number" + }, + "kind": { + "const": "minSeparation", + "type": "string" + }, + "objects": { + "items": { + "$ref": "#/$defs/__schema192" + }, + "minItems": 2, + "type": "array" + } + }, + "required": [ + "kind", + "objects", + "gap" + ], + "type": "object" + }, + "type": "array" +} - added
Input schema / $defs / __schema192Added value: +{ + "maxLength": 64, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", + "type": "string" +} - added
Input schema / $defs / __schema193Added value: +{ + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "minLength": 1, + "type": "string" + }, + "type": "object" +} - added
Input schema / $defs / __schema194Added value: +{ + "additionalProperties": false, + "description": "Revise a scene shot in place by clip id. Send a replacement `scene` and/or `assets`; timing changes use the ordinary clip timing fields (`startTime`, `duration`, `transitionIn`). Omitted fields keep their persisted values and the MERGED result is re-validated as a whole, so a partial edit cannot leave the shot invalid. Changing only values or asset IDs updates props and bindings and REUSES the pinned source; changing the referenced SLOT SET regenerates the wrapper manifest and registers a new immutable source version atomically. Undo restores the source reference, spec, bindings and timing together. Topology, asset bindings, text content, font properties, device kind and colours are STATIC within a shot's animation — change them here (a revised spec) rather than trying to animate them. This is not a source trim or slip: a shortened or extended clip resamples the SAME normalized animation over its new duration, and trim/slip requests on generated animation are rejected rather than reinterpreted as media trims. In one batch, `scene.update` may target a shot added by an earlier `scene.add`. ASSETS: `assets` binds each slot name a layer references to a media id in the same project, and the slot's declared KIND decides what it admits — an image slot takes PNG, JPEG or WebP, a video slot MP4 or WebM. Binding the wrong kind is refused with the slot's path.", + "properties": { + "assets": { + "$ref": "#/$defs/__schema201" + }, + "clipId": { + "$ref": "#/$defs/__schema196" + }, + "duration": { + "$ref": "#/$defs/__schema198" + }, + "scene": { + "$ref": "#/$defs/__schema200" + }, + "startTime": { + "$ref": "#/$defs/__schema197" + }, + "transitionIn": { + "$ref": "#/$defs/__schema199" + }, + "type": { + "$ref": "#/$defs/__schema195" + } + }, + "required": [ + "type", + "clipId" + ], + "type": "object" +} - added
Input schema / $defs / __schema195Added value: +{ + "const": "scene.update", + "type": "string" +} - added
Input schema / $defs / __schema196Added value: +{ + "minLength": 1, + "type": "string" +} - added
Input schema / $defs / __schema197Added value: +{ + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema198Added value: +{ + "exclusiveMinimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema199Added value: +{ + "additionalProperties": {}, + "properties": { + "component": { + "$ref": "#/$defs/__schema19" + }, + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "fromClipId": { + "minLength": 1, + "type": "string" + }, + "handlePolicy": { + "const": "outgoing-overrun-at-cut-v1", + "type": "string" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "toClipId": { + "minLength": 1, + "type": "string" + }, + "type": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "type", + "duration" + ], + "type": "object" +} - removed
Input schema / $defs / __schema2 / anyOfRemoved value: -[ - { - "type": "null" - }, - { - "type": "boolean" - }, - { - "type": "number" - }, - { - "type": "string" - }, - { - "items": { - "$ref": "#/$defs/__schema2" - }, - "type": "array" - }, - { - "additionalProperties": { - "$ref": "#/$defs/__schema2" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } -] - added
Input schema / $defs / __schema2 / descriptionAdded value: +"One scoped composition operation. Discriminated by `type` — `clip.add` / `clip.remove` / `clip.update` patch clips across any family; the rest cover markers, reframe, effects, captions, format, tracks, and the server-authoritative ripple recomputes. Every variant is `.strict()`: an unknown field is refused, not ignored." - added
Input schema / $defs / __schema2 / oneOfAdded value: +[ + { + "$ref": "#/$defs/__schema3" + }, + { + "$ref": "#/$defs/__schema41" + }, + { + "$ref": "#/$defs/__schema44" + }, + { + "$ref": "#/$defs/__schema50" + }, + { + "$ref": "#/$defs/__schema64" + }, + { + "$ref": "#/$defs/__schema67" + }, + { + "$ref": "#/$defs/__schema70" + }, + { + "$ref": "#/$defs/__schema73" + }, + { + "$ref": "#/$defs/__schema76" + }, + { + "$ref": "#/$defs/__schema80" + }, + { + "$ref": "#/$defs/__schema84" + }, + { + "$ref": "#/$defs/__schema88" + }, + { + "$ref": "#/$defs/__schema92" + }, + { + "$ref": "#/$defs/__schema96" + }, + { + "$ref": "#/$defs/__schema104" + }, + { + "$ref": "#/$defs/__schema107" + }, + { + "$ref": "#/$defs/__schema111" + }, + { + "$ref": "#/$defs/__schema114" + }, + { + "$ref": "#/$defs/__schema194" + }, + { + "$ref": "#/$defs/__schema202" + }, + { + "$ref": "#/$defs/__schema207" + }, + { + "$ref": "#/$defs/__schema211" + }, + { + "$ref": "#/$defs/__schema214" + }, + { + "$ref": "#/$defs/__schema217" + }, + { + "$ref": "#/$defs/__schema222" + }, + { + "$ref": "#/$defs/__schema225" + }, + { + "$ref": "#/$defs/__schema229" + }, + { + "$ref": "#/$defs/__schema233" + }, + { + "$ref": "#/$defs/__schema238" + }, + { + "$ref": "#/$defs/__schema242" + }, + { + "$ref": "#/$defs/__schema246" + }, + { + "$ref": "#/$defs/__schema250" + }, + { + "$ref": "#/$defs/__schema254" + }, + { + "$ref": "#/$defs/__schema260" + }, + { + "$ref": "#/$defs/__schema264" + } +] - added
Input schema / $defs / __schema20Added value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "items": { + "$ref": "#/$defs/__schema20" + }, + "type": "array" + }, + { + "additionalProperties": { + "$ref": "#/$defs/__schema20" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + ] +} - added
Input schema / $defs / __schema200Added value: +{ + "$ref": "#/$defs/__schema123" +} - added
Input schema / $defs / __schema201Added value: +{ + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "minLength": 1, + "type": "string" + }, + "type": "object" +} - added
Input schema / $defs / __schema202Added value: +{ + "additionalProperties": false, + "description": "Materialize a clip's SOURCE-media temporal GRID as timeline markers — the rhythm authority you cut to. `grid:\"beat\"` reads a MUSIC bed's beat map (get_media_context.beatGrid), `grid:\"word\"` the VO word onsets (wordGrid); each grid point is projected from media time to TIMELINE time through the clip's placement (startTime, trim, playbackRate, excludedRanges) and written as a `kind:\"beat\"|\"word\"` marker (`metadata.sourceClipId` set). Points outside the clip's visible window are skipped. Re-running REPLACES the prior markers from the same clip+grid (idempotent). Land cuts and transition MIDPOINTS on the markers (a 0.5s transition starts 0.25s before its marker). `maxMarkers` (default 500, ceiling 2000) — exceeding it fails loud with the count. `grid:\"shot\"` is not yet exposed (shot_grid_unavailable). The target must be a media clip; absent evidence fails loud (grid_unavailable) naming how to get it (declare audioRole:\"music\" at ingest / transcribe).", + "properties": { + "clipId": { + "$ref": "#/$defs/__schema204" + }, + "grid": { + "$ref": "#/$defs/__schema205" + }, + "maxMarkers": { + "$ref": "#/$defs/__schema206" + }, + "type": { + "$ref": "#/$defs/__schema203" + } + }, + "required": [ + "type", + "clipId", + "grid" + ], + "type": "object" +} - added
Input schema / $defs / __schema203Added value: +{ + "const": "materializeGrid", + "type": "string" +} - added
Input schema / $defs / __schema204Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema205Added value: +{ + "enum": [ + "beat", + "word", + "shot" + ], + "type": "string" +} - added
Input schema / $defs / __schema206Added value: +{ + "exclusiveMinimum": 0, + "maximum": 2000, + "type": "integer" +} - added
Input schema / $defs / __schema207Added value: +{ + "additionalProperties": false, + "description": "Attach caption CONTENT from the media's cached transcript — no pasting words. ROUTE-MATERIALIZED like materializeGrid: the server slices the word-timed transcript to `window` (source seconds; absent = the whole media), rebases times, sentence-splits into segments, and applies it as `setCaptions`. 422 media_no_transcript when the media has no transcript or no words in the window. For your OWN word timings use setCaptions directly. For edited multi-clip timelines, use captions.fromComposition after saving the edits; that operation projects all selected track clips, trims, exclusions, and placements.", + "properties": { + "mediaId": { + "$ref": "#/$defs/__schema209" + }, + "type": { + "$ref": "#/$defs/__schema208" + }, + "window": { + "$ref": "#/$defs/__schema210" + } + }, + "required": [ + "type", + "mediaId" + ], + "type": "object" +} - added
Input schema / $defs / __schema208Added value: +{ + "const": "captions.fromTranscript", + "type": "string" +} - added
Input schema / $defs / __schema209Added value: +{ + "minLength": 1, + "type": "string" +} - added
Input schema / $defs / __schema21Added value: +{ + "minLength": 1, + "type": "string" +} - added
Input schema / $defs / __schema210Added value: +{ + "additionalProperties": false, + "properties": { + "endSec": { + "exclusiveMinimum": 0, + "type": "number" + }, + "startSec": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "startSec", + "endSec" + ], + "type": "object" +} - added
Input schema / $defs / __schema211Added value: +{ + "additionalProperties": false, + "description": "Snapshot word-timed captions from the SAVED edits on one explicit enabled video or audio track. The host reads each source media transcript, projects words through clip trim, excluded ranges and placement, then replaces the caption segments. This is route-materialized to setCaptions; call it AFTER persisting clip edits and call it again when those edits change. The existing caption style and depth are preserved. Missing transcripts, unsupported clips, inconsistent clip durations, and overlapping audible clips fail loud. Playback rate scales source word times and playable duration on both audio and video tracks.", + "properties": { + "trackId": { + "$ref": "#/$defs/__schema213" + }, + "type": { + "$ref": "#/$defs/__schema212" + } + }, + "required": [ + "type", + "trackId" + ], + "type": "object" +} - added
Input schema / $defs / __schema212Added value: +{ + "const": "captions.fromComposition", + "type": "string" +} - added
Input schema / $defs / __schema213Added value: +{ + "minLength": 1, + "type": "string" +} - added
Input schema / $defs / __schema214Added value: +{ + "additionalProperties": false, + "description": "Set the output format — `aspectRatio` (16:9|9:16|1:1|4:5) plus optional `fps` and `resolution`. Merges: an omitted field keeps the current value.", + "properties": { + "format": { + "$ref": "#/$defs/__schema216" + }, + "type": { + "$ref": "#/$defs/__schema215" + } + }, + "required": [ + "type", + "format" + ], + "type": "object" +} - added
Input schema / $defs / __schema215Added value: +{ + "const": "setFormat", + "type": "string" +} - added
Input schema / $defs / __schema216Added value: +{ + "additionalProperties": {}, + "properties": { + "aspectRatio": { + "enum": [ + "16:9", + "9:16", + "1:1", + "4:5" + ], + "type": "string" + }, + "fps": { + "anyOf": [ + { + "const": 24, + "type": "number" + }, + { + "const": 25, + "type": "number" + }, + { + "const": 30, + "type": "number" + }, + { + "const": 60, + "type": "number" + } + ] + }, + "resolution": { + "enum": [ + "hd", + "fhd", + "4k" + ], + "type": "string" + } + }, + "required": [ + "aspectRatio" + ], + "type": "object" +} - added
Input schema / $defs / __schema217Added value: +{ + "additionalProperties": false, + "description": "Add an EMPTY track of a given family (video|audio|image|overlay|effect). Optional pinned `id`. The new track is appended, so it starts at the BACK: index 0 is the top layer and higher indices are further back (see `reorderTracks`). Track order is the paint order for every family: a card on a track behind a video or image track draws behind it.", + "properties": { + "id": { + "$ref": "#/$defs/__schema221" + }, + "kind": { + "$ref": "#/$defs/__schema219" + }, + "name": { + "$ref": "#/$defs/__schema220" + }, + "type": { + "$ref": "#/$defs/__schema218" + } + }, + "required": [ + "type", + "kind" + ], + "type": "object" +} - added
Input schema / $defs / __schema218Added value: +{ + "const": "addTrack", + "type": "string" +} - added
Input schema / $defs / __schema219Added value: +{ + "enum": [ + "video", + "audio", + "image", + "overlay", + "effect" + ], + "type": "string" +} - added
Input schema / $defs / __schema22Added value: +{ + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" +} - added
Input schema / $defs / __schema220Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema221Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema222Added value: +{ + "additionalProperties": false, + "description": "Remove a track AND all its clips by id.", + "properties": { + "trackId": { + "$ref": "#/$defs/__schema224" + }, + "type": { + "$ref": "#/$defs/__schema223" + } + }, + "required": [ + "type", + "trackId" + ], + "type": "object" +} - added
Input schema / $defs / __schema223Added value: +{ + "const": "removeTrack", + "type": "string" +} - added
Input schema / $defs / __schema224Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema225Added value: +{ + "additionalProperties": false, + "description": "Patch a track's `name` / `enabled` by id. Track volume is retired: set each clip's own volume.", + "properties": { + "trackId": { + "$ref": "#/$defs/__schema227" + }, + "type": { + "$ref": "#/$defs/__schema226" + }, + "updates": { + "$ref": "#/$defs/__schema228" + } + }, + "required": [ + "type", + "trackId", + "updates" + ], + "type": "object" +} - added
Input schema / $defs / __schema226Added value: +{ + "const": "updateTrack", + "type": "string" +} - added
Input schema / $defs / __schema227Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema228Added value: +{ + "additionalProperties": false, + "properties": { + "enabled": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "volume": { + "maximum": 4, + "minimum": 0, + "type": "number" + } + }, + "type": "object" +} - added
Input schema / $defs / __schema229Added value: +{ + "additionalProperties": false, + "description": "Move a track from one index to another. ORDER: index 0 is the TOP layer, not the bottom — moving a backdrop to index 0 puts it in FRONT of everything and hides the composition. Higher index = further back. Track order is the paint order for every family, so cards, overlays, images and video interleave by index: a backdrop card, a screenshot and a foreground card on three tracks stack in that order. The one exception is `zPlane:\"behind-subject\"`, which moves the overlay inside its host clip, behind the segmented foreground.", + "properties": { + "fromIndex": { + "$ref": "#/$defs/__schema231" + }, + "toIndex": { + "$ref": "#/$defs/__schema232" + }, + "type": { + "$ref": "#/$defs/__schema230" + } + }, + "required": [ + "type", + "fromIndex", + "toIndex" + ], + "type": "object" +} - added
Input schema / $defs / __schema23Added value: +{ + "maximum": 2, + "minimum": -1, + "type": "number" +} - added
Input schema / $defs / __schema230Added value: +{ + "const": "reorderTracks", + "type": "string" +} - added
Input schema / $defs / __schema231Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema232Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema233Added value: +{ + "additionalProperties": false, + "description": "Move a clip to another SAME-family track, optionally at a new `newStartTime`.", + "properties": { + "clipId": { + "$ref": "#/$defs/__schema235" + }, + "newStartTime": { + "$ref": "#/$defs/__schema237" + }, + "targetTrackId": { + "$ref": "#/$defs/__schema236" + }, + "type": { + "$ref": "#/$defs/__schema234" + } + }, + "required": [ + "type", + "clipId", + "targetTrackId" + ], + "type": "object" +} - added
Input schema / $defs / __schema234Added value: +{ + "const": "moveClipToTrack", + "type": "string" +} - added
Input schema / $defs / __schema235Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema236Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema237Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema238Added value: +{ + "additionalProperties": false, + "description": "Duplicate a clip by id. Pin `newClipId` to make the copy's id deterministic (required for a clean undo/inverse).", + "properties": { + "clipId": { + "$ref": "#/$defs/__schema240" + }, + "newClipId": { + "$ref": "#/$defs/__schema241" + }, + "type": { + "$ref": "#/$defs/__schema239" + } + }, + "required": [ + "type", + "clipId" + ], + "type": "object" +} - added
Input schema / $defs / __schema239Added value: +{ + "const": "duplicateClip", + "type": "string" +} - added
Input schema / $defs / __schema24Added value: +{ + "maximum": 2, + "minimum": -1, + "type": "number" +} - added
Input schema / $defs / __schema240Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema241Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema242Added value: +{ + "additionalProperties": false, + "description": "Server-authoritative: delete the [start,end] time window (seconds) and ripple every downstream clip/marker/caption earlier to close the gap. Cuts apply sequentially in TIMELINE seconds: each cut moves everything after it, so a later cut's coordinates go stale once an earlier one lands. Plan several cuts back to front (latest first), or send them as one `cutRanges`. To drop spans inside one clip, `addExcludedRange` takes SOURCE seconds and is order-independent.", + "properties": { + "end": { + "$ref": "#/$defs/__schema245" + }, + "start": { + "$ref": "#/$defs/__schema244" + }, + "type": { + "$ref": "#/$defs/__schema243" + } + }, + "required": [ + "type", + "start", + "end" + ], + "type": "object" +} - added
Input schema / $defs / __schema243Added value: +{ + "const": "cutAndRipple", + "type": "string" +} - added
Input schema / $defs / __schema244Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema245Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema246Added value: +{ + "additionalProperties": false, + "description": "Server-authoritative: delete several [start,end] windows (seconds) in one atomic edit, one undo step. Every range is in timeline seconds of the composition as it is BEFORE this op, in any order; overlapping and touching ranges merge. Each must satisfy 0 <= start < end <= the timeline's end. The cuts apply back to front with exactly `cutAndRipple`'s ripple (every track, markers and derived captions move earlier), so no coordinate goes stale.", + "properties": { + "ranges": { + "$ref": "#/$defs/__schema248" + }, + "type": { + "$ref": "#/$defs/__schema247" + } + }, + "required": [ + "type", + "ranges" + ], + "type": "object" +} - added
Input schema / $defs / __schema247Added value: +{ + "const": "cutRanges", + "type": "string" +} - added
Input schema / $defs / __schema248Added value: +{ + "items": { + "$ref": "#/$defs/__schema249" + }, + "minItems": 1, + "type": "array" +} - added
Input schema / $defs / __schema249Added value: +{ + "additionalProperties": false, + "properties": { + "end": { + "type": "number" + }, + "start": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" +} - added
Input schema / $defs / __schema25Added value: +{} - added
Input schema / $defs / __schema250Added value: +{ + "additionalProperties": false, + "description": "Server-authoritative: shift everything at/after `time` (seconds) by `amount` seconds (+ opens a gap, − closes one).", + "properties": { + "amount": { + "$ref": "#/$defs/__schema253" + }, + "time": { + "$ref": "#/$defs/__schema252" + }, + "type": { + "$ref": "#/$defs/__schema251" + } + }, + "required": [ + "type", + "time", + "amount" + ], + "type": "object" +} - added
Input schema / $defs / __schema251Added value: +{ + "const": "ripple", + "type": "string" +} - added
Input schema / $defs / __schema252Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema253Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema254Added value: +{ + "additionalProperties": false, + "description": "Server-authoritative: exclude a [sourceStart,sourceEnd] span (seconds) of a clip's SOURCE (an internal trim) and ripple downstream — the preferred way to drop a sub-range vs a source patch. Coordinates are SOURCE seconds, which a cut or another exclusion never shifts, so several exclusions on one clip can be sent in any order.", + "properties": { + "clipId": { + "$ref": "#/$defs/__schema256" + }, + "reason": { + "$ref": "#/$defs/__schema259" + }, + "sourceEnd": { + "$ref": "#/$defs/__schema258" + }, + "sourceStart": { + "$ref": "#/$defs/__schema257" + }, + "type": { + "$ref": "#/$defs/__schema255" + } + }, + "required": [ + "type", + "clipId", + "sourceStart", + "sourceEnd" + ], + "type": "object" +} - added
Input schema / $defs / __schema255Added value: +{ + "const": "addExcludedRange", + "type": "string" +} - added
Input schema / $defs / __schema256Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema257Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema258Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema259Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema26Added value: +{ + "maximum": 1, + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema260Added value: +{ + "additionalProperties": false, + "description": "Server-authoritative: remove a clip's previously-added excluded range by index (re-includes that span, ripples downstream).", + "properties": { + "clipId": { + "$ref": "#/$defs/__schema262" + }, + "rangeIdx": { + "$ref": "#/$defs/__schema263" + }, + "type": { + "$ref": "#/$defs/__schema261" + } + }, + "required": [ + "type", + "clipId", + "rangeIdx" + ], + "type": "object" +} - added
Input schema / $defs / __schema261Added value: +{ + "const": "removeExcludedRange", + "type": "string" +} - added
Input schema / $defs / __schema262Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema263Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema264Added value: +{ + "additionalProperties": false, + "description": "Atomically repin explicit version3 invocations using complete before/after execution references and an exact composition etag. Persistence must canonically admit scoped source hashes, destination input schemas and every resulting target context before applying, including replay/undo. Never infer a latest head, downgrade versions or accept an admitted flag.", + "properties": { + "changes": { + "$ref": "#/$defs/__schema270" + }, + "componentId": { + "$ref": "#/$defs/__schema266" + }, + "expectedCompositionEtag": { + "$ref": "#/$defs/__schema269" + }, + "from": { + "$ref": "#/$defs/__schema267" + }, + "to": { + "$ref": "#/$defs/__schema268" + }, + "type": { + "$ref": "#/$defs/__schema265" + } + }, + "required": [ + "type", + "componentId", + "from", + "to", + "expectedCompositionEtag", + "changes" + ], + "type": "object" +} - added
Input schema / $defs / __schema265Added value: +{ + "const": "component.repin-v3", + "type": "string" +} - added
Input schema / $defs / __schema266Added value: +{ + "minLength": 1, + "type": "string" +} - added
Input schema / $defs / __schema267Added value: +{ + "pattern": "^[a-f0-9]{64}$", + "type": "string" +} - added
Input schema / $defs / __schema268Added value: +{ + "pattern": "^[a-f0-9]{64}$", + "type": "string" +} - added
Input schema / $defs / __schema269Added value: +{ + "minLength": 1, + "type": "string" +} - added
Input schema / $defs / __schema27Added value: +{ + "maximum": 1, + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema270Added value: +{ + "items": { + "$ref": "#/$defs/__schema271" + }, + "maxItems": 512, + "minItems": 1, + "type": "array" +} - added
Input schema / $defs / __schema271Added value: +{ + "additionalProperties": false, + "properties": { + "after": { + "$ref": "#/$defs/__schema19" + }, + "before": { + "$ref": "#/$defs/__schema19" + }, + "placementId": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "placementId", + "before", + "after" + ], + "type": "object" +} - added
Input schema / $defs / __schema272Added value: +{ + "anyOf": [ + { + "items": false, + "maxItems": 1, + "minItems": 1, + "prefixItems": [ + { + "$ref": "#/$defs/__schema273" + } + ], + "type": "array" + }, + { + "items": false, + "maxItems": 2, + "minItems": 2, + "prefixItems": [ + { + "$ref": "#/$defs/__schema274" + }, + { + "$ref": "#/$defs/__schema275" + } + ], + "type": "array" + } + ] +} - added
Input schema / $defs / __schema273Added value: +{ + "const": 3, + "type": "number" +} - added
Input schema / $defs / __schema274Added value: +{ + "const": 3, + "type": "number" +} - added
Input schema / $defs / __schema275Added value: +{ + "const": 4, + "type": "number" +} - added
Input schema / $defs / __schema276Added value: +{ + "items": { + "$ref": "#/$defs/__schema277" + }, + "maxItems": 512, + "minItems": 1, + "type": "array" +} - added
Input schema / $defs / __schema277Added value: +{ + "additionalProperties": false, + "properties": { + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "scope": { + "additionalProperties": false, + "properties": { + "collection": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "kind": { + "const": "builtin", + "type": "string" + } + }, + "required": [ + "kind", + "collection" + ], + "type": "object" + }, + "sourceVersion": { + "anyOf": [ + { + "const": 3, + "type": "number" + }, + { + "const": 4, + "type": "number" + } + ] + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + } + }, + "required": [ + "scope", + "componentId", + "sourceVersionId", + "sourceVersion" + ], + "type": "object" +} - added
Input schema / $defs / __schema278Added value: +{ + "pattern": "^[a-f0-9]{64}$", + "type": "string" +} - added
Input schema / $defs / __schema279Added value: +{ + "description": "Version 1 shared dependency admission. Guarded requests must name the observed immutable composition with composition_id or concurrency.compositionId; changed or missing dependencies refuse the entire batch.", + "oneOf": [ + { + "$ref": "#/$defs/__schema280" + }, + { + "$ref": "#/$defs/__schema281" + } + ] +} - added
Input schema / $defs / __schema28Added value: +{ + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" +} - added
Input schema / $defs / __schema280Added value: +{ + "additionalProperties": false, + "properties": { + "expectedRevision": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "mode": { + "const": "exact", + "type": "string" + } + }, + "required": [ + "mode", + "expectedRevision" + ], + "type": "object" +} - added
Input schema / $defs / __schema281Added value: +{ + "additionalProperties": false, + "properties": { + "basis": { + "items": { + "$ref": "#/$defs/__schema282" + }, + "maxItems": 2048, + "type": "array" + }, + "compositionId": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "mode": { + "const": "guarded", + "type": "string" + }, + "observedRevision": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "mode", + "observedRevision", + "basis" + ], + "type": "object" +} - added
Input schema / $defs / __schema282Added value: +{ + "additionalProperties": false, + "properties": { + "key": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "token": { + "maxLength": 65536, + "type": "string" + } + }, + "required": [ + "key", + "token" + ], + "type": "object" +} - added
Input schema / $defs / __schema283Added value: +{ + "description": "OCC precondition: the strong etag (`\"<hex>\"`) the caller last saw. Required unless `concurrency` is sent or `dry_run` is true; a write with neither is refused with 428 precondition_required. On mismatch the batch is rejected (409 stale_etag) before any op applies.", + "type": "string" +} - added
Input schema / $defs / __schema284Added value: +{ + "description": "When true, validate the batch (apply + projection accept/reject guards) WITHOUT persisting. Returns `{ valid, errors }` instead of applying.", + "type": "boolean" +} - added
Input schema / $defs / __schema285Added value: +{ + "description": "Target a SPECIFIC composition instead of the project's active one. Omit it and the project's active composition is edited, which is the default and the common case. `preview_frame` and `create_render` already accept a compositionId; this closes the gap so a second composition minted with `new_composition` can actually be authored into — build variant A, mint B, edit B, preview both. Mutually exclusive with `session_id`, which targets the session's scratch.", + "type": "string" +} - added
Input schema / $defs / __schema286Added value: +{ + "description": "Optional compose-session id. When present, the ops target the session's SCRATCH composition (a derived sibling) instead of the project's active composition — the server never mutates active until commit.", + "type": "string" +} - added
Input schema / $defs / __schema287Added value: +{ + "maxLength": 128, + "minLength": 1, + "type": "string" +} - added
Input schema / $defs / __schema29Added value: +{ + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" +} - added
Input schema / $defs / __schema3Added value: +{ + "additionalProperties": false, + "description": "Add a clip to the timeline. The clip self-routes to a track by FAMILY (`clip.kind`, else derived from `source.kind`, else the target track) — a `media` clip MUST carry `kind` (video|audio|image) or a `trackId`, else it is rejected as ambiguous. `trackId` targets an existing SAME-family track; `newTrack:true` (with optional pinned `newTrackId`) creates a fresh track of that family, appended at the BACK (the highest index, painted under every other track); raise it with `reorderTracks` (index 0 is the top layer).", + "properties": { + "clip": { + "$ref": "#/$defs/__schema5" + }, + "newTrack": { + "$ref": "#/$defs/__schema39" + }, + "newTrackId": { + "$ref": "#/$defs/__schema40" + }, + "trackId": { + "$ref": "#/$defs/__schema38" + }, + "type": { + "$ref": "#/$defs/__schema4" + } + }, + "required": [ + "type", + "clip" + ], + "type": "object" +} - added
Input schema / $defs / __schema30Added value: +{} - added
Input schema / $defs / __schema31Added value: +{ + "additionalProperties": false, + "properties": { + "ease": { + "type": "string" + }, + "percentage": { + "type": "number" + }, + "properties": { + "additionalProperties": { + "type": "number" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + }, + "required": [ + "percentage", + "properties" + ], + "type": "object" +} - added
Input schema / $defs / __schema32Added value: +{ + "additionalProperties": false, + "properties": { + "t": { + "type": "number" + }, + "v": { + "type": "number" + } + }, + "required": [ + "t", + "v" + ], + "type": "object" +} - added
Input schema / $defs / __schema33Added value: +{ + "additionalProperties": false, + "properties": { + "creative": { + "additionalProperties": false, + "properties": { + "enabled": { + "type": "boolean" + }, + "mediaId": { + "type": "string" + }, + "sha256": { + "type": "string" + }, + "strength": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "mediaId", + "sha256", + "enabled", + "strength" + ], + "type": "object" + }, + "display": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "enabled": { + "type": "boolean" + }, + "mediaId": { + "type": "string" + }, + "sha256": { + "type": "string" + } + }, + "required": [ + "mediaId", + "sha256", + "enabled" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "bundled": { + "enum": [ + "daylight-negative", + "tungsten-negative", + "soft-negative", + "slide", + "black-and-white" + ], + "type": "string" + }, + "enabled": { + "type": "boolean" + } + }, + "required": [ + "bundled", + "enabled" + ], + "type": "object" + } + ] + }, + "enabled": { + "type": "boolean" + }, + "grade": { + "additionalProperties": false, + "properties": { + "blacks": { + "maximum": 1, + "minimum": -1, + "type": "number" + }, + "contrast": { + "maximum": 1, + "minimum": -1, + "type": "number" + }, + "exposure": { + "maximum": 4, + "minimum": -4, + "type": "number" + }, + "highlights": { + "maximum": 1, + "minimum": -1, + "type": "number" + }, + "saturation": { + "maximum": 1, + "minimum": -1, + "type": "number" + }, + "shadows": { + "maximum": 1, + "minimum": -1, + "type": "number" + }, + "temperature": { + "maximum": 1, + "minimum": -1, + "type": "number" + }, + "tint": { + "maximum": 1, + "minimum": -1, + "type": "number" + }, + "vibrance": { + "maximum": 1, + "minimum": -1, + "type": "number" + }, + "whites": { + "maximum": 1, + "minimum": -1, + "type": "number" + } + }, + "required": [ + "exposure", + "contrast", + "highlights", + "shadows", + "whites", + "blacks", + "temperature", + "tint", + "vibrance", + "saturation" + ], + "type": "object" + }, + "grain": { + "additionalProperties": false, + "properties": { + "amount": { + "maximum": 2, + "minimum": 0, + "type": "number" + }, + "enabled": { + "type": "boolean" + }, + "gauge": { + "enum": [ + "super8", + "super16", + "super35", + "65mm" + ], + "type": "string" + }, + "profile": { + "enum": [ + "daylight-negative", + "tungsten-negative", + "soft-negative", + "slide", + "black-and-white" + ], + "type": "string" + }, + "seed": { + "maximum": 4294967295, + "minimum": 0, + "type": "integer" + }, + "size": { + "maximum": 4, + "minimum": 0.5, + "type": "number" + } + }, + "required": [ + "enabled", + "profile", + "gauge", + "amount", + "size", + "seed" + ], + "type": "object" + }, + "halation": { + "additionalProperties": false, + "properties": { + "amount": { + "maximum": 0.5, + "minimum": 0, + "type": "number" + }, + "enabled": { + "type": "boolean" + }, + "radius": { + "maximum": 0.02, + "minimum": 0.0005, + "type": "number" + }, + "threshold": { + "maximum": 16, + "minimum": 0, + "type": "number" + }, + "tint": { + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "$ref": "#/$defs/__schema35" + }, + { + "$ref": "#/$defs/__schema36" + }, + { + "$ref": "#/$defs/__schema37" + } + ], + "type": "array" + } + }, + "required": [ + "enabled", + "amount", + "radius", + "threshold", + "tint" + ], + "type": "object" + }, + "looks": { + "items": { + "$ref": "#/$defs/__schema34" + }, + "maxItems": 2, + "type": "array" + }, + "version": { + "const": 1, + "type": "number" + } + }, + "required": [ + "version", + "enabled", + "grade", + "looks" + ], + "type": "object" +} - added
Input schema / $defs / __schema34Added value: +{ + "additionalProperties": false, + "properties": { + "enabled": { + "type": "boolean" + }, + "mediaId": { + "type": "string" + }, + "sha256": { + "type": "string" + } + }, + "required": [ + "mediaId", + "sha256", + "enabled" + ], + "type": "object" +} - added
Input schema / $defs / __schema35Added value: +{ + "maximum": 1, + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema36Added value: +{ + "maximum": 1, + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema37Added value: +{ + "maximum": 1, + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema38Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema39Added value: +{ + "type": "boolean" +} - added
Input schema / $defs / __schema4Added value: +{ + "const": "clip.add", + "type": "string" +} - added
Input schema / $defs / __schema40Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema41Added value: +{ + "additionalProperties": false, + "description": "Remove a clip by id (located across every track).", + "properties": { + "clipId": { + "$ref": "#/$defs/__schema43" + }, + "type": { + "$ref": "#/$defs/__schema42" + } + }, + "required": [ + "type", + "clipId" + ], + "type": "object" +} - added
Input schema / $defs / __schema42Added value: +{ + "const": "clip.remove", + "type": "string" +} - added
Input schema / $defs / __schema43Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema44Added value: +{ + "additionalProperties": false, + "description": "Set (or CLEAR, with `keyframes: null`) ONE keyframed channel of a clip: `opacity`, `scale`, `rotation`, `position.x`, `position.y` or `volume`, with at least two keyframes `{time, value, ease?}` in any order. `time` is seconds from the clip's own start (0 to its duration); `value` uses the property's own unit, as its scalar: opacity 0-1, scale a multiplier, rotation degrees, position.x/position.y a FRACTION of the frame (0.5 = centre, never px), volume 0-4. Each keyframe's optional `ease` shapes the segment ARRIVING at it, in HyperFrames' vocabulary: `none` (linear, the default), named eases such as `power2.out`, `back.out`, `expo.inOut`, `spring-gentle`, `hold`, or `custom(M0,0 Cx1,y1 x2,y2 1,1)` (a cubic, x in [0,1]). Before its first keyframe a channel holds its first value, after its last it holds the last; a channel OVERRIDES the clip's scalar (`opacity`, `scale`, `rotation`, `position`). The op REPLACES that property's keyframes; other channels are untouched. Volume keyframes are linear and only for a video or audio media clip. Trims and splits keep every keyframe on its content. Keyframes are stored as HyperFrames tweens (`tweens`) and automation (`automation`) on the clip; author them with this op, not `clip.update`.", + "properties": { + "clipId": { + "$ref": "#/$defs/__schema46" + }, + "keyframes": { + "$ref": "#/$defs/__schema48" + }, + "property": { + "$ref": "#/$defs/__schema47" + }, + "type": { + "$ref": "#/$defs/__schema45" + } + }, + "required": [ + "type", + "clipId", + "property", + "keyframes" + ], + "type": "object" +} - added
Input schema / $defs / __schema45Added value: +{ + "const": "clip.setKeyframes", + "type": "string" +} - added
Input schema / $defs / __schema46Added value: +{ + "minLength": 1, + "type": "string" +} - added
Input schema / $defs / __schema47Added value: +{ + "enum": [ + "opacity", + "scale", + "rotation", + "position.x", + "position.y", + "volume" + ], + "type": "string" +} - added
Input schema / $defs / __schema48Added value: +{ + "anyOf": [ + { + "items": { + "$ref": "#/$defs/__schema49" + }, + "minItems": 2, + "type": "array" + }, + { + "type": "null" + } + ] +} - added
Input schema / $defs / __schema49Added value: +{ + "additionalProperties": false, + "properties": { + "ease": { + "type": "string" + }, + "time": { + "minimum": 0, + "type": "number" + }, + "value": { + "type": "number" + } + }, + "required": [ + "time", + "value" + ], + "type": "object" +} - added
Input schema / $defs / __schema5Added value: +{ + "additionalProperties": false, + "properties": { + "automation": { + "additionalProperties": false, + "properties": { + "lanes": { + "items": { + "additionalProperties": false, + "properties": { + "points": { + "items": { + "$ref": "#/$defs/__schema32" + }, + "minItems": 2, + "type": "array" + }, + "target": { + "const": "volume", + "type": "string" + } + }, + "required": [ + "target", + "points" + ], + "type": "object" + }, + "type": "array" + }, + "version": { + "const": 1, + "type": "number" + } + }, + "required": [ + "version", + "lanes" + ], + "type": "object" + }, + "captionVisibility": { + "description": "Video media clip only. Hide native captions while this clip is topmost and covers the lower picture, or when an opaque, effect-free clip has an explicitly full-frame region, even with fit:contain. Caption words and timings remain stored and resume when another visible clip takes over.", + "enum": [ + "visible", + "hidden" + ], + "type": "string" + }, + "color": { + "$ref": "#/$defs/__schema33" + }, + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "effects": { + "items": { + "additionalProperties": false, + "properties": { + "component": { + "$ref": "#/$defs/__schema19" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "params": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "type": "string" + }, + "window": { + "additionalProperties": false, + "properties": { + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "startTime": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "startTime", + "duration" + ], + "type": "object" + } + }, + "type": "object" + }, + "type": "array" + }, + "fit": { + "enum": [ + "cover", + "contain" + ], + "type": "string" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "kind": { + "enum": [ + "video", + "audio", + "image", + "overlay", + "effect" + ], + "type": "string" + }, + "legacyKeyframes": { + "additionalProperties": false, + "properties": { + "channels": { + "items": { + "type": "string" + }, + "type": "array" + }, + "needsUpgrade": { + "const": true, + "type": "boolean" + }, + "record": {} + }, + "required": [ + "needsUpgrade", + "channels", + "record" + ], + "type": "object" + }, + "linkGroupId": { + "minLength": 1, + "type": "string" + }, + "opacity": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "position": { + "additionalProperties": { + "$ref": "#/$defs/__schema25" + }, + "description": "Clip CENTRE as a fraction of the frame: {x:0.5,y:0.5} is dead centre, 0 to 1 is inside the frame, and a little overshoot (down to -1, up to 2) is how an entrance starts off-canvas. NOT pixels: the renderer maps x to `left: x*100%`, so `x: 180` sits 180 frame-widths away and draws nothing.", + "properties": { + "x": { + "$ref": "#/$defs/__schema23" + }, + "y": { + "$ref": "#/$defs/__schema24" + } + }, + "required": [ + "x", + "y" + ], + "type": "object" + }, + "region": { + "additionalProperties": { + "$ref": "#/$defs/__schema30" + }, + "description": "A window in the frame that the clip draws into and is clipped to (top-left corner and size, each a frame fraction). Inside a region, `position` and `scale` act relative to that window, so content moved past its edge is cut off. Omit it to place the clip against the whole frame.", + "properties": { + "h": { + "$ref": "#/$defs/__schema29" + }, + "w": { + "$ref": "#/$defs/__schema28" + }, + "x": { + "$ref": "#/$defs/__schema26" + }, + "y": { + "$ref": "#/$defs/__schema27" + } + }, + "required": [ + "x", + "y", + "w", + "h" + ], + "type": "object" + }, + "rotation": { + "type": "number" + }, + "scale": { + "exclusiveMinimum": 0, + "type": "number" + }, + "source": { + "$ref": "#/$defs/__schema6" + }, + "startTime": { + "minimum": 0, + "type": "number" + }, + "transitionIn": { + "additionalProperties": {}, + "properties": { + "component": { + "$ref": "#/$defs/__schema19" + }, + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "fromClipId": { + "minLength": 1, + "type": "string" + }, + "handlePolicy": { + "const": "outgoing-overrun-at-cut-v1", + "type": "string" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "toClipId": { + "minLength": 1, + "type": "string" + }, + "type": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "type", + "duration" + ], + "type": "object" + }, + "tweens": { + "items": { + "additionalProperties": false, + "properties": { + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "keyframes": { + "additionalProperties": false, + "properties": { + "easeEach": { + "const": "none", + "type": "string" + }, + "format": { + "const": "percentage", + "type": "string" + }, + "keyframes": { + "items": { + "$ref": "#/$defs/__schema31" + }, + "minItems": 2, + "type": "array" + } + }, + "required": [ + "format", + "easeEach", + "keyframes" + ], + "type": "object" + }, + "position": { + "type": "number" + }, + "propertyGroup": { + "enum": [ + "visual", + "scale", + "rotation", + "position" + ], + "type": "string" + } + }, + "required": [ + "id", + "propertyGroup", + "position", + "duration", + "keyframes" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "id", + "startTime", + "duration", + "source" + ], + "type": "object" +} - added
Input schema / $defs / __schema50Added value: +{ + "additionalProperties": false, + "description": "Patch an existing clip by id (cross-family). The patch is a partial TimelineClip. NOTE: `source` is REPLACED wholesale — the patch merges at the top level only, so a partial `source` WIPES the source fields you omit. Patch the whole source object when changing it. (To change reframe/excluded ranges, prefer setCropIntents / addExcludedRange, not a source patch.)", + "properties": { + "clipId": { + "$ref": "#/$defs/__schema52" + }, + "patch": { + "$ref": "#/$defs/__schema53" + }, + "type": { + "$ref": "#/$defs/__schema51" + } + }, + "required": [ + "type", + "clipId", + "patch" + ], + "type": "object" +} - added
Input schema / $defs / __schema51Added value: +{ + "const": "clip.update", + "type": "string" +} - added
Input schema / $defs / __schema52Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema53Added value: +{ + "additionalProperties": false, + "properties": { + "automation": { + "additionalProperties": false, + "properties": { + "lanes": { + "items": { + "additionalProperties": false, + "properties": { + "points": { + "items": { + "$ref": "#/$defs/__schema63" + }, + "minItems": 2, + "type": "array" + }, + "target": { + "const": "volume", + "type": "string" + } + }, + "required": [ + "target", + "points" + ], + "type": "object" + }, + "type": "array" + }, + "version": { + "const": 1, + "type": "number" + } + }, + "required": [ + "version", + "lanes" + ], + "type": "object" + }, + "captionVisibility": { + "description": "Video media clip only. Hide native captions while this clip is topmost and covers the lower picture, or when an opaque, effect-free clip has an explicitly full-frame region, even with fit:contain. Caption words and timings remain stored and resume when another visible clip takes over.", + "enum": [ + "visible", + "hidden" + ], + "type": "string" + }, + "color": { + "$ref": "#/$defs/__schema33" + }, + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "effects": { + "items": { + "additionalProperties": false, + "properties": { + "component": { + "$ref": "#/$defs/__schema19" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "params": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "type": "string" + }, + "window": { + "additionalProperties": false, + "properties": { + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "startTime": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "startTime", + "duration" + ], + "type": "object" + } + }, + "type": "object" + }, + "type": "array" + }, + "fit": { + "enum": [ + "cover", + "contain" + ], + "type": "string" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "kind": { + "enum": [ + "video", + "audio", + "image", + "overlay", + "effect" + ], + "type": "string" + }, + "legacyKeyframes": { + "additionalProperties": false, + "properties": { + "channels": { + "items": { + "type": "string" + }, + "type": "array" + }, + "needsUpgrade": { + "const": true, + "type": "boolean" + }, + "record": {} + }, + "required": [ + "needsUpgrade", + "channels", + "record" + ], + "type": "object" + }, + "linkGroupId": { + "minLength": 1, + "type": "string" + }, + "opacity": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "position": { + "additionalProperties": { + "$ref": "#/$defs/__schema56" + }, + "description": "Clip CENTRE as a fraction of the frame: {x:0.5,y:0.5} is dead centre, 0 to 1 is inside the frame, and a little overshoot (down to -1, up to 2) is how an entrance starts off-canvas. NOT pixels: the renderer maps x to `left: x*100%`, so `x: 180` sits 180 frame-widths away and draws nothing.", + "properties": { + "x": { + "$ref": "#/$defs/__schema54" + }, + "y": { + "$ref": "#/$defs/__schema55" + } + }, + "required": [ + "x", + "y" + ], + "type": "object" + }, + "region": { + "additionalProperties": { + "$ref": "#/$defs/__schema61" + }, + "description": "A window in the frame that the clip draws into and is clipped to (top-left corner and size, each a frame fraction). Inside a region, `position` and `scale` act relative to that window, so content moved past its edge is cut off. Omit it to place the clip against the whole frame.", + "properties": { + "h": { + "$ref": "#/$defs/__schema60" + }, + "w": { + "$ref": "#/$defs/__schema59" + }, + "x": { + "$ref": "#/$defs/__schema57" + }, + "y": { + "$ref": "#/$defs/__schema58" + } + }, + "required": [ + "x", + "y", + "w", + "h" + ], + "type": "object" + }, + "rotation": { + "type": "number" + }, + "scale": { + "exclusiveMinimum": 0, + "type": "number" + }, + "source": { + "$ref": "#/$defs/__schema6" + }, + "startTime": { + "minimum": 0, + "type": "number" + }, + "transitionIn": { + "additionalProperties": {}, + "properties": { + "component": { + "$ref": "#/$defs/__schema19" + }, + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "fromClipId": { + "minLength": 1, + "type": "string" + }, + "handlePolicy": { + "const": "outgoing-overrun-at-cut-v1", + "type": "string" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "toClipId": { + "minLength": 1, + "type": "string" + }, + "type": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "type", + "duration" + ], + "type": "object" + }, + "tweens": { + "items": { + "additionalProperties": false, + "properties": { + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "keyframes": { + "additionalProperties": false, + "properties": { + "easeEach": { + "const": "none", + "type": "string" + }, + "format": { + "const": "percentage", + "type": "string" + }, + "keyframes": { + "items": { + "$ref": "#/$defs/__schema62" + }, + "minItems": 2, + "type": "array" + } + }, + "required": [ + "format", + "easeEach", + "keyframes" + ], + "type": "object" + }, + "position": { + "type": "number" + }, + "propertyGroup": { + "enum": [ + "visual", + "scale", + "rotation", + "position" + ], + "type": "string" + } + }, + "required": [ + "id", + "propertyGroup", + "position", + "duration", + "keyframes" + ], + "type": "object" + }, + "type": "array" + } + }, + "type": "object" +} - added
Input schema / $defs / __schema54Added value: +{ + "maximum": 2, + "minimum": -1, + "type": "number" +} - added
Input schema / $defs / __schema55Added value: +{ + "maximum": 2, + "minimum": -1, + "type": "number" +} - added
Input schema / $defs / __schema56Added value: +{} - added
Input schema / $defs / __schema57Added value: +{ + "maximum": 1, + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema58Added value: +{ + "maximum": 1, + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema59Added value: +{ + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" +} - added
Input schema / $defs / __schema6Added value: +{ + "oneOf": [ + { + "additionalProperties": {}, + "properties": { + "anchor": { + "additionalProperties": {}, + "properties": { + "clipId": { + "minLength": 1, + "type": "string" + }, + "offsetMs": { + "type": "number" + } + }, + "required": [ + "clipId", + "offsetMs" + ], + "type": "object" + }, + "audioRole": { + "description": "Mix role. A role sets the clip's default gain when it has no `volume` or `volumeDb`: vo 0 dB, sfx -6 dB, music -8 dB (-16 dB when any vo clip exists), ambience -22 dB. Set `volumeDb: 0` to keep a role and play the source at its own level.", + "enum": [ + "sfx", + "music", + "vo", + "ambience" + ], + "type": "string" + }, + "duck": { + "additionalProperties": {}, + "properties": { + "attackMs": { + "minimum": 0, + "type": "number" + }, + "duckDb": { + "maximum": 0, + "type": "number" + }, + "releaseMs": { + "minimum": 0, + "type": "number" + }, + "windows": { + "items": { + "additionalProperties": {}, + "properties": { + "endMs": { + "type": "number" + }, + "startMs": { + "type": "number" + } + }, + "required": [ + "startMs", + "endMs" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "duckDb", + "attackMs", + "releaseMs" + ], + "type": "object" + }, + "excludedRanges": { + "items": { + "additionalProperties": {}, + "properties": { + "end": { + "minimum": 0, + "type": "number" + }, + "reason": { + "type": "string" + }, + "start": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "type": "array" + }, + "fadeInMs": { + "minimum": 0, + "type": "number" + }, + "fadeOutMs": { + "minimum": 0, + "type": "number" + }, + "kenBurns": { + "description": "Still-image motion. When unset, an image clip slowly pushes in (`in`) unless its fit is `contain` or it keyframes scale, position or rotation, so a keyframed clip renders exactly its keyframed values; set `none` for a still that holds.", + "enum": [ + "in", + "out", + "pan-l", + "pan-r", + "none" + ], + "type": "string" + }, + "kind": { + "const": "media", + "type": "string" + }, + "loop": { + "type": "boolean" + }, + "mediaId": { + "type": "string" + }, + "muted": { + "type": "boolean" + }, + "playbackRate": { + "exclusiveMinimum": 0, + "type": "number" + }, + "reframe": { + "additionalProperties": {}, + "properties": { + "segments": { + "items": { + "$ref": "#/$defs/__schema7" + }, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "segments" + ], + "type": "object" + }, + "sync": { + "enum": [ + "video", + "independent" + ], + "type": "string" + }, + "trim": { + "additionalProperties": {}, + "properties": { + "end": { + "minimum": 0, + "type": "number" + }, + "start": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "volume": { + "maximum": 4, + "minimum": 0, + "type": "number" + }, + "volumeDb": { + "type": "number" + } + }, + "required": [ + "kind", + "mediaId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "componentId": { + "minLength": 1, + "type": "string" + }, + "execution": { + "$ref": "#/$defs/__schema19" + }, + "kind": { + "const": "component", + "type": "string" + }, + "placement": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "clip", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "content-slots", + "type": "string" + }, + "slots": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "ownership": { + "enum": [ + "reference", + "exclusive" + ], + "type": "string" + }, + "targetClipIds": { + "items": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "targetClipIds", + "ownership" + ], + "type": "object" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "kind", + "slots" + ], + "type": "object" + } + ] + }, + "props": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "retired": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "zPlane": { + "enum": [ + "front", + "behind-subject" + ], + "type": "string" + } + }, + "required": [ + "kind", + "componentId", + "props" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "anchor": { + "additionalProperties": {}, + "properties": { + "space": { + "const": "scene", + "type": "string" + }, + "x": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "space", + "x", + "y" + ], + "type": "object" + }, + "kind": { + "const": "overlay", + "type": "string" + }, + "parallax": { + "maximum": 0.3, + "minimum": -0.3, + "type": "number" + }, + "params": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "pattern": "^(?!custom$)", + "type": "string" + }, + "zPlane": { + "enum": [ + "front", + "behind-subject" + ], + "type": "string" + } + }, + "required": [ + "kind", + "primitiveId", + "params" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "component": { + "$ref": "#/$defs/__schema19" + }, + "kind": { + "const": "effect", + "type": "string" + }, + "params": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "type": "string" + }, + "targetTrackIds": { + "items": { + "$ref": "#/$defs/__schema21" + }, + "minItems": 1, + "type": "array" + }, + "wrapperOrder": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "html": { + "description": "Self-contained card markup sized to the format's pixel frame. Motion comes from frame-driven vars, never @keyframes or transition: --cf-frame, --cf-t (seconds), --cf-fps, --cf-duration, --cf-progress, --cf-ease, --cf-enter, --cf-exit. Visible copy goes in the html as plain text. Wrap a run in <span data-cf-split=\"words\"> or \"chars\" and each unit becomes its own span carrying --cf-i (its index, the group carries --cf-n), so one rule staggers it (in chars, spaces count as units), e.g. opacity:clamp(0,calc(var(--cf-t)*4 - var(--cf-i)*.3),1). save_as_template binds that copy with textParams match.", + "minLength": 1, + "type": "string" + }, + "kind": { + "const": "card", + "type": "string" + }, + "tokens": { + "$ref": "#/$defs/__schema22", + "description": "Style values the html reads as CSS custom properties: key x becomes --cf-x, so never put dashes in a key. Use tokens for colours and sizes, not visible copy.", + "propertyNames": { + "type": "string" + } + }, + "zPlane": { + "const": "front", + "type": "string" + } + }, + "required": [ + "kind", + "html" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "compositionId": { + "minLength": 1, + "type": "string" + }, + "kind": { + "const": "composition", + "type": "string" + }, + "trim": { + "additionalProperties": {}, + "properties": { + "end": { + "minimum": 0, + "type": "number" + }, + "start": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "compositionId" + ], + "type": "object" + } + ] +} - added
Input schema / $defs / __schema60Added value: +{ + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" +} - added
Input schema / $defs / __schema61Added value: +{} - added
Input schema / $defs / __schema62Added value: +{ + "additionalProperties": false, + "properties": { + "ease": { + "type": "string" + }, + "percentage": { + "type": "number" + }, + "properties": { + "additionalProperties": { + "type": "number" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + }, + "required": [ + "percentage", + "properties" + ], + "type": "object" +} - added
Input schema / $defs / __schema63Added value: +{ + "additionalProperties": false, + "properties": { + "t": { + "type": "number" + }, + "v": { + "type": "number" + } + }, + "required": [ + "t", + "v" + ], + "type": "object" +} - added
Input schema / $defs / __schema64Added value: +{ + "additionalProperties": false, + "description": "Remove EVERY clip sourced from a given mediaId (e.g. after deleting that media).", + "properties": { + "mediaId": { + "$ref": "#/$defs/__schema66" + }, + "type": { + "$ref": "#/$defs/__schema65" + } + }, + "required": [ + "type", + "mediaId" + ], + "type": "object" +} - added
Input schema / $defs / __schema65Added value: +{ + "const": "removeClipsByMediaId", + "type": "string" +} - added
Input schema / $defs / __schema66Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema67Added value: +{ + "additionalProperties": false, + "description": "Replace the overlay channel wholesale with the given clips (bulk set, not a merge).", + "properties": { + "clips": { + "$ref": "#/$defs/__schema69" + }, + "type": { + "$ref": "#/$defs/__schema68" + } + }, + "required": [ + "type", + "clips" + ], + "type": "object" +} - added
Input schema / $defs / __schema68Added value: +{ + "const": "loadOverlays", + "type": "string" +} - added
Input schema / $defs / __schema69Added value: +{ + "items": { + "$ref": "#/$defs/__schema5" + }, + "type": "array" +} - added
Input schema / $defs / __schema7Added value: +{ + "additionalProperties": {}, + "properties": { + "bias": { + "additionalProperties": { + "$ref": "#/$defs/__schema18" + }, + "description": "Optional FINE framing nudge off the focus center, source-normalized in [−0.3, 0.3]. A small correction (headroom, rule-of-thirds), NOT a reframe — use `focus`/`zoom` for the actual shot. Omit (treated as 0) to sit dead-center on the focus.", + "properties": { + "x": { + "$ref": "#/$defs/__schema16" + }, + "y": { + "$ref": "#/$defs/__schema17" + } + }, + "required": [ + "x", + "y" + ], + "type": "object" + }, + "ease": { + "additionalProperties": { + "$ref": "#/$defs/__schema15" + }, + "description": "Zoom/center ramp DURATIONS in SECONDS at this segment's edges — NOT a unitless 0–1 curve. ~0.3–0.6s reads as a snappy push; >1s reads sluggish. Keep `in` + `out` ≤ the segment's duration (endSec − startSec): the two edges share the span, so to ramp across the WHOLE segment set one edge to the full duration and the other to 0. Omit for an instant cut to this framing.", + "properties": { + "in": { + "$ref": "#/$defs/__schema13" + }, + "out": { + "$ref": "#/$defs/__schema14" + } + }, + "required": [ + "in", + "out" + ], + "type": "object" + }, + "endSec": { + "description": "Segment END in seconds, clip-relative. The span (endSec − startSec) is this segment's duration — the window `ease` ramps over.", + "exclusiveMinimum": 0, + "type": "number" + }, + "focus": { + "description": "WHO/WHAT the camera tracks this segment (the reframe center), selected by `mode`: `frame-center` = no tracking, hold the geometric center (static/graphic footage, or a pure zoom); `point` = lock to a fixed source-normalized {x,y} (a non-moving on-screen element); `face` = track a detected face by `faceId` (from get_media_context), with optional `shotScale` close|standard|wide for tightness; `all-faces` = frame the bounding box of every detected face (group/ensemble shots); `active-speaker` = follow whoever is speaking (diarized talking-head / podcast). Pick by what the beat is about; pair with `zoom` for how tight.", + "oneOf": [ + { + "$ref": "#/$defs/__schema8" + }, + { + "$ref": "#/$defs/__schema9" + }, + { + "$ref": "#/$defs/__schema10" + }, + { + "$ref": "#/$defs/__schema11" + }, + { + "$ref": "#/$defs/__schema12" + } + ] + }, + "intent": { + "description": "Optional editorial LABEL for diff/log readability (e.g. 'speaker-tight', 'wide-context'). Cosmetic — NOT honored by the derive math and excluded from the variant cache key.", + "type": "string" + }, + "startSec": { + "description": "Segment START in seconds, clip-relative. Segments tile the clip's duration in order.", + "minimum": 0, + "type": "number" + }, + "zoom": { + "description": "How TIGHT the framing is — the fraction of the source the output viewport shows. <1 punches IN (a smaller source fraction, magnified to fill the frame); 1 = the full frame (no crop). ~0.6–0.8 is a moderate push-in, ~0.5 a tight close-up, 0.1 the maximum zoom. There is NO zoom-OUT past the full frame (max 1). Omit for the full frame. MUTUALLY EXCLUSIVE with `focus.shotScale`: a face-tracked shot is sized EITHER by the editorial scale (shotScale, calibrated to the detected face) OR by an explicit zoom — never both.", + "maximum": 1, + "minimum": 0.1, + "type": "number" + } + }, + "required": [ + "startSec", + "endSec", + "focus" + ], + "type": "object" +} - added
Input schema / $defs / __schema70Added value: +{ + "additionalProperties": false, + "description": "Add a timeline marker (a named time point/range; carry extensions in `metadata`).", + "properties": { + "marker": { + "$ref": "#/$defs/__schema72" + }, + "type": { + "$ref": "#/$defs/__schema71" + } + }, + "required": [ + "type", + "marker" + ], + "type": "object" +} - added
Input schema / $defs / __schema71Added value: +{ + "const": "addMarker", + "type": "string" +} - added
Input schema / $defs / __schema72Added value: +{ + "additionalProperties": false, + "properties": { + "endTime": { + "minimum": 0, + "type": "number" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "kind": { + "minLength": 1, + "type": "string" + }, + "metadata": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "name": { + "type": "string" + }, + "startTime": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "id", + "startTime", + "kind" + ], + "type": "object" +} - added
Input schema / $defs / __schema73Added value: +{ + "additionalProperties": false, + "description": "Remove a marker by id.", + "properties": { + "markerId": { + "$ref": "#/$defs/__schema75" + }, + "type": { + "$ref": "#/$defs/__schema74" + } + }, + "required": [ + "type", + "markerId" + ], + "type": "object" +} - added
Input schema / $defs / __schema74Added value: +{ + "const": "removeMarker", + "type": "string" +} - added
Input schema / $defs / __schema75Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema76Added value: +{ + "additionalProperties": false, + "description": "Patch a marker's fields by id (partial merge).", + "properties": { + "markerId": { + "$ref": "#/$defs/__schema78" + }, + "type": { + "$ref": "#/$defs/__schema77" + }, + "updates": { + "$ref": "#/$defs/__schema79" + } + }, + "required": [ + "type", + "markerId", + "updates" + ], + "type": "object" +} - added
Input schema / $defs / __schema77Added value: +{ + "const": "updateMarker", + "type": "string" +} - added
Input schema / $defs / __schema78Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema79Added value: +{ + "additionalProperties": false, + "properties": { + "endTime": { + "minimum": 0, + "type": "number" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "kind": { + "minLength": 1, + "type": "string" + }, + "metadata": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "name": { + "type": "string" + }, + "startTime": { + "minimum": 0, + "type": "number" + } + }, + "type": "object" +} - added
Input schema / $defs / __schema8Added value: +{ + "additionalProperties": {}, + "properties": { + "mode": { + "const": "frame-center", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" +} - added
Input schema / $defs / __schema80Added value: +{ + "additionalProperties": false, + "description": "Set (or CLEAR, with `segments: null`) the camera/reframe channel on a MEDIA clip — the time-aligned source→output viewport (focus, zoom, ease, bias). This is the PREFERRED way to author reframing; do NOT reframe via a whole-source `clip.update` patch. Segments tile the clip's duration.", + "properties": { + "clipId": { + "$ref": "#/$defs/__schema82" + }, + "segments": { + "$ref": "#/$defs/__schema83" + }, + "type": { + "$ref": "#/$defs/__schema81" + } + }, + "required": [ + "type", + "clipId", + "segments" + ], + "type": "object" +} - added
Input schema / $defs / __schema81Added value: +{ + "const": "setCropIntents", + "type": "string" +} - added
Input schema / $defs / __schema82Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema83Added value: +{ + "anyOf": [ + { + "items": { + "$ref": "#/$defs/__schema7" + }, + "type": "array" + }, + { + "type": "null" + } + ] +} - added
Input schema / $defs / __schema84Added value: +{ + "additionalProperties": false, + "description": "Set (or CLEAR, with `effects: []`) a clip's EFFECT channel — the pinned component clip wrappers stacked onto that clip, each `{id, component, window}`: a unique `id`, the wrapper component's execution pin as `component`, and `window: {startTime, duration}` in seconds. The built-in primitive effects were removed: a stored one reads, and save and render refuse it (`effect_retired`), so clear it with `effects: []`. WHOLESALE: the array REPLACES the clip's current effects, so send the full stack (read the clip first to add one). This is the ONLY way to change effects on an existing clip — do NOT reach for a `clip.update` patch, whose top-level merge is the source-clobbering footgun documented above.", + "properties": { + "clipId": { + "$ref": "#/$defs/__schema86" + }, + "effects": { + "$ref": "#/$defs/__schema87" + }, + "type": { + "$ref": "#/$defs/__schema85" + } + }, + "required": [ + "type", + "clipId", + "effects" + ], + "type": "object" +} - added
Input schema / $defs / __schema85Added value: +{ + "const": "setEffects", + "type": "string" +} - added
Input schema / $defs / __schema86Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema87Added value: +{ + "items": { + "additionalProperties": false, + "properties": { + "component": { + "$ref": "#/$defs/__schema19" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "params": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "type": "string" + }, + "window": { + "additionalProperties": false, + "properties": { + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "startTime": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "startTime", + "duration" + ], + "type": "object" + } + }, + "type": "object" + }, + "type": "array" +} - added
Input schema / $defs / __schema88Added value: +{ + "additionalProperties": false, + "description": "Set (or CLEAR, with `inputTransform: null`) how a MEDIA's pixels are decoded into the working color space, for every clip of that media: `{version: 1, id, table?, ycbcr?}` with `id` one of rec709, insta360-ilog, custom-lut, apple-log. `custom-lut` is a camera LUT (log → Rec.709, e.g. DJI's D-Log M LUT): it requires `table: {mediaId, sha256, enabled}` naming an uploaded .cube LUT, and its output is read as Rec.709 footage; the others take no table. `ycbcr: {matrix, range}` overrides the source's signalled YCbCr matrix and range. The entry lives in the composition's `media` map; the media must be used by a clip in this composition, and removing its last clip removes the entry. To set a camera input for many media, send one `setMediaInputTransform` per media in a single `apply_composition` call.", + "properties": { + "inputTransform": { + "$ref": "#/$defs/__schema91" + }, + "mediaId": { + "$ref": "#/$defs/__schema90" + }, + "type": { + "$ref": "#/$defs/__schema89" + } + }, + "required": [ + "type", + "mediaId", + "inputTransform" + ], + "type": "object" +} - added
Input schema / $defs / __schema89Added value: +{ + "const": "setMediaInputTransform", + "type": "string" +} - added
Input schema / $defs / __schema9Added value: +{ + "additionalProperties": {}, + "properties": { + "mode": { + "const": "point", + "type": "string" + }, + "x": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "mode", + "x", + "y" + ], + "type": "object" +} - added
Input schema / $defs / __schema90Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema91Added value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "id": { + "enum": [ + "rec709", + "insta360-ilog", + "custom-lut", + "apple-log" + ], + "type": "string" + }, + "table": { + "additionalProperties": false, + "properties": { + "enabled": { + "type": "boolean" + }, + "mediaId": { + "type": "string" + }, + "sha256": { + "type": "string" + } + }, + "required": [ + "mediaId", + "sha256", + "enabled" + ], + "type": "object" + }, + "version": { + "const": 1, + "type": "number" + }, + "ycbcr": { + "additionalProperties": false, + "properties": { + "matrix": { + "enum": [ + "bt709", + "bt2020", + "bt601" + ], + "type": "string" + }, + "range": { + "enum": [ + "limited", + "full" + ], + "type": "string" + } + }, + "required": [ + "matrix", + "range" + ], + "type": "object" + } + }, + "required": [ + "version", + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - added
Input schema / $defs / __schema92Added value: +{ + "additionalProperties": false, + "description": "Set (or CLEAR, with `color: null`) a video media clip's color correction, WHOLESALE: `{version: 1, enabled, grade, looks, display?, creative?}`. `grade` holds every primary control: `exposure` in stops (-4..4) and `contrast`, `highlights`, `shadows`, `whites`, `blacks`, `temperature`, `tint`, `vibrance`, `saturation` each -1..1 (0 = neutral). `looks` (at most 2), `display` and `creative` name uploaded .cube LUTs as `{mediaId, sha256, enabled}`; `creative` adds `strength` 0..1. `display` may instead name a bundled film look as `{bundled, enabled}`, `bundled` one of daylight-negative, tungsten-negative, soft-negative, slide, black-and-white. `halation?: {enabled, amount 0..0.5, radius (picture heights) 0.0005..0.02, threshold 0..16, tint [r,g,b] 0..1}`; `grain?: {enabled, profile (a film look id), gauge super8|super16|super35|65mm, amount 0..2, size 0.5..4, seed uint32}`. Film presets are whole values, applied by replacing `display`, `halation` and `grain` with exactly what the preset names (absent = removed), writing only the grade keys it names, `display` as `{bundled, enabled: true}`, `halation`/`grain` with `enabled: true`, and grain `seed` kept or any uint32. Presets: {\"id\":\"daylight-negative\",\"name\":\"Daylight Negative\",\"display\":\"daylight-negative\",\"halation\":{\"amount\":0.015,\"radius\":0.0026795284030010718,\"threshold\":0,\"tint\":[1,0.33333333333333337,0]},\"grain\":{\"profile\":\"daylight-negative\",\"gauge\":\"super35\",\"amount\":1,\"size\":1}}; {\"id\":\"tungsten-negative\",\"name\":\"Tungsten Negative\",\"display\":\"tungsten-negative\",\"halation\":{\"amount\":0.015,\"radius\":0.0026795284030010718,\"threshold\":0,\"tint\":[1,0.33333333333333337,0]},\"grain\":{\"profile\":\"tungsten-negative\",\"gauge\":\"super35\",\"amount\":1,\"size\":1}}; {\"id\":\"soft-negative\",\"name\":\"Soft Negative\",\"display\":\"soft-negative\",\"halation\":{\"amount\":0.015,\"radius\":0.0034833869239013935,\"threshold\":0,\"tint\":[1,0.33333333333333337,0]},\"grain\":{\"profile\":\"soft-negative\",\"gauge\":\"super35\",\"amount\":1,\"size\":1}}; {\"id\":\"slide\",\"name\":\"Slide\",\"display\":\"slide\",\"halation\":{\"amount\":0.015,\"radius\":0.0034833869239013935,\"threshold\":0,\"tint\":[1,0.33333333333333337,0]},\"grain\":{\"profile\":\"slide\",\"gauge\":\"super35\",\"amount\":1,\"size\":1}}; {\"id\":\"black-and-white\",\"name\":\"Black and White\",\"display\":\"black-and-white\",\"halation\":{\"amount\":0.015,\"radius\":0.0026795284030010718,\"threshold\":0,\"tint\":[1,0.33333333333333337,0]},\"grain\":{\"profile\":\"black-and-white\",\"gauge\":\"super35\",\"amount\":1,\"size\":1}}; {\"id\":\"grain-only-fine\",\"name\":\"Fine grain\",\"grain\":{\"profile\":\"daylight-negative\",\"gauge\":\"65mm\",\"amount\":1,\"size\":1}}; {\"id\":\"halation-only\",\"name\":\"Halation\",\"halation\":{\"amount\":0.08,\"radius\":0.0026795284030010718,\"threshold\":0,\"tint\":[1,0.25,0]}}. `enabled: false` bypasses the whole correction. Only a media clip on a video track takes color.", + "properties": { + "clipId": { + "$ref": "#/$defs/__schema94" + }, + "color": { + "$ref": "#/$defs/__schema95" + }, + "type": { + "$ref": "#/$defs/__schema93" + } + }, + "required": [ + "type", + "clipId", + "color" + ], + "type": "object" +} - added
Input schema / $defs / __schema93Added value: +{ + "const": "setClipColor", + "type": "string" +} - added
Input schema / $defs / __schema94Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema95Added value: +{ + "anyOf": [ + { + "$ref": "#/$defs/__schema33" + }, + { + "type": "null" + } + ] +} - added
Input schema / $defs / __schema96Added value: +{ + "additionalProperties": false, + "description": "Merge style overrides (font/color/position/emphasis) onto the composition's caption layer. Partial — omitted fields keep their current value; creates the caption container if absent.", + "properties": { + "style": { + "$ref": "#/$defs/__schema98" + }, + "type": { + "$ref": "#/$defs/__schema97" + } + }, + "required": [ + "type", + "style" + ], + "type": "object" +} - added
Input schema / $defs / __schema97Added value: +{ + "const": "setCaptionStyle", + "type": "string" +} - added
Input schema / $defs / __schema98Added value: +{ + "additionalProperties": {}, + "properties": { + "annotationColor": { + "type": "string" + }, + "annotationStrokeWidth": { + "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.", + "maximum": 12, + "minimum": 0.5, + "type": "number" + }, + "annotationTexture": { + "description": "Native annotation stroke finish; default clean.", + "enum": [ + "clean", + "pencil" + ], + "type": "string" + }, + "backgroundColor": { + "type": "string" + }, + "color": { + "minLength": 1, + "type": "string" + }, + "emphasisColor": { + "type": "string" + }, + "emphasisFontFamily": { + "type": "string" + }, + "emphasisFontStyle": { + "enum": [ + "normal", + "italic" + ], + "type": "string" + }, + "emphasisFontWeight": { + "maximum": 900, + "minimum": 100, + "type": "integer" + }, + "emphasisGradient": { + "type": "string" + }, + "emphasisLetterSpacing": { + "type": "number" + }, + "emphasisPlate": { + "type": "boolean" + }, + "emphasisPlateAltColor": { + "type": "string" + }, + "emphasisPlateAltTextColor": { + "type": "string" + }, + "emphasisPlateColor": { + "type": "string" + }, + "emphasisPlatePadX": { + "type": "number" + }, + "emphasisPlatePadY": { + "type": "number" + }, + "emphasisPlateRadius": { + "minimum": 0, + "type": "number" + }, + "emphasisPlateReveal": { + "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.", + "type": "boolean" + }, + "emphasisPlateTextColor": { + "type": "string" + }, + "emphasisScale": { + "exclusiveMinimum": 0, + "type": "number" + }, + "emphasisTextTransform": { + "enum": [ + "none", + "uppercase", + "capitalize" + ], + "type": "string" + }, + "entrance": { + "enum": [ + "none", + "fade", + "word-pop", + "stagger-up" + ], + "type": "string" + }, + "entranceMs": { + "minimum": 0, + "type": "number" + }, + "entranceStaggerMs": { + "minimum": 0, + "type": "number" + }, + "exitMs": { + "minimum": 0, + "type": "number" + }, + "fontFamily": { + "minLength": 1, + "type": "string" + }, + "fontSize": { + "description": "Font size as % of composition height (1-15, default 5). NOT px.", + "maximum": 15, + "minimum": 1, + "type": "number" + }, + "fontWeight": { + "maximum": 900, + "minimum": 100, + "type": "integer" + }, + "highlightColor": { + "minLength": 1, + "type": "string" + }, + "letterSpacing": { + "description": "Base caption glyph spacing in pixels.", + "maximum": 20, + "minimum": -5, + "type": "number" + }, + "lineGapEm": { + "description": "Gap between caption lines as a multiple of base font size; default 0.25.", + "maximum": 2, + "minimum": 0, + "type": "number" + }, + "maxWidthPercent": { + "exclusiveMinimum": 0, + "maximum": 100, + "type": "number" + }, + "plate": { + "enum": [ + "glass", + "solid", + "none" + ], + "type": "string" + }, + "position": { + "enum": [ + "top", + "center", + "bottom" + ], + "type": "string" + }, + "region": { + "additionalProperties": { + "$ref": "#/$defs/__schema103" + }, + "description": "Optional caption layout box {x,y,w,h} in normalized output-frame coordinates. Overrides position; text starts at its top edge and wraps/pages within its width and height.", + "properties": { + "h": { + "$ref": "#/$defs/__schema102" + }, + "w": { + "$ref": "#/$defs/__schema101" + }, + "x": { + "$ref": "#/$defs/__schema99" + }, + "y": { + "$ref": "#/$defs/__schema100" + } + }, + "required": [ + "x", + "y", + "w", + "h" + ], + "type": "object" + }, + "textTransform": { + "enum": [ + "none", + "uppercase", + "capitalize" + ], + "type": "string" + }, + "wordGapEm": { + "description": "Gap between caption runs as a multiple of base font size; default 0.35.", + "maximum": 2, + "minimum": 0, + "type": "number" + } + }, + "type": "object" +} - added
Input schema / $defs / __schema99Added value: +{ + "maximum": 1, + "minimum": 0, + "type": "number" +} - added
Input schema / properties / body / properties / builtinSources / $refAdded value: +"#/$defs/__schema276" - removed
Input schema / properties / body / properties / builtinSources / itemsRemoved value: -{ - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "scope": { - "additionalProperties": false, - "properties": { - "collection": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "builtin", - "type": "string" - } - }, - "required": [ - "kind", - "collection" - ], - "type": "object" - }, - "sourceVersion": { - "anyOf": [ - { - "const": 3, - "type": "number" - }, - { - "const": 4, - "type": "number" - } - ] - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - } - }, - "required": [ - "scope", - "componentId", - "sourceVersionId", - "sourceVersion" - ], - "type": "object" -} - removed
Input schema / properties / body / properties / builtinSources / maxItemsRemoved value: -512 - removed
Input schema / properties / body / properties / builtinSources / minItemsRemoved value: -1 - removed
Input schema / properties / body / properties / builtinSources / typeRemoved value: -"array" - added
Input schema / properties / body / properties / componentExecutionVersions / $refAdded value: +"#/$defs/__schema272" - removed
Input schema / properties / body / properties / componentExecutionVersions / anyOfRemoved value: -[ - { - "items": false, - "maxItems": 1, - "minItems": 1, - "prefixItems": [ - { - "const": 3, - "type": "number" - } - ], - "type": "array" - }, - { - "items": false, - "maxItems": 2, - "minItems": 2, - "prefixItems": [ - { - "const": 3, - "type": "number" - }, - { - "const": 4, - "type": "number" - } - ], - "type": "array" - } -] - added
Input schema / properties / body / properties / composition_id / $refAdded value: +"#/$defs/__schema285" - removed
Input schema / properties / body / properties / composition_id / descriptionRemoved value: -"Target a SPECIFIC composition instead of the project's active one. Omit it and the project's active composition is edited, which is the default and the common case. `preview_frame` and `create_render` already accept a compositionId; this closes the gap so a second composition minted with `new_composition` can actually be authored into — build variant A, mint B, edit B, preview both. Mutually exclusive with `session_id`, which targets the session's scratch." - removed
Input schema / properties / body / properties / composition_id / typeRemoved value: -"string" - added
Input schema / properties / body / properties / concurrency / $refAdded value: +"#/$defs/__schema279" - removed
Input schema / properties / body / properties / concurrency / descriptionRemoved value: -"Version 1 shared dependency admission. Guarded requests must name the observed immutable composition with composition_id or concurrency.compositionId; changed or missing dependencies refuse the entire batch." - removed
Input schema / properties / body / properties / concurrency / oneOfRemoved value: -[ - { - "additionalProperties": false, - "properties": { - "expectedRevision": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "mode": { - "const": "exact", - "type": "string" - } - }, - "required": [ - "mode", - "expectedRevision" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "basis": { - "items": { - "additionalProperties": false, - "properties": { - "key": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "token": { - "maxLength": 65536, - "type": "string" - } - }, - "required": [ - "key", - "token" - ], - "type": "object" - }, - "maxItems": 2048, - "type": "array" - }, - "compositionId": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "mode": { - "const": "guarded", - "type": "string" - }, - "observedRevision": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "mode", - "observedRevision", - "basis" - ], - "type": "object" - } -] - added
Input schema / properties / body / properties / dry_run / $refAdded value: +"#/$defs/__schema284" - removed
Input schema / properties / body / properties / dry_run / descriptionRemoved value: -"When true, validate the batch (apply + projection accept/reject guards) WITHOUT persisting. Returns `{ valid, errors }` instead of applying." - removed
Input schema / properties / body / properties / dry_run / typeRemoved value: -"boolean" - added
Input schema / properties / body / properties / expectedBrandIdentity / $refAdded value: +"#/$defs/__schema278" - removed
Input schema / properties / body / properties / expectedBrandIdentity / patternRemoved value: -"^[a-f0-9]{64}$" - removed
Input schema / properties / body / properties / expectedBrandIdentity / typeRemoved value: -"string" - added
Input schema / properties / body / properties / if_match / $refAdded value: +"#/$defs/__schema283" - removed
Input schema / properties / body / properties / if_match / descriptionRemoved value: -"OCC precondition: the strong etag (`\"<hex>\"`) the caller last saw. Required unless `concurrency` is sent or `dry_run` is true; a write with neither is refused with 428 precondition_required. On mismatch the batch is rejected (409 stale_etag) before any op applies." - removed
Input schema / properties / body / properties / if_match / typeRemoved value: -"string" - added
Input schema / properties / body / properties / ops / $refAdded value: +"#/$defs/__schema1" - removed
Input schema / properties / body / properties / ops / itemsRemoved value: -{ - "description": "One scoped composition operation. Discriminated by `type` — `clip.add` / `clip.remove` / `clip.update` patch clips across any family; the rest cover markers, reframe, effects, captions, format, tracks, and the server-authoritative ripple recomputes. Every variant is `.strict()`: an unknown field is refused, not ignored.", - "oneOf": [ - { - "additionalProperties": false, - "description": "Add a clip to the timeline. The clip self-routes to a track by FAMILY (`clip.kind`, else derived from `source.kind`, else the target track) — a `media` clip MUST carry `kind` (video|audio|image) or a `trackId`, else it is rejected as ambiguous. `trackId` targets an existing SAME-family track; `newTrack:true` (with optional pinned `newTrackId`) creates a fresh track of that family.", - "properties": { - "clip": { - "additionalProperties": false, - "properties": { - "automation": { - "additionalProperties": false, - "properties": { - "lanes": { - "items": { - "additionalProperties": false, - "properties": { - "points": { - "items": { - "additionalProperties": false, - "properties": { - "t": { - "type": "number" - }, - "v": { - "type": "number" - } - }, - "required": [ - "t", - "v" - ], - "type": "object" - }, - "minItems": 2, - "type": "array" - }, - "target": { - "const": "volume", - "type": "string" - } - }, - "required": [ - "target", - "points" - ], - "type": "object" - }, - "type": "array" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "lanes" - ], - "type": "object" - }, - "captionVisibility": { - "description": "Video media clip only. Hide native captions while this clip is topmost and covers the lower picture, or when an opaque, effect-free clip has an explicitly full-frame region, even with fit:contain. Caption words and timings remain stored and resume when another visible clip takes over.", - "enum": [ - "visible", - "hidden" - ], - "type": "string" - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "effects": { - "items": { - "additionalProperties": false, - "properties": { - "component": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "id": { - "minLength": 1, - "type": "string" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "window": { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "startTime": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "startTime", - "duration" - ], - "type": "object" - } - }, - "type": "object" - }, - "type": "array" - }, - "fit": { - "enum": [ - "cover", - "contain" - ], - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "kind": { - "enum": [ - "video", - "audio", - "image", - "overlay", - "effect" - ], - "type": "string" - }, - "legacyKeyframes": { - "additionalProperties": false, - "properties": { - "channels": { - "items": { - "type": "string" - }, - "type": "array" - }, - "needsUpgrade": { - "const": true, - "type": "boolean" - }, - "record": {} - }, - "required": [ - "needsUpgrade", - "channels", - "record" - ], - "type": "object" - }, - "linkGroupId": { - "minLength": 1, - "type": "string" - }, - "opacity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "position": { - "additionalProperties": {}, - "description": "Clip CENTRE as a fraction of the frame: {x:0.5,y:0.5} is dead centre, 0 to 1 is inside the frame, and a little overshoot (down to -1, up to 2) is how an entrance starts off-canvas. NOT pixels: the renderer maps x to `left: x*100%`, so `x: 180` sits 180 frame-widths away and draws nothing.", - "properties": { - "x": { - "maximum": 2, - "minimum": -1, - "type": "number" - }, - "y": { - "maximum": 2, - "minimum": -1, - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "region": { - "additionalProperties": {}, - "properties": { - "h": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "w": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "rotation": { - "type": "number" - }, - "scale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "source": { - "oneOf": [ - { - "additionalProperties": {}, - "properties": { - "anchor": { - "additionalProperties": {}, - "properties": { - "clipId": { - "minLength": 1, - "type": "string" - }, - "offsetMs": { - "type": "number" - } - }, - "required": [ - "clipId", - "offsetMs" - ], - "type": "object" - }, - "audioRole": { - "enum": [ - "sfx", - "music", - "vo", - "ambience" - ], - "type": "string" - }, - "duck": { - "additionalProperties": {}, - "properties": { - "attackMs": { - "minimum": 0, - "type": "number" - }, - "duckDb": { - "maximum": 0, - "type": "number" - }, - "releaseMs": { - "minimum": 0, - "type": "number" - }, - "windows": { - "items": { - "additionalProperties": {}, - "properties": { - "endMs": { - "type": "number" - }, - "startMs": { - "type": "number" - } - }, - "required": [ - "startMs", - "endMs" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "duckDb", - "attackMs", - "releaseMs" - ], - "type": "object" - }, - "excludedRanges": { - "items": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "reason": { - "type": "string" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "type": "array" - }, - "fadeInMs": { - "minimum": 0, - "type": "number" - }, - "fadeOutMs": { - "minimum": 0, - "type": "number" - }, - "kenBurns": { - "enum": [ - "in", - "out", - "pan-l", - "pan-r", - "none" - ], - "type": "string" - }, - "kind": { - "const": "media", - "type": "string" - }, - "loop": { - "type": "boolean" - }, - "mediaId": { - "type": "string" - }, - "muted": { - "type": "boolean" - }, - "playbackRate": { - "exclusiveMinimum": 0, - "type": "number" - }, - "reframe": { - "additionalProperties": {}, - "properties": { - "segments": { - "items": { - "additionalProperties": {}, - "properties": { - "bias": { - "additionalProperties": {}, - "description": "Optional FINE framing nudge off the focus center, source-normalized in [−0.3, 0.3]. A small correction (headroom, rule-of-thirds), NOT a reframe — use `focus`/`zoom` for the actual shot. Omit (treated as 0) to sit dead-center on the focus.", - "properties": { - "x": { - "description": "Horizontal nudge, source-normalized (+ = right).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "y": { - "description": "Vertical nudge, source-normalized (+ = down).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "ease": { - "additionalProperties": {}, - "description": "Zoom/center ramp DURATIONS in SECONDS at this segment's edges — NOT a unitless 0–1 curve. ~0.3–0.6s reads as a snappy push; >1s reads sluggish. Keep `in` + `out` ≤ the segment's duration (endSec − startSec): the two edges share the span, so to ramp across the WHOLE segment set one edge to the full duration and the other to 0. Omit for an instant cut to this framing.", - "properties": { - "in": { - "description": "Ease-IN ramp DURATION in seconds at the segment START.", - "minimum": 0, - "type": "number" - }, - "out": { - "description": "Ease-OUT ramp DURATION in seconds at the segment END.", - "minimum": 0, - "type": "number" - } - }, - "required": [ - "in", - "out" - ], - "type": "object" - }, - "endSec": { - "description": "Segment END in seconds, clip-relative. The span (endSec − startSec) is this segment's duration — the window `ease` ramps over.", - "exclusiveMinimum": 0, - "type": "number" - }, - "focus": { - "description": "WHO/WHAT the camera tracks this segment (the reframe center), selected by `mode`: `frame-center` = no tracking, hold the geometric center (static/graphic footage, or a pure zoom); `point` = lock to a fixed source-normalized {x,y} (a non-moving on-screen element); `face` = track a detected face by `faceId` (from get_media_context), with optional `shotScale` close|standard|wide for tightness; `all-faces` = frame the bounding box of every detected face (group/ensemble shots); `active-speaker` = follow whoever is speaking (diarized talking-head / podcast). Pick by what the beat is about; pair with `zoom` for how tight.", - "oneOf": [ - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "frame-center", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "point", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "mode", - "x", - "y" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "faceId": { - "minLength": 1, - "type": "string" - }, - "mode": { - "const": "face", - "type": "string" - }, - "shotScale": { - "enum": [ - "close", - "standard", - "wide" - ], - "type": "string" - } - }, - "required": [ - "mode", - "faceId" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "all-faces", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "active-speaker", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - } - ] - }, - "intent": { - "description": "Optional editorial LABEL for diff/log readability (e.g. 'speaker-tight', 'wide-context'). Cosmetic — NOT honored by the derive math and excluded from the variant cache key.", - "type": "string" - }, - "startSec": { - "description": "Segment START in seconds, clip-relative. Segments tile the clip's duration in order.", - "minimum": 0, - "type": "number" - }, - "zoom": { - "description": "How TIGHT the framing is — the fraction of the source the output viewport shows. <1 punches IN (a smaller source fraction, magnified to fill the frame); 1 = the full frame (no crop). ~0.6–0.8 is a moderate push-in, ~0.5 a tight close-up, 0.1 the maximum zoom. There is NO zoom-OUT past the full frame (max 1). Omit for the full frame. MUTUALLY EXCLUSIVE with `focus.shotScale`: a face-tracked shot is sized EITHER by the editorial scale (shotScale, calibrated to the detected face) OR by an explicit zoom — never both.", - "maximum": 1, - "minimum": 0.1, - "type": "number" - } - }, - "required": [ - "startSec", - "endSec", - "focus" - ], - "type": "object" - }, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "segments" - ], - "type": "object" - }, - "sync": { - "enum": [ - "video", - "independent" - ], - "type": "string" - }, - "trim": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "volume": { - "maximum": 4, - "minimum": 0, - "type": "number" - }, - "volumeDb": { - "type": "number" - } - }, - "required": [ - "kind", - "mediaId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "componentId": { - "minLength": 1, - "type": "string" - }, - "execution": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "kind": { - "const": "component", - "type": "string" - }, - "placement": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "clip", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "content-slots", - "type": "string" - }, - "slots": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "ownership": { - "enum": [ - "reference", - "exclusive" - ], - "type": "string" - }, - "targetClipIds": { - "items": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "targetClipIds", - "ownership" - ], - "type": "object" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind", - "slots" - ], - "type": "object" - } - ] - }, - "props": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "retired": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "componentId", - "props" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "anchor": { - "additionalProperties": {}, - "properties": { - "space": { - "const": "scene", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "space", - "x", - "y" - ], - "type": "object" - }, - "kind": { - "const": "overlay", - "type": "string" - }, - "parallax": { - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "pattern": "^(?!custom$)", - "type": "string" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "primitiveId", - "params" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "component": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "kind": { - "const": "effect", - "type": "string" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "targetTrackIds": { - "items": { - "minLength": 1, - "type": "string" - }, - "minItems": 1, - "type": "array" - }, - "wrapperOrder": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "html": { - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "card", - "type": "string" - }, - "tokens": { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "zPlane": { - "const": "front", - "type": "string" - } - }, - "required": [ - "kind", - "html" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "compositionId": { - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "composition", - "type": "string" - }, - "trim": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "compositionId" - ], - "type": "object" - } - ] - }, - "startTime": { - "minimum": 0, - "type": "number" - }, - "transitionIn": { - "additionalProperties": {}, - "properties": { - "component": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "fromClipId": { - "minLength": 1, - "type": "string" - }, - "handlePolicy": { - "const": "outgoing-overrun-at-cut-v1", - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "toClipId": { - "minLength": 1, - "type": "string" - }, - "type": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "type", - "duration" - ], - "type": "object" - }, - "tweens": { - "items": { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "keyframes": { - "additionalProperties": false, - "properties": { - "easeEach": { - "const": "none", - "type": "string" - }, - "format": { - "const": "percentage", - "type": "string" - }, - "keyframes": { - "items": { - "additionalProperties": false, - "properties": { - "ease": { - "type": "string" - }, - "percentage": { - "type": "number" - }, - "properties": { - "additionalProperties": { - "type": "number" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - }, - "required": [ - "percentage", - "properties" - ], - "type": "object" - }, - "minItems": 2, - "type": "array" - } - }, - "required": [ - "format", - "easeEach", - "keyframes" - ], - "type": "object" - }, - "position": { - "type": "number" - }, - "propertyGroup": { - "enum": [ - "visual", - "scale", - "rotation", - "position" - ], - "type": "string" - } - }, - "required": [ - "id", - "propertyGroup", - "position", - "duration", - "keyframes" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "id", - "startTime", - "duration", - "source" - ], - "type": "object" - }, - "newTrack": { - "type": "boolean" - }, - "newTrackId": { - "type": "string" - }, - "trackId": { - "type": "string" - }, - "type": { - "const": "clip.add", - "type": "string" - } - }, - "required": [ - "type", - "clip" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Remove a clip by id (located across every track).", - "properties": { - "clipId": { - "type": "string" - }, - "type": { - "const": "clip.remove", - "type": "string" - } - }, - "required": [ - "type", - "clipId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Set (or CLEAR, with `keyframes: null`) ONE keyframed channel of a clip: `opacity`, `scale`, `rotation`, `position.x`, `position.y` or `volume`, with at least two keyframes `{time, value, ease?}` in any order. `time` is seconds from the clip's own start (0 to its duration); `value` uses the property's own unit, as its scalar: opacity 0-1, scale a multiplier, rotation degrees, position.x/position.y a FRACTION of the frame (0.5 = centre, never px), volume 0-4. Each keyframe's optional `ease` shapes the segment ARRIVING at it, in HyperFrames' vocabulary: `none` (linear, the default), named eases such as `power2.out`, `back.out`, `expo.inOut`, `spring-gentle`, `hold`, or `custom(M0,0 Cx1,y1 x2,y2 1,1)` (a cubic, x in [0,1]). Before its first keyframe a channel holds its first value, after its last it holds the last; a channel OVERRIDES the clip's scalar (`opacity`, `scale`, `rotation`, `position`). The op REPLACES that property's keyframes; other channels are untouched. Volume keyframes are linear and only for a video or audio media clip. Trims and splits keep every keyframe on its content. Keyframes are stored as HyperFrames tweens (`tweens`) and automation (`automation`) on the clip; author them with this op, not `clip.update`.", - "properties": { - "clipId": { - "minLength": 1, - "type": "string" - }, - "keyframes": { - "anyOf": [ - { - "items": { - "additionalProperties": false, - "properties": { - "ease": { - "type": "string" - }, - "time": { - "minimum": 0, - "type": "number" - }, - "value": { - "type": "number" - } - }, - "required": [ - "time", - "value" - ], - "type": "object" - }, - "minItems": 2, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "property": { - "enum": [ - "opacity", - "scale", - "rotation", - "position.x", - "position.y", - "volume" - ], - "type": "string" - }, - "type": { - "const": "clip.setKeyframes", - "type": "string" - } - }, - "required": [ - "type", - "clipId", - "property", - "keyframes" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Patch an existing clip by id (cross-family). The patch is a partial TimelineClip. NOTE: `source` is REPLACED wholesale — the patch merges at the top level only, so a partial `source` WIPES the source fields you omit. Patch the whole source object when changing it. (To change reframe/excluded ranges, prefer setCropIntents / addExcludedRange, not a source patch.)", - "properties": { - "clipId": { - "type": "string" - }, - "patch": { - "additionalProperties": false, - "properties": { - "automation": { - "additionalProperties": false, - "properties": { - "lanes": { - "items": { - "additionalProperties": false, - "properties": { - "points": { - "items": { - "additionalProperties": false, - "properties": { - "t": { - "type": "number" - }, - "v": { - "type": "number" - } - }, - "required": [ - "t", - "v" - ], - "type": "object" - }, - "minItems": 2, - "type": "array" - }, - "target": { - "const": "volume", - "type": "string" - } - }, - "required": [ - "target", - "points" - ], - "type": "object" - }, - "type": "array" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "lanes" - ], - "type": "object" - }, - "captionVisibility": { - "description": "Video media clip only. Hide native captions while this clip is topmost and covers the lower picture, or when an opaque, effect-free clip has an explicitly full-frame region, even with fit:contain. Caption words and timings remain stored and resume when another visible clip takes over.", - "enum": [ - "visible", - "hidden" - ], - "type": "string" - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "effects": { - "items": { - "additionalProperties": false, - "properties": { - "component": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "id": { - "minLength": 1, - "type": "string" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "window": { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "startTime": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "startTime", - "duration" - ], - "type": "object" - } - }, - "type": "object" - }, - "type": "array" - }, - "fit": { - "enum": [ - "cover", - "contain" - ], - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "kind": { - "enum": [ - "video", - "audio", - "image", - "overlay", - "effect" - ], - "type": "string" - }, - "legacyKeyframes": { - "additionalProperties": false, - "properties": { - "channels": { - "items": { - "type": "string" - }, - "type": "array" - }, - "needsUpgrade": { - "const": true, - "type": "boolean" - }, - "record": {} - }, - "required": [ - "needsUpgrade", - "channels", - "record" - ], - "type": "object" - }, - "linkGroupId": { - "minLength": 1, - "type": "string" - }, - "opacity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "position": { - "additionalProperties": {}, - "description": "Clip CENTRE as a fraction of the frame: {x:0.5,y:0.5} is dead centre, 0 to 1 is inside the frame, and a little overshoot (down to -1, up to 2) is how an entrance starts off-canvas. NOT pixels: the renderer maps x to `left: x*100%`, so `x: 180` sits 180 frame-widths away and draws nothing.", - "properties": { - "x": { - "maximum": 2, - "minimum": -1, - "type": "number" - }, - "y": { - "maximum": 2, - "minimum": -1, - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "region": { - "additionalProperties": {}, - "properties": { - "h": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "w": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "rotation": { - "type": "number" - }, - "scale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "source": { - "oneOf": [ - { - "additionalProperties": {}, - "properties": { - "anchor": { - "additionalProperties": {}, - "properties": { - "clipId": { - "minLength": 1, - "type": "string" - }, - "offsetMs": { - "type": "number" - } - }, - "required": [ - "clipId", - "offsetMs" - ], - "type": "object" - }, - "audioRole": { - "enum": [ - "sfx", - "music", - "vo", - "ambience" - ], - "type": "string" - }, - "duck": { - "additionalProperties": {}, - "properties": { - "attackMs": { - "minimum": 0, - "type": "number" - }, - "duckDb": { - "maximum": 0, - "type": "number" - }, - "releaseMs": { - "minimum": 0, - "type": "number" - }, - "windows": { - "items": { - "additionalProperties": {}, - "properties": { - "endMs": { - "type": "number" - }, - "startMs": { - "type": "number" - } - }, - "required": [ - "startMs", - "endMs" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "duckDb", - "attackMs", - "releaseMs" - ], - "type": "object" - }, - "excludedRanges": { - "items": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "reason": { - "type": "string" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "type": "array" - }, - "fadeInMs": { - "minimum": 0, - "type": "number" - }, - "fadeOutMs": { - "minimum": 0, - "type": "number" - }, - "kenBurns": { - "enum": [ - "in", - "out", - "pan-l", - "pan-r", - "none" - ], - "type": "string" - }, - "kind": { - "const": "media", - "type": "string" - }, - "loop": { - "type": "boolean" - }, - "mediaId": { - "type": "string" - }, - "muted": { - "type": "boolean" - }, - "playbackRate": { - "exclusiveMinimum": 0, - "type": "number" - }, - "reframe": { - "additionalProperties": {}, - "properties": { - "segments": { - "items": { - "additionalProperties": {}, - "properties": { - "bias": { - "additionalProperties": {}, - "description": "Optional FINE framing nudge off the focus center, source-normalized in [−0.3, 0.3]. A small correction (headroom, rule-of-thirds), NOT a reframe — use `focus`/`zoom` for the actual shot. Omit (treated as 0) to sit dead-center on the focus.", - "properties": { - "x": { - "description": "Horizontal nudge, source-normalized (+ = right).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "y": { - "description": "Vertical nudge, source-normalized (+ = down).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "ease": { - "additionalProperties": {}, - "description": "Zoom/center ramp DURATIONS in SECONDS at this segment's edges — NOT a unitless 0–1 curve. ~0.3–0.6s reads as a snappy push; >1s reads sluggish. Keep `in` + `out` ≤ the segment's duration (endSec − startSec): the two edges share the span, so to ramp across the WHOLE segment set one edge to the full duration and the other to 0. Omit for an instant cut to this framing.", - "properties": { - "in": { - "description": "Ease-IN ramp DURATION in seconds at the segment START.", - "minimum": 0, - "type": "number" - }, - "out": { - "description": "Ease-OUT ramp DURATION in seconds at the segment END.", - "minimum": 0, - "type": "number" - } - }, - "required": [ - "in", - "out" - ], - "type": "object" - }, - "endSec": { - "description": "Segment END in seconds, clip-relative. The span (endSec − startSec) is this segment's duration — the window `ease` ramps over.", - "exclusiveMinimum": 0, - "type": "number" - }, - "focus": { - "description": "WHO/WHAT the camera tracks this segment (the reframe center), selected by `mode`: `frame-center` = no tracking, hold the geometric center (static/graphic footage, or a pure zoom); `point` = lock to a fixed source-normalized {x,y} (a non-moving on-screen element); `face` = track a detected face by `faceId` (from get_media_context), with optional `shotScale` close|standard|wide for tightness; `all-faces` = frame the bounding box of every detected face (group/ensemble shots); `active-speaker` = follow whoever is speaking (diarized talking-head / podcast). Pick by what the beat is about; pair with `zoom` for how tight.", - "oneOf": [ - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "frame-center", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "point", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "mode", - "x", - "y" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "faceId": { - "minLength": 1, - "type": "string" - }, - "mode": { - "const": "face", - "type": "string" - }, - "shotScale": { - "enum": [ - "close", - "standard", - "wide" - ], - "type": "string" - } - }, - "required": [ - "mode", - "faceId" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "all-faces", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "active-speaker", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - } - ] - }, - "intent": { - "description": "Optional editorial LABEL for diff/log readability (e.g. 'speaker-tight', 'wide-context'). Cosmetic — NOT honored by the derive math and excluded from the variant cache key.", - "type": "string" - }, - "startSec": { - "description": "Segment START in seconds, clip-relative. Segments tile the clip's duration in order.", - "minimum": 0, - "type": "number" - }, - "zoom": { - "description": "How TIGHT the framing is — the fraction of the source the output viewport shows. <1 punches IN (a smaller source fraction, magnified to fill the frame); 1 = the full frame (no crop). ~0.6–0.8 is a moderate push-in, ~0.5 a tight close-up, 0.1 the maximum zoom. There is NO zoom-OUT past the full frame (max 1). Omit for the full frame. MUTUALLY EXCLUSIVE with `focus.shotScale`: a face-tracked shot is sized EITHER by the editorial scale (shotScale, calibrated to the detected face) OR by an explicit zoom — never both.", - "maximum": 1, - "minimum": 0.1, - "type": "number" - } - }, - "required": [ - "startSec", - "endSec", - "focus" - ], - "type": "object" - }, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "segments" - ], - "type": "object" - }, - "sync": { - "enum": [ - "video", - "independent" - ], - "type": "string" - }, - "trim": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "volume": { - "maximum": 4, - "minimum": 0, - "type": "number" - }, - "volumeDb": { - "type": "number" - } - }, - "required": [ - "kind", - "mediaId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "componentId": { - "minLength": 1, - "type": "string" - }, - "execution": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "kind": { - "const": "component", - "type": "string" - }, - "placement": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "clip", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "content-slots", - "type": "string" - }, - "slots": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "ownership": { - "enum": [ - "reference", - "exclusive" - ], - "type": "string" - }, - "targetClipIds": { - "items": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "targetClipIds", - "ownership" - ], - "type": "object" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind", - "slots" - ], - "type": "object" - } - ] - }, - "props": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "retired": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "componentId", - "props" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "anchor": { - "additionalProperties": {}, - "properties": { - "space": { - "const": "scene", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "space", - "x", - "y" - ], - "type": "object" - }, - "kind": { - "const": "overlay", - "type": "string" - }, - "parallax": { - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "pattern": "^(?!custom$)", - "type": "string" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "primitiveId", - "params" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "component": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "kind": { - "const": "effect", - "type": "string" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "targetTrackIds": { - "items": { - "minLength": 1, - "type": "string" - }, - "minItems": 1, - "type": "array" - }, - "wrapperOrder": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "html": { - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "card", - "type": "string" - }, - "tokens": { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "zPlane": { - "const": "front", - "type": "string" - } - }, - "required": [ - "kind", - "html" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "compositionId": { - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "composition", - "type": "string" - }, - "trim": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "compositionId" - ], - "type": "object" - } - ] - }, - "startTime": { - "minimum": 0, - "type": "number" - }, - "transitionIn": { - "additionalProperties": {}, - "properties": { - "component": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "fromClipId": { - "minLength": 1, - "type": "string" - }, - "handlePolicy": { - "const": "outgoing-overrun-at-cut-v1", - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "toClipId": { - "minLength": 1, - "type": "string" - }, - "type": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "type", - "duration" - ], - "type": "object" - }, - "tweens": { - "items": { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "keyframes": { - "additionalProperties": false, - "properties": { - "easeEach": { - "const": "none", - "type": "string" - }, - "format": { - "const": "percentage", - "type": "string" - }, - "keyframes": { - "items": { - "additionalProperties": false, - "properties": { - "ease": { - "type": "string" - }, - "percentage": { - "type": "number" - }, - "properties": { - "additionalProperties": { - "type": "number" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - }, - "required": [ - "percentage", - "properties" - ], - "type": "object" - }, - "minItems": 2, - "type": "array" - } - }, - "required": [ - "format", - "easeEach", - "keyframes" - ], - "type": "object" - }, - "position": { - "type": "number" - }, - "propertyGroup": { - "enum": [ - "visual", - "scale", - "rotation", - "position" - ], - "type": "string" - } - }, - "required": [ - "id", - "propertyGroup", - "position", - "duration", - "keyframes" - ], - "type": "object" - }, - "type": "array" - } - }, - "type": "object" - }, - "type": { - "const": "clip.update", - "type": "string" - } - }, - "required": [ - "type", - "clipId", - "patch" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Remove EVERY clip sourced from a given mediaId (e.g. after deleting that media).", - "properties": { - "mediaId": { - "type": "string" - }, - "type": { - "const": "removeClipsByMediaId", - "type": "string" - } - }, - "required": [ - "type", - "mediaId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Replace the overlay channel wholesale with the given clips (bulk set, not a merge).", - "properties": { - "clips": { - "items": { - "additionalProperties": false, - "properties": { - "automation": { - "additionalProperties": false, - "properties": { - "lanes": { - "items": { - "additionalProperties": false, - "properties": { - "points": { - "items": { - "additionalProperties": false, - "properties": { - "t": { - "type": "number" - }, - "v": { - "type": "number" - } - }, - "required": [ - "t", - "v" - ], - "type": "object" - }, - "minItems": 2, - "type": "array" - }, - "target": { - "const": "volume", - "type": "string" - } - }, - "required": [ - "target", - "points" - ], - "type": "object" - }, - "type": "array" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "lanes" - ], - "type": "object" - }, - "captionVisibility": { - "description": "Video media clip only. Hide native captions while this clip is topmost and covers the lower picture, or when an opaque, effect-free clip has an explicitly full-frame region, even with fit:contain. Caption words and timings remain stored and resume when another visible clip takes over.", - "enum": [ - "visible", - "hidden" - ], - "type": "string" - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "effects": { - "items": { - "additionalProperties": false, - "properties": { - "component": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "id": { - "minLength": 1, - "type": "string" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "window": { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "startTime": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "startTime", - "duration" - ], - "type": "object" - } - }, - "type": "object" - }, - "type": "array" - }, - "fit": { - "enum": [ - "cover", - "contain" - ], - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "kind": { - "enum": [ - "video", - "audio", - "image", - "overlay", - "effect" - ], - "type": "string" - }, - "legacyKeyframes": { - "additionalProperties": false, - "properties": { - "channels": { - "items": { - "type": "string" - }, - "type": "array" - }, - "needsUpgrade": { - "const": true, - "type": "boolean" - }, - "record": {} - }, - "required": [ - "needsUpgrade", - "channels", - "record" - ], - "type": "object" - }, - "linkGroupId": { - "minLength": 1, - "type": "string" - }, - "opacity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "position": { - "additionalProperties": {}, - "description": "Clip CENTRE as a fraction of the frame: {x:0.5,y:0.5} is dead centre, 0 to 1 is inside the frame, and a little overshoot (down to -1, up to 2) is how an entrance starts off-canvas. NOT pixels: the renderer maps x to `left: x*100%`, so `x: 180` sits 180 frame-widths away and draws nothing.", - "properties": { - "x": { - "maximum": 2, - "minimum": -1, - "type": "number" - }, - "y": { - "maximum": 2, - "minimum": -1, - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "region": { - "additionalProperties": {}, - "properties": { - "h": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "w": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "rotation": { - "type": "number" - }, - "scale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "source": { - "oneOf": [ - { - "additionalProperties": {}, - "properties": { - "anchor": { - "additionalProperties": {}, - "properties": { - "clipId": { - "minLength": 1, - "type": "string" - }, - "offsetMs": { - "type": "number" - } - }, - "required": [ - "clipId", - "offsetMs" - ], - "type": "object" - }, - "audioRole": { - "enum": [ - "sfx", - "music", - "vo", - "ambience" - ], - "type": "string" - }, - "duck": { - "additionalProperties": {}, - "properties": { - "attackMs": { - "minimum": 0, - "type": "number" - }, - "duckDb": { - "maximum": 0, - "type": "number" - }, - "releaseMs": { - "minimum": 0, - "type": "number" - }, - "windows": { - "items": { - "additionalProperties": {}, - "properties": { - "endMs": { - "type": "number" - }, - "startMs": { - "type": "number" - } - }, - "required": [ - "startMs", - "endMs" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "duckDb", - "attackMs", - "releaseMs" - ], - "type": "object" - }, - "excludedRanges": { - "items": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "reason": { - "type": "string" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "type": "array" - }, - "fadeInMs": { - "minimum": 0, - "type": "number" - }, - "fadeOutMs": { - "minimum": 0, - "type": "number" - }, - "kenBurns": { - "enum": [ - "in", - "out", - "pan-l", - "pan-r", - "none" - ], - "type": "string" - }, - "kind": { - "const": "media", - "type": "string" - }, - "loop": { - "type": "boolean" - }, - "mediaId": { - "type": "string" - }, - "muted": { - "type": "boolean" - }, - "playbackRate": { - "exclusiveMinimum": 0, - "type": "number" - }, - "reframe": { - "additionalProperties": {}, - "properties": { - "segments": { - "items": { - "additionalProperties": {}, - "properties": { - "bias": { - "additionalProperties": {}, - "description": "Optional FINE framing nudge off the focus center, source-normalized in [−0.3, 0.3]. A small correction (headroom, rule-of-thirds), NOT a reframe — use `focus`/`zoom` for the actual shot. Omit (treated as 0) to sit dead-center on the focus.", - "properties": { - "x": { - "description": "Horizontal nudge, source-normalized (+ = right).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "y": { - "description": "Vertical nudge, source-normalized (+ = down).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "ease": { - "additionalProperties": {}, - "description": "Zoom/center ramp DURATIONS in SECONDS at this segment's edges — NOT a unitless 0–1 curve. ~0.3–0.6s reads as a snappy push; >1s reads sluggish. Keep `in` + `out` ≤ the segment's duration (endSec − startSec): the two edges share the span, so to ramp across the WHOLE segment set one edge to the full duration and the other to 0. Omit for an instant cut to this framing.", - "properties": { - "in": { - "description": "Ease-IN ramp DURATION in seconds at the segment START.", - "minimum": 0, - "type": "number" - }, - "out": { - "description": "Ease-OUT ramp DURATION in seconds at the segment END.", - "minimum": 0, - "type": "number" - } - }, - "required": [ - "in", - "out" - ], - "type": "object" - }, - "endSec": { - "description": "Segment END in seconds, clip-relative. The span (endSec − startSec) is this segment's duration — the window `ease` ramps over.", - "exclusiveMinimum": 0, - "type": "number" - }, - "focus": { - "description": "WHO/WHAT the camera tracks this segment (the reframe center), selected by `mode`: `frame-center` = no tracking, hold the geometric center (static/graphic footage, or a pure zoom); `point` = lock to a fixed source-normalized {x,y} (a non-moving on-screen element); `face` = track a detected face by `faceId` (from get_media_context), with optional `shotScale` close|standard|wide for tightness; `all-faces` = frame the bounding box of every detected face (group/ensemble shots); `active-speaker` = follow whoever is speaking (diarized talking-head / podcast). Pick by what the beat is about; pair with `zoom` for how tight.", - "oneOf": [ - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "frame-center", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "point", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "mode", - "x", - "y" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "faceId": { - "minLength": 1, - "type": "string" - }, - "mode": { - "const": "face", - "type": "string" - }, - "shotScale": { - "enum": [ - "close", - "standard", - "wide" - ], - "type": "string" - } - }, - "required": [ - "mode", - "faceId" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "all-faces", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "active-speaker", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - } - ] - }, - "intent": { - "description": "Optional editorial LABEL for diff/log readability (e.g. 'speaker-tight', 'wide-context'). Cosmetic — NOT honored by the derive math and excluded from the variant cache key.", - "type": "string" - }, - "startSec": { - "description": "Segment START in seconds, clip-relative. Segments tile the clip's duration in order.", - "minimum": 0, - "type": "number" - }, - "zoom": { - "description": "How TIGHT the framing is — the fraction of the source the output viewport shows. <1 punches IN (a smaller source fraction, magnified to fill the frame); 1 = the full frame (no crop). ~0.6–0.8 is a moderate push-in, ~0.5 a tight close-up, 0.1 the maximum zoom. There is NO zoom-OUT past the full frame (max 1). Omit for the full frame. MUTUALLY EXCLUSIVE with `focus.shotScale`: a face-tracked shot is sized EITHER by the editorial scale (shotScale, calibrated to the detected face) OR by an explicit zoom — never both.", - "maximum": 1, - "minimum": 0.1, - "type": "number" - } - }, - "required": [ - "startSec", - "endSec", - "focus" - ], - "type": "object" - }, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "segments" - ], - "type": "object" - }, - "sync": { - "enum": [ - "video", - "independent" - ], - "type": "string" - }, - "trim": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "volume": { - "maximum": 4, - "minimum": 0, - "type": "number" - }, - "volumeDb": { - "type": "number" - } - }, - "required": [ - "kind", - "mediaId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "componentId": { - "minLength": 1, - "type": "string" - }, - "execution": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "kind": { - "const": "component", - "type": "string" - }, - "placement": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "clip", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "content-slots", - "type": "string" - }, - "slots": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "ownership": { - "enum": [ - "reference", - "exclusive" - ], - "type": "string" - }, - "targetClipIds": { - "items": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "targetClipIds", - "ownership" - ], - "type": "object" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind", - "slots" - ], - "type": "object" - } - ] - }, - "props": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "retired": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "componentId", - "props" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "anchor": { - "additionalProperties": {}, - "properties": { - "space": { - "const": "scene", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "space", - "x", - "y" - ], - "type": "object" - }, - "kind": { - "const": "overlay", - "type": "string" - }, - "parallax": { - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "pattern": "^(?!custom$)", - "type": "string" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "primitiveId", - "params" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "component": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "kind": { - "const": "effect", - "type": "string" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "targetTrackIds": { - "items": { - "minLength": 1, - "type": "string" - }, - "minItems": 1, - "type": "array" - }, - "wrapperOrder": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "html": { - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "card", - "type": "string" - }, - "tokens": { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "zPlane": { - "const": "front", - "type": "string" - } - }, - "required": [ - "kind", - "html" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "compositionId": { - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "composition", - "type": "string" - }, - "trim": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "compositionId" - ], - "type": "object" - } - ] - }, - "startTime": { - "minimum": 0, - "type": "number" - }, - "transitionIn": { - "additionalProperties": {}, - "properties": { - "component": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "fromClipId": { - "minLength": 1, - "type": "string" - }, - "handlePolicy": { - "const": "outgoing-overrun-at-cut-v1", - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "toClipId": { - "minLength": 1, - "type": "string" - }, - "type": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "type", - "duration" - ], - "type": "object" - }, - "tweens": { - "items": { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "keyframes": { - "additionalProperties": false, - "properties": { - "easeEach": { - "const": "none", - "type": "string" - }, - "format": { - "const": "percentage", - "type": "string" - }, - "keyframes": { - "items": { - "additionalProperties": false, - "properties": { - "ease": { - "type": "string" - }, - "percentage": { - "type": "number" - }, - "properties": { - "additionalProperties": { - "type": "number" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - }, - "required": [ - "percentage", - "properties" - ], - "type": "object" - }, - "minItems": 2, - "type": "array" - } - }, - "required": [ - "format", - "easeEach", - "keyframes" - ], - "type": "object" - }, - "position": { - "type": "number" - }, - "propertyGroup": { - "enum": [ - "visual", - "scale", - "rotation", - "position" - ], - "type": "string" - } - }, - "required": [ - "id", - "propertyGroup", - "position", - "duration", - "keyframes" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "id", - "startTime", - "duration", - "source" - ], - "type": "object" - }, - "type": "array" - }, - "type": { - "const": "loadOverlays", - "type": "string" - } - }, - "required": [ - "type", - "clips" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Add a timeline marker (a named time point/range; carry extensions in `metadata`).", - "properties": { - "marker": { - "additionalProperties": false, - "properties": { - "endTime": { - "minimum": 0, - "type": "number" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "kind": { - "minLength": 1, - "type": "string" - }, - "metadata": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "name": { - "type": "string" - }, - "startTime": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "id", - "startTime", - "kind" - ], - "type": "object" - }, - "type": { - "const": "addMarker", - "type": "string" - } - }, - "required": [ - "type", - "marker" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Remove a marker by id.", - "properties": { - "markerId": { - "type": "string" - }, - "type": { - "const": "removeMarker", - "type": "string" - } - }, - "required": [ - "type", - "markerId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Patch a marker's fields by id (partial merge).", - "properties": { - "markerId": { - "type": "string" - }, - "type": { - "const": "updateMarker", - "type": "string" - }, - "updates": { - "additionalProperties": false, - "properties": { - "endTime": { - "minimum": 0, - "type": "number" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "kind": { - "minLength": 1, - "type": "string" - }, - "metadata": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "name": { - "type": "string" - }, - "startTime": { - "minimum": 0, - "type": "number" - } - }, - "type": "object" - } - }, - "required": [ - "type", - "markerId", - "updates" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Set (or CLEAR, with `segments: null`) the camera/reframe channel on a MEDIA clip — the time-aligned source→output viewport (focus, zoom, ease, bias). This is the PREFERRED way to author reframing; do NOT reframe via a whole-source `clip.update` patch. Segments tile the clip's duration.", - "properties": { - "clipId": { - "type": "string" - }, - "segments": { - "anyOf": [ - { - "items": { - "additionalProperties": {}, - "properties": { - "bias": { - "additionalProperties": {}, - "description": "Optional FINE framing nudge off the focus center, source-normalized in [−0.3, 0.3]. A small correction (headroom, rule-of-thirds), NOT a reframe — use `focus`/`zoom` for the actual shot. Omit (treated as 0) to sit dead-center on the focus.", - "properties": { - "x": { - "description": "Horizontal nudge, source-normalized (+ = right).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "y": { - "description": "Vertical nudge, source-normalized (+ = down).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "ease": { - "additionalProperties": {}, - "description": "Zoom/center ramp DURATIONS in SECONDS at this segment's edges — NOT a unitless 0–1 curve. ~0.3–0.6s reads as a snappy push; >1s reads sluggish. Keep `in` + `out` ≤ the segment's duration (endSec − startSec): the two edges share the span, so to ramp across the WHOLE segment set one edge to the full duration and the other to 0. Omit for an instant cut to this framing.", - "properties": { - "in": { - "description": "Ease-IN ramp DURATION in seconds at the segment START.", - "minimum": 0, - "type": "number" - }, - "out": { - "description": "Ease-OUT ramp DURATION in seconds at the segment END.", - "minimum": 0, - "type": "number" - } - }, - "required": [ - "in", - "out" - ], - "type": "object" - }, - "endSec": { - "description": "Segment END in seconds, clip-relative. The span (endSec − startSec) is this segment's duration — the window `ease` ramps over.", - "exclusiveMinimum": 0, - "type": "number" - }, - "focus": { - "description": "WHO/WHAT the camera tracks this segment (the reframe center), selected by `mode`: `frame-center` = no tracking, hold the geometric center (static/graphic footage, or a pure zoom); `point` = lock to a fixed source-normalized {x,y} (a non-moving on-screen element); `face` = track a detected face by `faceId` (from get_media_context), with optional `shotScale` close|standard|wide for tightness; `all-faces` = frame the bounding box of every detected face (group/ensemble shots); `active-speaker` = follow whoever is speaking (diarized talking-head / podcast). Pick by what the beat is about; pair with `zoom` for how tight.", - "oneOf": [ - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "frame-center", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "point", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "mode", - "x", - "y" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "faceId": { - "minLength": 1, - "type": "string" - }, - "mode": { - "const": "face", - "type": "string" - }, - "shotScale": { - "enum": [ - "close", - "standard", - "wide" - ], - "type": "string" - } - }, - "required": [ - "mode", - "faceId" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "all-faces", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "active-speaker", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - } - ] - }, - "intent": { - "description": "Optional editorial LABEL for diff/log readability (e.g. 'speaker-tight', 'wide-context'). Cosmetic — NOT honored by the derive math and excluded from the variant cache key.", - "type": "string" - }, - "startSec": { - "description": "Segment START in seconds, clip-relative. Segments tile the clip's duration in order.", - "minimum": 0, - "type": "number" - }, - "zoom": { - "description": "How TIGHT the framing is — the fraction of the source the output viewport shows. <1 punches IN (a smaller source fraction, magnified to fill the frame); 1 = the full frame (no crop). ~0.6–0.8 is a moderate push-in, ~0.5 a tight close-up, 0.1 the maximum zoom. There is NO zoom-OUT past the full frame (max 1). Omit for the full frame. MUTUALLY EXCLUSIVE with `focus.shotScale`: a face-tracked shot is sized EITHER by the editorial scale (shotScale, calibrated to the detected face) OR by an explicit zoom — never both.", - "maximum": 1, - "minimum": 0.1, - "type": "number" - } - }, - "required": [ - "startSec", - "endSec", - "focus" - ], - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "type": { - "const": "setCropIntents", - "type": "string" - } - }, - "required": [ - "type", - "clipId", - "segments" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Set (or CLEAR, with `effects: []`) a clip's EFFECT channel — the pinned component clip wrappers stacked onto that clip, each `{id, component, window}`: a unique `id`, the wrapper component's execution pin as `component`, and `window: {startTime, duration}` in seconds. The built-in primitive effects were removed: a stored one reads, and save and render refuse it (`effect_retired`), so clear it with `effects: []`. WHOLESALE: the array REPLACES the clip's current effects, so send the full stack (read the clip first to add one). This is the ONLY way to change effects on an existing clip — do NOT reach for a `clip.update` patch, whose top-level merge is the source-clobbering footgun documented above.", - "properties": { - "clipId": { - "type": "string" - }, - "effects": { - "items": { - "additionalProperties": false, - "properties": { - "component": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "id": { - "minLength": 1, - "type": "string" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "window": { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "startTime": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "startTime", - "duration" - ], - "type": "object" - } - }, - "type": "object" - }, - "type": "array" - }, - "type": { - "const": "setEffects", - "type": "string" - } - }, - "required": [ - "type", - "clipId", - "effects" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Merge style overrides (font/color/position/emphasis) onto the composition's caption layer. Partial — omitted fields keep their current value; creates the caption container if absent.", - "properties": { - "style": { - "additionalProperties": {}, - "properties": { - "annotationColor": { - "type": "string" - }, - "annotationStrokeWidth": { - "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.", - "maximum": 12, - "minimum": 0.5, - "type": "number" - }, - "annotationTexture": { - "description": "Native annotation stroke finish; default clean.", - "enum": [ - "clean", - "pencil" - ], - "type": "string" - }, - "backgroundColor": { - "type": "string" - }, - "color": { - "minLength": 1, - "type": "string" - }, - "emphasisColor": { - "type": "string" - }, - "emphasisFontFamily": { - "type": "string" - }, - "emphasisFontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "emphasisFontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "emphasisGradient": { - "type": "string" - }, - "emphasisLetterSpacing": { - "type": "number" - }, - "emphasisPlate": { - "type": "boolean" - }, - "emphasisPlateAltColor": { - "type": "string" - }, - "emphasisPlateAltTextColor": { - "type": "string" - }, - "emphasisPlateColor": { - "type": "string" - }, - "emphasisPlatePadX": { - "type": "number" - }, - "emphasisPlatePadY": { - "type": "number" - }, - "emphasisPlateRadius": { - "minimum": 0, - "type": "number" - }, - "emphasisPlateReveal": { - "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.", - "type": "boolean" - }, - "emphasisPlateTextColor": { - "type": "string" - }, - "emphasisScale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "emphasisTextTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "entrance": { - "enum": [ - "none", - "fade", - "word-pop", - "stagger-up" - ], - "type": "string" - }, - "entranceMs": { - "minimum": 0, - "type": "number" - }, - "entranceStaggerMs": { - "minimum": 0, - "type": "number" - }, - "exitMs": { - "minimum": 0, - "type": "number" - }, - "fontFamily": { - "minLength": 1, - "type": "string" - }, - "fontSize": { - "description": "Font size as % of composition height (1-15, default 5). NOT px.", - "maximum": 15, - "minimum": 1, - "type": "number" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "highlightColor": { - "minLength": 1, - "type": "string" - }, - "letterSpacing": { - "description": "Base caption glyph spacing in pixels.", - "maximum": 20, - "minimum": -5, - "type": "number" - }, - "lineGapEm": { - "description": "Gap between caption lines as a multiple of base font size; default 0.25.", - "maximum": 2, - "minimum": 0, - "type": "number" - }, - "maxWidthPercent": { - "exclusiveMinimum": 0, - "maximum": 100, - "type": "number" - }, - "plate": { - "enum": [ - "glass", - "solid", - "none" - ], - "type": "string" - }, - "position": { - "enum": [ - "top", - "center", - "bottom" - ], - "type": "string" - }, - "region": { - "additionalProperties": {}, - "description": "Optional caption layout box {x,y,w,h} in normalized output-frame coordinates. Overrides position; text starts at its top edge and wraps/pages within its width and height.", - "properties": { - "h": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "w": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "textTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "wordGapEm": { - "description": "Gap between caption runs as a multiple of base font size; default 0.35.", - "maximum": 2, - "minimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "type": { - "const": "setCaptionStyle", - "type": "string" - } - }, - "required": [ - "type", - "style" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Set the caption compositing plane. Use `behind-subject` to place captions behind the segmented foreground subject; use `front` for conventional captions above all video layers.", - "properties": { - "type": { - "const": "setCaptionDepth", - "type": "string" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "type", - "zPlane" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Replace the caption SEGMENTS wholesale — author the word-timed caption layer directly (each segment = one sentence/page of `words` with timeline-ms `startMs`/`endMs`, optional `emphasis`). This is how a client with its OWN word timings (e.g. a generated VO take) gets word-synced captions without a source transcript; the compose lane's transcript slice writes the same layer. `style`, when given, merges with setCaptionStyle semantics; an omitted style keeps the existing one. Renderer paginates within a segment and never pools words across two — keep segments sentence-bounded.", - "properties": { - "segments": { - "items": { - "additionalProperties": {}, - "properties": { - "words": { - "items": { - "additionalProperties": {}, - "properties": { - "annotate": { - "enum": [ - "circle", - "underline" - ], - "type": "string" - }, - "emphasis": { - "type": "boolean" - }, - "endMs": { - "description": "Word end on the composition timeline, in milliseconds.", - "minimum": 0, - "type": "number" - }, - "startMs": { - "description": "Word start on the composition timeline, in milliseconds.", - "minimum": 0, - "type": "number" - }, - "text": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "text", - "startMs", - "endMs" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "words" - ], - "type": "object" - }, - "type": "array" - }, - "style": { - "additionalProperties": {}, - "properties": { - "annotationColor": { - "type": "string" - }, - "annotationStrokeWidth": { - "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.", - "maximum": 12, - "minimum": 0.5, - "type": "number" - }, - "annotationTexture": { - "description": "Native annotation stroke finish; default clean.", - "enum": [ - "clean", - "pencil" - ], - "type": "string" - }, - "backgroundColor": { - "type": "string" - }, - "color": { - "minLength": 1, - "type": "string" - }, - "emphasisColor": { - "type": "string" - }, - "emphasisFontFamily": { - "type": "string" - }, - "emphasisFontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "emphasisFontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "emphasisGradient": { - "type": "string" - }, - "emphasisLetterSpacing": { - "type": "number" - }, - "emphasisPlate": { - "type": "boolean" - }, - "emphasisPlateAltColor": { - "type": "string" - }, - "emphasisPlateAltTextColor": { - "type": "string" - }, - "emphasisPlateColor": { - "type": "string" - }, - "emphasisPlatePadX": { - "type": "number" - }, - "emphasisPlatePadY": { - "type": "number" - }, - "emphasisPlateRadius": { - "minimum": 0, - "type": "number" - }, - "emphasisPlateReveal": { - "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.", - "type": "boolean" - }, - "emphasisPlateTextColor": { - "type": "string" - }, - "emphasisScale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "emphasisTextTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "entrance": { - "enum": [ - "none", - "fade", - "word-pop", - "stagger-up" - ], - "type": "string" - }, - "entranceMs": { - "minimum": 0, - "type": "number" - }, - "entranceStaggerMs": { - "minimum": 0, - "type": "number" - }, - "exitMs": { - "minimum": 0, - "type": "number" - }, - "fontFamily": { - "minLength": 1, - "type": "string" - }, - "fontSize": { - "description": "Font size as % of composition height (1-15, default 5). NOT px.", - "maximum": 15, - "minimum": 1, - "type": "number" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "highlightColor": { - "minLength": 1, - "type": "string" - }, - "letterSpacing": { - "description": "Base caption glyph spacing in pixels.", - "maximum": 20, - "minimum": -5, - "type": "number" - }, - "lineGapEm": { - "description": "Gap between caption lines as a multiple of base font size; default 0.25.", - "maximum": 2, - "minimum": 0, - "type": "number" - }, - "maxWidthPercent": { - "exclusiveMinimum": 0, - "maximum": 100, - "type": "number" - }, - "plate": { - "enum": [ - "glass", - "solid", - "none" - ], - "type": "string" - }, - "position": { - "enum": [ - "top", - "center", - "bottom" - ], - "type": "string" - }, - "region": { - "additionalProperties": {}, - "description": "Optional caption layout box {x,y,w,h} in normalized output-frame coordinates. Overrides position; text starts at its top edge and wraps/pages within its width and height.", - "properties": { - "h": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "w": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "textTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "wordGapEm": { - "description": "Gap between caption runs as a multiple of base font size; default 0.35.", - "maximum": 2, - "minimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "type": { - "const": "setCaptions", - "type": "string" - } - }, - "required": [ - "type", - "segments" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Replace native caption placements without changing transcript words or timings. Each layout references a half-open word-index range in one saved segment; a one-word range is valid. region places that group independently, optional bounded scale/rotation/style changes its look, and holdThroughWordIndex keeps it visible through a later saved word in the same segment. All words in a placed range occupy one page; rendering refuses a range that cannot fit its box, so enlarge region or split the range. The box reserves horizontal space of 1.6 font sizes and vertical space of 0.8 font sizes for padding, with at most three lines. Unreferenced words keep the default caption layout. Word ranges must not overlap. Reapply after caption regeneration or timeline cuts.", - "properties": { - "layouts": { - "items": { - "additionalProperties": false, - "properties": { - "holdThroughWordIndex": { - "description": "Inclusive saved-word index in this segment. The layout stays visible until that word ends.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "region": { - "additionalProperties": {}, - "properties": { - "h": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "w": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "rotation": { - "maximum": 45, - "minimum": -45, - "type": "number" - }, - "scale": { - "maximum": 4, - "minimum": 0.25, - "type": "number" - }, - "segmentIndex": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "style": { - "additionalProperties": false, - "properties": { - "annotationColor": { - "type": "string" - }, - "annotationStrokeWidth": { - "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.", - "maximum": 12, - "minimum": 0.5, - "type": "number" - }, - "annotationTexture": { - "description": "Native annotation stroke finish; default clean.", - "enum": [ - "clean", - "pencil" - ], - "type": "string" - }, - "backgroundColor": { - "type": "string" - }, - "color": { - "minLength": 1, - "type": "string" - }, - "emphasisColor": { - "type": "string" - }, - "emphasisFontFamily": { - "type": "string" - }, - "emphasisFontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "emphasisFontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "emphasisLetterSpacing": { - "type": "number" - }, - "emphasisPlate": { - "type": "boolean" - }, - "emphasisPlateAltColor": { - "type": "string" - }, - "emphasisPlateAltTextColor": { - "type": "string" - }, - "emphasisPlateColor": { - "type": "string" - }, - "emphasisPlatePadX": { - "type": "number" - }, - "emphasisPlatePadY": { - "type": "number" - }, - "emphasisPlateRadius": { - "minimum": 0, - "type": "number" - }, - "emphasisPlateReveal": { - "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.", - "type": "boolean" - }, - "emphasisPlateTextColor": { - "type": "string" - }, - "emphasisScale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "emphasisTextTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "entrance": { - "enum": [ - "none", - "fade", - "word-pop", - "stagger-up" - ], - "type": "string" - }, - "entranceMs": { - "minimum": 0, - "type": "number" - }, - "entranceStaggerMs": { - "minimum": 0, - "type": "number" - }, - "exitMs": { - "minimum": 0, - "type": "number" - }, - "fontFamily": { - "minLength": 1, - "type": "string" - }, - "fontSize": { - "description": "Font size as % of composition height (1-15, default 5). NOT px.", - "maximum": 15, - "minimum": 1, - "type": "number" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "highlightColor": { - "minLength": 1, - "type": "string" - }, - "letterSpacing": { - "description": "Base caption glyph spacing in pixels.", - "maximum": 20, - "minimum": -5, - "type": "number" - }, - "lineGapEm": { - "description": "Gap between caption lines as a multiple of base font size; default 0.25.", - "maximum": 2, - "minimum": 0, - "type": "number" - }, - "plate": { - "enum": [ - "glass", - "solid", - "none" - ], - "type": "string" - }, - "textTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "wordGapEm": { - "description": "Gap between caption runs as a multiple of base font size; default 0.35.", - "maximum": 2, - "minimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "wordEndIndex": { - "description": "Exclusive word index in the saved caption segment.", - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "wordMarks": { - "items": { - "additionalProperties": false, - "properties": { - "annotate": { - "anyOf": [ - { - "enum": [ - "circle", - "underline" - ], - "type": "string" - }, - { - "type": "null" - } - ] - }, - "emphasis": { - "type": "boolean" - }, - "wordIndex": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "wordIndex" - ], - "type": "object" - }, - "type": "array" - }, - "wordStartIndex": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "segmentIndex", - "wordStartIndex", - "wordEndIndex", - "region" - ], - "type": "object" - }, - "type": "array" - }, - "type": { - "const": "setCaptionLayouts", - "type": "string" - } - }, - "required": [ - "type", - "layouts" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Author a scene shot and place it on a dedicated overlay track. The host validates the scene, generates and registers an immutable wrapper component source, and emits the ordinary track/clip operations carrying `props.componentRef` — you edit a scene SPEC, never wrapper TSX or a source hash. Registration and the composition update are ONE undoable edit; a failure publishes nothing and leaves no clip pointing at an unresolved source. Pass EXACTLY ONE of `trackId` (an existing dedicated scene track) or `newTrack: true` (mint one). That track holds scene-shot clips and gaps only — no generic component/primitive/media clips in v1 — and existing generic overlay tracks are unaffected. Scene clips use front zPlane and full-frame placement: outer per-clip `region`, `position`, `scale`, `rotation`, `fit`, `effects`, keyframes (`tweens`/`automation`), `params.transition`, `params.sequenceGroup` and internal fadeIn/fadeOut are REFUSED with a path, because the shot's own layer transforms are the single transform owner. TEXT: `space: \"screen\"` text is composed above the world result, stays fixed in the frame and stays sharp through focus; `space: \"world\"` text is rasterized into the 3D scene, moves with the camera and is occluded by geometry. Screenshots and world text are UNLIT and colour-managed so product UI colours are not tinted by the studio lighting, while device bodies are lit and cast shadows; an unlit surface still occludes. SCOPE GAP (pre-existing, neither closed nor changed by scene shots): global wrap effects — composition-level grades and camera effects — do not reach front-overlay clips, so they do not affect a scene shot. Author the look INSIDE the shot (`post.grain`, `post.vignette`, `post.focus`, `backdrop`, `environment`) instead. DISCOVERY: there is no built-in scene primitive to look up in list_catalog; the wrapper this operation registers appears afterwards as an ordinary INSTALLED component under the existing catalog rules. ASSETS: `assets` binds each slot name a layer references to a media id in the same project, and the slot's declared KIND decides what it admits — an image slot takes PNG, JPEG or WebP, a video slot MP4 or WebM. Binding the wrong kind is refused with the slot's path.", - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "clipId": { - "minLength": 1, - "type": "string" - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "newTrack": { - "type": "boolean" - }, - "newTrackId": { - "minLength": 1, - "type": "string" - }, - "scene": { - "additionalProperties": false, - "description": "A version-2 scene shot: a self-contained 3D world-object shot that scene.add / scene.update materializes into an ordinary component clip. The shot owns its layers, camera, lighting, backdrop and normalized local animation; the composition owns start, duration, ordering, cuts and transitions. Coordinates are REFERENCE PIXELS: origin at frame centre, +X right, +Y down, +Z toward the viewer. referenceSize must have the SAME aspect ratio as the composition format; mismatch fails instead of cropping. At equal aspect ratio the shot scales uniformly by outputWidth/referenceWidth. A segment's easing belongs to the keyframe it ARRIVES at; the first keyframe has no easing. Authoring limits: 32 layers, 4 devices, 16 distinct image slots, 256 keyframes per channel, 2048 keyframes per shot. Version 2 supports nested groups, procedural slab/page/phone/laptop objects, screen- and world-space text, admitted image/component/video surfaces, fixed photographic and generated studio environments, transparent/solid/linear/radial backdrops, constraints, focus, grain and vignette. Raw HTML, custom shader props, imported GLB models, arbitrary external HDR environments, skeletal animation and physics are refused with an exact field path.", - "properties": { - "animation": { - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "keyframes": { - "items": { - "additionalProperties": false, - "properties": { - "at": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "easing": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "linear", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "hold", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "bezier", - "type": "string" - }, - "x1": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "x2": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y1": { - "maximum": 5, - "minimum": -4, - "type": "number" - }, - "y2": { - "maximum": 5, - "minimum": -4, - "type": "number" - } - }, - "required": [ - "kind", - "x1", - "y1", - "x2", - "y2" - ], - "type": "object" - } - ] - }, - "value": { - "type": "number" - } - }, - "required": [ - "at", - "value" - ], - "type": "object" - }, - "maxItems": 256, - "minItems": 1, - "type": "array" - }, - "property": { - "enum": [ - "positionX", - "positionY", - "positionZ", - "rotationX", - "rotationY", - "rotationZ", - "fov", - "scale", - "opacity", - "openAngle", - "x", - "y", - "rotation", - "intensity", - "distance", - "range", - "maxBlur" - ], - "type": "string" - }, - "target": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "camera", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "layer", - "type": "string" - }, - "layerId": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - } - }, - "required": [ - "kind", - "layerId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "environment", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "focus", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - } - ] - } - }, - "required": [ - "target", - "property", - "keyframes" - ], - "type": "object" - }, - "type": "array" - }, - "backdrop": { - "default": { - "kind": "transparent" - }, - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "transparent", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "kind": { - "const": "solid", - "type": "string" - } - }, - "required": [ - "kind", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "angle": { - "default": 0, - "type": "number" - }, - "kind": { - "const": "linear", - "type": "string" - }, - "stops": { - "items": { - "additionalProperties": false, - "properties": { - "at": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - } - }, - "required": [ - "at", - "color" - ], - "type": "object" - }, - "maxItems": 8, - "minItems": 2, - "type": "array" - } - }, - "required": [ - "kind", - "stops" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "at": { - "default": [ - 0.5, - 0.5 - ], - "items": false, - "maxItems": 2, - "minItems": 2, - "prefixItems": [ - { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - { - "maximum": 1, - "minimum": 0, - "type": "number" - } - ], - "type": "array" - }, - "kind": { - "const": "radial", - "type": "string" - }, - "stops": { - "items": { - "additionalProperties": false, - "properties": { - "at": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - } - }, - "required": [ - "at", - "color" - ], - "type": "object" - }, - "maxItems": 8, - "minItems": 2, - "type": "array" - } - }, - "required": [ - "kind", - "stops" - ], - "type": "object" - } - ] - }, - "camera": { - "additionalProperties": false, - "properties": { - "fov": { - "maximum": 1.3962634015954636, - "minimum": 0.3141592653589793, - "type": "number" - }, - "position": { - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - } - }, - "type": "object" - }, - "constraints": { - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "gap": { - "exclusiveMinimum": 0, - "type": "number" - }, - "kind": { - "const": "minSeparation", - "type": "string" - }, - "objects": { - "items": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "minItems": 2, - "type": "array" - } - }, - "required": [ - "kind", - "objects", - "gap" - ], - "type": "object" - }, - "type": "array" - }, - "environment": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "floorY": { - "default": -420, - "type": "number" - }, - "intensity": { - "default": 1, - "minimum": 0, - "type": "number" - }, - "kind": { - "const": "studio", - "type": "string" - }, - "lightingProfile": { - "default": "studio", - "enum": [ - "studio", - "studio-edge" - ], - "type": "string" - }, - "preset": { - "default": "soft", - "enum": [ - "soft", - "key", - "rim" - ], - "type": "string" - }, - "shadowOpacity": { - "default": 0.5, - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "photographic-studio-v1", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - } - ], - "default": { - "floorY": -420, - "intensity": 1, - "lightingProfile": "studio", - "preset": "soft", - "shadowOpacity": 0.5 - } - }, - "layers": { - "items": { - "$ref": "#/$defs/__schema1" - }, - "minItems": 1, - "type": "array" - }, - "post": { - "additionalProperties": false, - "default": { - "focus": null, - "grain": 0, - "vignette": 0 - }, - "properties": { - "focus": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "distance": { - "exclusiveMinimum": 0, - "type": "number" - }, - "maxBlur": { - "maximum": 64, - "minimum": 0, - "type": "number" - }, - "range": { - "exclusiveMinimum": 0, - "type": "number" - } - }, - "required": [ - "distance", - "range", - "maxBlur" - ], - "type": "object" - }, - { - "type": "null" - } - ], - "default": null - }, - "grain": { - "default": 0, - "maximum": 0.5, - "minimum": 0, - "type": "number" - }, - "vignette": { - "default": 0, - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "referenceSize": { - "additionalProperties": false, - "properties": { - "height": { - "maximum": 8192, - "minimum": 16, - "type": "integer" - }, - "width": { - "maximum": 8192, - "minimum": 16, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "version": { - "const": 2, - "type": "number" - } - }, - "required": [ - "version", - "referenceSize", - "layers" - ], - "type": "object" - }, - "startTime": { - "minimum": 0, - "type": "number" - }, - "trackId": { - "minLength": 1, - "type": "string" - }, - "transitionIn": { - "additionalProperties": {}, - "properties": { - "component": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "fromClipId": { - "minLength": 1, - "type": "string" - }, - "handlePolicy": { - "const": "outgoing-overrun-at-cut-v1", - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "toClipId": { - "minLength": 1, - "type": "string" - }, - "type": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "type", - "duration" - ], - "type": "object" - }, - "type": { - "const": "scene.add", - "type": "string" - } - }, - "required": [ - "type", - "clipId", - "startTime", - "duration", - "scene", - "assets" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Revise a scene shot in place by clip id. Send a replacement `scene` and/or `assets`; timing changes use the ordinary clip timing fields (`startTime`, `duration`, `transitionIn`). Omitted fields keep their persisted values and the MERGED result is re-validated as a whole, so a partial edit cannot leave the shot invalid. Changing only values or asset IDs updates props and bindings and REUSES the pinned source; changing the referenced SLOT SET regenerates the wrapper manifest and registers a new immutable source version atomically. Undo restores the source reference, spec, bindings and timing together. Topology, asset bindings, text content, font properties, device kind and colours are STATIC within a shot's animation — change them here (a revised spec) rather than trying to animate them. This is not a source trim or slip: a shortened or extended clip resamples the SAME normalized animation over its new duration, and trim/slip requests on generated animation are rejected rather than reinterpreted as media trims. In one batch, `scene.update` may target a shot added by an earlier `scene.add`. ASSETS: `assets` binds each slot name a layer references to a media id in the same project, and the slot's declared KIND decides what it admits — an image slot takes PNG, JPEG or WebP, a video slot MP4 or WebM. Binding the wrong kind is refused with the slot's path.", - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "clipId": { - "minLength": 1, - "type": "string" - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "scene": { - "additionalProperties": false, - "description": "A version-2 scene shot: a self-contained 3D world-object shot that scene.add / scene.update materializes into an ordinary component clip. The shot owns its layers, camera, lighting, backdrop and normalized local animation; the composition owns start, duration, ordering, cuts and transitions. Coordinates are REFERENCE PIXELS: origin at frame centre, +X right, +Y down, +Z toward the viewer. referenceSize must have the SAME aspect ratio as the composition format; mismatch fails instead of cropping. At equal aspect ratio the shot scales uniformly by outputWidth/referenceWidth. A segment's easing belongs to the keyframe it ARRIVES at; the first keyframe has no easing. Authoring limits: 32 layers, 4 devices, 16 distinct image slots, 256 keyframes per channel, 2048 keyframes per shot. Version 2 supports nested groups, procedural slab/page/phone/laptop objects, screen- and world-space text, admitted image/component/video surfaces, fixed photographic and generated studio environments, transparent/solid/linear/radial backdrops, constraints, focus, grain and vignette. Raw HTML, custom shader props, imported GLB models, arbitrary external HDR environments, skeletal animation and physics are refused with an exact field path.", - "properties": { - "animation": { - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "keyframes": { - "items": { - "additionalProperties": false, - "properties": { - "at": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "easing": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "linear", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "hold", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "bezier", - "type": "string" - }, - "x1": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "x2": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y1": { - "maximum": 5, - "minimum": -4, - "type": "number" - }, - "y2": { - "maximum": 5, - "minimum": -4, - "type": "number" - } - }, - "required": [ - "kind", - "x1", - "y1", - "x2", - "y2" - ], - "type": "object" - } - ] - }, - "value": { - "type": "number" - } - }, - "required": [ - "at", - "value" - ], - "type": "object" - }, - "maxItems": 256, - "minItems": 1, - "type": "array" - }, - "property": { - "enum": [ - "positionX", - "positionY", - "positionZ", - "rotationX", - "rotationY", - "rotationZ", - "fov", - "scale", - "opacity", - "openAngle", - "x", - "y", - "rotation", - "intensity", - "distance", - "range", - "maxBlur" - ], - "type": "string" - }, - "target": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "camera", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "layer", - "type": "string" - }, - "layerId": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - } - }, - "required": [ - "kind", - "layerId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "environment", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "focus", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - } - ] - } - }, - "required": [ - "target", - "property", - "keyframes" - ], - "type": "object" - }, - "type": "array" - }, - "backdrop": { - "default": { - "kind": "transparent" - }, - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "transparent", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "kind": { - "const": "solid", - "type": "string" - } - }, - "required": [ - "kind", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "angle": { - "default": 0, - "type": "number" - }, - "kind": { - "const": "linear", - "type": "string" - }, - "stops": { - "items": { - "additionalProperties": false, - "properties": { - "at": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - } - }, - "required": [ - "at", - "color" - ], - "type": "object" - }, - "maxItems": 8, - "minItems": 2, - "type": "array" - } - }, - "required": [ - "kind", - "stops" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "at": { - "default": [ - 0.5, - 0.5 - ], - "items": false, - "maxItems": 2, - "minItems": 2, - "prefixItems": [ - { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - { - "maximum": 1, - "minimum": 0, - "type": "number" - } - ], - "type": "array" - }, - "kind": { - "const": "radial", - "type": "string" - }, - "stops": { - "items": { - "additionalProperties": false, - "properties": { - "at": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - } - }, - "required": [ - "at", - "color" - ], - "type": "object" - }, - "maxItems": 8, - "minItems": 2, - "type": "array" - } - }, - "required": [ - "kind", - "stops" - ], - "type": "object" - } - ] - }, - "camera": { - "additionalProperties": false, - "properties": { - "fov": { - "maximum": 1.3962634015954636, - "minimum": 0.3141592653589793, - "type": "number" - }, - "position": { - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - } - }, - "type": "object" - }, - "constraints": { - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "gap": { - "exclusiveMinimum": 0, - "type": "number" - }, - "kind": { - "const": "minSeparation", - "type": "string" - }, - "objects": { - "items": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "minItems": 2, - "type": "array" - } - }, - "required": [ - "kind", - "objects", - "gap" - ], - "type": "object" - }, - "type": "array" - }, - "environment": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "floorY": { - "default": -420, - "type": "number" - }, - "intensity": { - "default": 1, - "minimum": 0, - "type": "number" - }, - "kind": { - "const": "studio", - "type": "string" - }, - "lightingProfile": { - "default": "studio", - "enum": [ - "studio", - "studio-edge" - ], - "type": "string" - }, - "preset": { - "default": "soft", - "enum": [ - "soft", - "key", - "rim" - ], - "type": "string" - }, - "shadowOpacity": { - "default": 0.5, - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "photographic-studio-v1", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - } - ], - "default": { - "floorY": -420, - "intensity": 1, - "lightingProfile": "studio", - "preset": "soft", - "shadowOpacity": 0.5 - } - }, - "layers": { - "items": { - "$ref": "#/$defs/__schema1" - }, - "minItems": 1, - "type": "array" - }, - "post": { - "additionalProperties": false, - "default": { - "focus": null, - "grain": 0, - "vignette": 0 - }, - "properties": { - "focus": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "distance": { - "exclusiveMinimum": 0, - "type": "number" - }, - "maxBlur": { - "maximum": 64, - "minimum": 0, - "type": "number" - }, - "range": { - "exclusiveMinimum": 0, - "type": "number" - } - }, - "required": [ - "distance", - "range", - "maxBlur" - ], - "type": "object" - }, - { - "type": "null" - } - ], - "default": null - }, - "grain": { - "default": 0, - "maximum": 0.5, - "minimum": 0, - "type": "number" - }, - "vignette": { - "default": 0, - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "referenceSize": { - "additionalProperties": false, - "properties": { - "height": { - "maximum": 8192, - "minimum": 16, - "type": "integer" - }, - "width": { - "maximum": 8192, - "minimum": 16, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "version": { - "const": 2, - "type": "number" - } - }, - "required": [ - "version", - "referenceSize", - "layers" - ], - "type": "object" - }, - "startTime": { - "minimum": 0, - "type": "number" - }, - "transitionIn": { - "additionalProperties": {}, - "properties": { - "component": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "fromClipId": { - "minLength": 1, - "type": "string" - }, - "handlePolicy": { - "const": "outgoing-overrun-at-cut-v1", - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "toClipId": { - "minLength": 1, - "type": "string" - }, - "type": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "type", - "duration" - ], - "type": "object" - }, - "type": { - "const": "scene.update", - "type": "string" - } - }, - "required": [ - "type", - "clipId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Materialize a clip's SOURCE-media temporal GRID as timeline markers — the rhythm authority you cut to. `grid:\"beat\"` reads a MUSIC bed's beat map (get_media_context.beatGrid), `grid:\"word\"` the VO word onsets (wordGrid); each grid point is projected from media time to TIMELINE time through the clip's placement (startTime, trim, playbackRate, excludedRanges) and written as a `kind:\"beat\"|\"word\"` marker (`metadata.sourceClipId` set). Points outside the clip's visible window are skipped. Re-running REPLACES the prior markers from the same clip+grid (idempotent). Land cuts and transition MIDPOINTS on the markers (a 0.5s transition starts 0.25s before its marker). `maxMarkers` (default 500, ceiling 2000) — exceeding it fails loud with the count. `grid:\"shot\"` is not yet exposed (shot_grid_unavailable). The target must be a media clip; absent evidence fails loud (grid_unavailable) naming how to get it (declare audioRole:\"music\" at ingest / transcribe).", - "properties": { - "clipId": { - "type": "string" - }, - "grid": { - "enum": [ - "beat", - "word", - "shot" - ], - "type": "string" - }, - "maxMarkers": { - "exclusiveMinimum": 0, - "maximum": 2000, - "type": "integer" - }, - "type": { - "const": "materializeGrid", - "type": "string" - } - }, - "required": [ - "type", - "clipId", - "grid" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Attach caption CONTENT from the media's cached transcript — no pasting words. ROUTE-MATERIALIZED like materializeGrid: the server slices the word-timed transcript to `window` (source seconds; absent = the whole media), rebases times, sentence-splits into segments, and applies it as `setCaptions`. 422 media_no_transcript when the media has no transcript or no words in the window. For your OWN word timings use setCaptions directly. For edited multi-clip timelines, use captions.fromComposition after saving the edits; that operation projects all selected track clips, trims, exclusions, and placements.", - "properties": { - "mediaId": { - "minLength": 1, - "type": "string" - }, - "type": { - "const": "captions.fromTranscript", - "type": "string" - }, - "window": { - "additionalProperties": false, - "properties": { - "endSec": { - "exclusiveMinimum": 0, - "type": "number" - }, - "startSec": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "startSec", - "endSec" - ], - "type": "object" - } - }, - "required": [ - "type", - "mediaId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Snapshot word-timed captions from the SAVED edits on one explicit enabled video or audio track. The host reads each source media transcript, projects words through clip trim, excluded ranges and placement, then replaces the caption segments. This is route-materialized to setCaptions; call it AFTER persisting clip edits and call it again when those edits change. The existing caption style and depth are preserved. Missing transcripts, unsupported clips, inconsistent clip durations, and overlapping audible clips fail loud. Playback rate scales source word times and playable duration on both audio and video tracks.", - "properties": { - "trackId": { - "minLength": 1, - "type": "string" - }, - "type": { - "const": "captions.fromComposition", - "type": "string" - } - }, - "required": [ - "type", - "trackId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Set the output format — `aspectRatio` (16:9|9:16|1:1|4:5) plus optional `fps` and `resolution`. Merges: an omitted field keeps the current value.", - "properties": { - "format": { - "additionalProperties": {}, - "properties": { - "aspectRatio": { - "enum": [ - "16:9", - "9:16", - "1:1", - "4:5" - ], - "type": "string" - }, - "fps": { - "anyOf": [ - { - "const": 24, - "type": "number" - }, - { - "const": 25, - "type": "number" - }, - { - "const": 30, - "type": "number" - }, - { - "const": 60, - "type": "number" - } - ] - }, - "resolution": { - "enum": [ - "hd", - "fhd", - "4k" - ], - "type": "string" - } - }, - "required": [ - "aspectRatio" - ], - "type": "object" - }, - "type": { - "const": "setFormat", - "type": "string" - } - }, - "required": [ - "type", - "format" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Add an EMPTY track of a given family (video|audio|image|overlay|effect). Optional pinned `id`. The new track is appended, so it starts at the BACK: index 0 is the top layer and higher indices are further back (see `reorderTracks`). Track order only ranks clips on the same plane — every overlay draws above the video lane unless its `zPlane` is `behind-subject`, whatever its track index.", - "properties": { - "id": { - "type": "string" - }, - "kind": { - "enum": [ - "video", - "audio", - "image", - "overlay", - "effect" - ], - "type": "string" - }, - "name": { - "type": "string" - }, - "type": { - "const": "addTrack", - "type": "string" - } - }, - "required": [ - "type", - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Remove a track AND all its clips by id.", - "properties": { - "trackId": { - "type": "string" - }, - "type": { - "const": "removeTrack", - "type": "string" - } - }, - "required": [ - "type", - "trackId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Patch a track's `name` / `enabled` by id. Track volume is retired: set each clip's own volume.", - "properties": { - "trackId": { - "type": "string" - }, - "type": { - "const": "updateTrack", - "type": "string" - }, - "updates": { - "additionalProperties": false, - "properties": { - "enabled": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "volume": { - "maximum": 4, - "minimum": 0, - "type": "number" - } - }, - "type": "object" - } - }, - "required": [ - "type", - "trackId", - "updates" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Move a track from one index to another. ORDER: index 0 is the TOP layer, not the bottom — moving a backdrop to index 0 puts it in FRONT of everything and hides the composition. Higher index = further back. PRECEDENCE: track order decides compositing only among clips on the same plane. Overlays are composited in a lane ABOVE the video lane whatever their track index; the one exception is `zPlane:\"behind-subject\"`, which moves the overlay inside its host clip, behind the segmented foreground. So if reordering tracks does not change what you see, the plane split already decided it.", - "properties": { - "fromIndex": { - "type": "number" - }, - "toIndex": { - "type": "number" - }, - "type": { - "const": "reorderTracks", - "type": "string" - } - }, - "required": [ - "type", - "fromIndex", - "toIndex" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Move a clip to another SAME-family track, optionally at a new `newStartTime`.", - "properties": { - "clipId": { - "type": "string" - }, - "newStartTime": { - "type": "number" - }, - "targetTrackId": { - "type": "string" - }, - "type": { - "const": "moveClipToTrack", - "type": "string" - } - }, - "required": [ - "type", - "clipId", - "targetTrackId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Duplicate a clip by id. Pin `newClipId` to make the copy's id deterministic (required for a clean undo/inverse).", - "properties": { - "clipId": { - "type": "string" - }, - "newClipId": { - "type": "string" - }, - "type": { - "const": "duplicateClip", - "type": "string" - } - }, - "required": [ - "type", - "clipId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Server-authoritative: delete the [start,end] time window (seconds) and ripple every downstream clip/marker/caption earlier to close the gap.", - "properties": { - "end": { - "type": "number" - }, - "start": { - "type": "number" - }, - "type": { - "const": "cutAndRipple", - "type": "string" - } - }, - "required": [ - "type", - "start", - "end" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Server-authoritative: shift everything at/after `time` (seconds) by `amount` seconds (+ opens a gap, − closes one).", - "properties": { - "amount": { - "type": "number" - }, - "time": { - "type": "number" - }, - "type": { - "const": "ripple", - "type": "string" - } - }, - "required": [ - "type", - "time", - "amount" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Server-authoritative: exclude a [sourceStart,sourceEnd] span (seconds) of a clip's SOURCE (an internal trim) and ripple downstream — the preferred way to drop a sub-range vs a source patch.", - "properties": { - "clipId": { - "type": "string" - }, - "reason": { - "type": "string" - }, - "sourceEnd": { - "type": "number" - }, - "sourceStart": { - "type": "number" - }, - "type": { - "const": "addExcludedRange", - "type": "string" - } - }, - "required": [ - "type", - "clipId", - "sourceStart", - "sourceEnd" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Server-authoritative: remove a clip's previously-added excluded range by index (re-includes that span, ripples downstream).", - "properties": { - "clipId": { - "type": "string" - }, - "rangeIdx": { - "type": "number" - }, - "type": { - "const": "removeExcludedRange", - "type": "string" - } - }, - "required": [ - "type", - "clipId", - "rangeIdx" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Atomically repin explicit version3 invocations using complete before/after execution references and an exact composition etag. Persistence must canonically admit scoped source hashes, destination input schemas and every resulting target context before applying, including replay/undo. Never infer a latest head, downgrade versions or accept an admitted flag.", - "properties": { - "changes": { - "items": { - "additionalProperties": false, - "properties": { - "after": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "before": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "placementId": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "placementId", - "before", - "after" - ], - "type": "object" - }, - "maxItems": 512, - "minItems": 1, - "type": "array" - }, - "componentId": { - "minLength": 1, - "type": "string" - }, - "expectedCompositionEtag": { - "minLength": 1, - "type": "string" - }, - "from": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "to": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "type": { - "const": "component.repin-v3", - "type": "string" - } - }, - "required": [ - "type", - "componentId", - "from", - "to", - "expectedCompositionEtag", - "changes" - ], - "type": "object" - } - ] -} - removed
Input schema / properties / body / properties / ops / minItemsRemoved value: -1 - removed
Input schema / properties / body / properties / ops / typeRemoved value: -"array" - added
Input schema / properties / body / properties / session_id / $refAdded value: +"#/$defs/__schema286" - removed
Input schema / properties / body / properties / session_id / descriptionRemoved value: -"Optional compose-session id. When present, the ops target the session's SCRATCH composition (a derived sibling) instead of the project's active composition — the server never mutates active until commit." - removed
Input schema / properties / body / properties / session_id / typeRemoved value: -"string" - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema287" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string" - added
Input schema / properties / responseAdded value: +{ + "$ref": "#/$defs/__schema0", + "description": "MCP response view. Default compact omits repeated source bodies. Full returns the complete backend receipt or requested sources. This does not change the saved composition." +} - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "response": { + "const": "compact", + "type": "string" + } + }, + "required": [ + "response" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "description": "Verbatim backend JSON object, or an explicitly identified full selected-clip view.", + "propertyNames": { + "type": "string" + }, + "type": "object" + } + ], + "type": "object" +}
- Changed
apply_template6 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "const": 3, + "type": "number" + }, + "__schema1": { + "const": 3, + "type": "number" + }, + "__schema2": { + "const": 4, + "type": "number" + }, + "__schema3": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - changed
Input schema / properties / body / properties / componentExecutionVersions / anyOfPrevious value: -[ - { - "items": false, - "maxItems": 1, - "minItems": 1, - "prefixItems": [ - { - "const": 3, - "type": "number" - } - ], - "type": "array" - }, - { - "items": false, - "maxItems": 2, - "minItems": 2, - "prefixItems": [ - { - "const": 3, - "type": "number" - }, - { - "const": 4, - "type": "number" - } - ], - "type": "array" - } -]New value: +[ + { + "items": false, + "maxItems": 1, + "minItems": 1, + "prefixItems": [ + { + "$ref": "#/$defs/__schema0" + } + ], + "type": "array" + }, + { + "items": false, + "maxItems": 2, + "minItems": 2, + "prefixItems": [ + { + "$ref": "#/$defs/__schema1" + }, + { + "$ref": "#/$defs/__schema2" + } + ], + "type": "array" + } +] - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema3" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
cancel_compose5 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
cancel_export5 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
cancel_job5 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
cancel_render5 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Added
compare_frames - Changed
compose58 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "minLength": 1, + "type": "string" + }, + "__schema1": { + "description": "Reuse the project's current composition as the compose starting point (critique-retry path). The Director RE-AUTHORS graphics: if the current composition is client-authored and contains graphic clips (overlay/component/card), the request is refused (validation_error naming the clips) — render it verbatim with create_render instead. The director's own output (critique-retry) is exempt.", + "type": "boolean" + }, + "__schema10": { + "description": "Structured critique block (per compose-api-contract.md decision #11). Capped at 2KB total; per-criterion blocks capped at 500 chars.", + "maxLength": 2000, + "type": "string" + }, + "__schema11": { + "description": "Pointer to the prior compose job this run iterates on. Surfaced on the resulting compose job as baselineComposeJobId.", + "type": "string" + }, + "__schema12": { + "description": "Ensemble size, 1–5. Defaults to one; explicit multi-candidate runs divide the job budget across candidates and admit at most two concurrently. A held editorial checkpoint always uses one candidate.", + "maximum": 5, + "minimum": 1, + "type": "integer" + }, + "__schema13": { + "description": "Per-job budget cap (USD). Clamped at the route against the org's composeMaxBudgetUsdPerJob setting.", + "exclusiveMinimum": 0, + "type": "number" + }, + "__schema14": { + "description": "Composite-score accept threshold. Server default per contract.", + "maximum": 10, + "minimum": 0, + "type": "number" + }, + "__schema15": { + "description": "Deterministic seed for replay.", + "maximum": 9007199254740991, + "minimum": -9007199254740991, + "type": "integer" + }, + "__schema16": { + "description": "Opaque caller token that disambiguates intentional same-critique retries. Without it, identical (project, sug, seed, critique) tuples deduplicate; with it, retries create a fresh execution.", + "maxLength": 64, + "type": "string" + }, + "__schema17": { + "description": "Opt-in checkpoint gates. Each named stage pauses the compose at its boundary (status → awaiting_input) for client review via resume. Absent/empty ⇒ fully autonomous. Non-empty ⇒ the run is a single spine.", + "items": { + "$ref": "#/$defs/__schema18" + }, + "maxItems": 3, + "type": "array" + }, + "__schema18": { + "enum": [ + "content", + "layout", + "motion" + ], + "type": "string" + }, + "__schema19": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "__schema2": { + "description": "Compose from a persisted Brief (create_brief) — the intent-first door: every Brief field is HONORED or the request is refused loudly naming the field (window from beat moment-pinning; seeded graphics carried VERBATIM as locked clips; exclusions enforced; locale + caption emphasis threaded to the Director). Exactly ONE of suggestionId | fromComposition | briefId.", + "minLength": 1, + "type": "string" + }, + "__schema3": { + "additionalProperties": { + "$ref": "#/$defs/__schema8" + }, + "description": "Optional format override. Phase 2 ignores this — format precedence is project.compositionFormat → 9:16 fhd 30fps default.", + "properties": { + "aspectRatio": { + "$ref": "#/$defs/__schema4" + }, + "fps": { + "$ref": "#/$defs/__schema5" + }, + "platform": { + "$ref": "#/$defs/__schema7" + }, + "resolution": { + "$ref": "#/$defs/__schema6" + } + }, + "required": [ + "aspectRatio" + ], + "type": "object" + }, + "__schema4": { + "enum": [ + "16:9", + "9:16", + "1:1", + "4:5" + ], + "type": "string" + }, + "__schema5": { + "anyOf": [ + { + "const": 24, + "type": "number" + }, + { + "const": 25, + "type": "number" + }, + { + "const": 30, + "type": "number" + }, + { + "const": 60, + "type": "number" + } + ] + }, + "__schema6": { + "enum": [ + "hd", + "fhd", + "4k" + ], + "type": "string" + }, + "__schema7": { + "type": "string" + }, + "__schema8": {}, + "__schema9": { + "description": "RequestScope discriminated union (per compose-api-contract.md). Editor-only scopes (captions/overlay-track/broll/overlay-instance/segment) require an editor-session token; API tokens get 403 on those." + } +} - added
Input schema / properties / body / properties / briefId / $refAdded value: +"#/$defs/__schema2" - removed
Input schema / properties / body / properties / briefId / descriptionRemoved value: -"Compose from a persisted Brief (create_brief) — the intent-first door: every Brief field is HONORED or the request is refused loudly naming the field (window from beat moment-pinning; seeded graphics carried VERBATIM as locked clips; exclusions enforced; locale + caption emphasis threaded to the Director). Exactly ONE of suggestionId | fromComposition | briefId." - removed
Input schema / properties / body / properties / briefId / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / briefId / typeRemoved value: -"string" - added
Input schema / properties / body / properties / budgetUsd / $refAdded value: +"#/$defs/__schema13" - removed
Input schema / properties / body / properties / budgetUsd / descriptionRemoved value: -"Per-job budget cap (USD). Clamped at the route against the org's composeMaxBudgetUsdPerJob setting." - removed
Input schema / properties / body / properties / budgetUsd / exclusiveMinimumRemoved value: -0 - removed
Input schema / properties / body / properties / budgetUsd / typeRemoved value: -"number" - added
Input schema / properties / body / properties / clientNonce / $refAdded value: +"#/$defs/__schema16" - removed
Input schema / properties / body / properties / clientNonce / descriptionRemoved value: -"Opaque caller token that disambiguates intentional same-critique retries. Without it, identical (project, sug, seed, critique) tuples deduplicate; with it, retries create a fresh execution." - removed
Input schema / properties / body / properties / clientNonce / maxLengthRemoved value: -64 - removed
Input schema / properties / body / properties / clientNonce / typeRemoved value: -"string" - added
Input schema / properties / body / properties / critique / $refAdded value: +"#/$defs/__schema10" - removed
Input schema / properties / body / properties / critique / descriptionRemoved value: -"Structured critique block (per compose-api-contract.md decision #11). Capped at 2KB total; per-criterion blocks capped at 500 chars." - removed
Input schema / properties / body / properties / critique / maxLengthRemoved value: -2000 - removed
Input schema / properties / body / properties / critique / typeRemoved value: -"string" - added
Input schema / properties / body / properties / format / $refAdded value: +"#/$defs/__schema3" - removed
Input schema / properties / body / properties / format / additionalPropertiesRemoved value: -{} - removed
Input schema / properties / body / properties / format / descriptionRemoved value: -"Optional format override. Phase 2 ignores this — format precedence is project.compositionFormat → 9:16 fhd 30fps default." - removed
Input schema / properties / body / properties / format / propertiesRemoved value: -{ - "aspectRatio": { - "enum": [ - "16:9", - "9:16", - "1:1", - "4:5" - ], - "type": "string" - }, - "fps": { - "anyOf": [ - { - "const": 24, - "type": "number" - }, - { - "const": 25, - "type": "number" - }, - { - "const": 30, - "type": "number" - }, - { - "const": 60, - "type": "number" - } - ] - }, - "platform": { - "type": "string" - }, - "resolution": { - "enum": [ - "hd", - "fhd", - "4k" - ], - "type": "string" - } -} - removed
Input schema / properties / body / properties / format / requiredRemoved value: -[ - "aspectRatio" -] - removed
Input schema / properties / body / properties / format / typeRemoved value: -"object" - added
Input schema / properties / body / properties / fromComposition / $refAdded value: +"#/$defs/__schema1" - removed
Input schema / properties / body / properties / fromComposition / descriptionRemoved value: -"Reuse the project's current composition as the compose starting point (critique-retry path). The Director RE-AUTHORS graphics: if the current composition is client-authored and contains graphic clips (overlay/component/card), the request is refused (validation_error naming the clips) — render it verbatim with create_render instead. The director's own output (critique-retry) is exempt." - removed
Input schema / properties / body / properties / fromComposition / typeRemoved value: -"boolean" - added
Input schema / properties / body / properties / holdAt / $refAdded value: +"#/$defs/__schema17" - removed
Input schema / properties / body / properties / holdAt / descriptionRemoved value: -"Opt-in checkpoint gates. Each named stage pauses the compose at its boundary (status → awaiting_input) for client review via resume. Absent/empty ⇒ fully autonomous. Non-empty ⇒ the run is a single spine." - removed
Input schema / properties / body / properties / holdAt / itemsRemoved value: -{ - "enum": [ - "content", - "layout", - "motion" - ], - "type": "string" -} - removed
Input schema / properties / body / properties / holdAt / maxItemsRemoved value: -3 - removed
Input schema / properties / body / properties / holdAt / typeRemoved value: -"array" - added
Input schema / properties / body / properties / maxCandidates / $refAdded value: +"#/$defs/__schema12" - removed
Input schema / properties / body / properties / maxCandidates / descriptionRemoved value: -"Ensemble size, 1–5. Defaults to one; explicit multi-candidate runs divide the job budget across candidates and admit at most two concurrently. A held editorial checkpoint always uses one candidate." - removed
Input schema / properties / body / properties / maxCandidates / maximumRemoved value: -5 - removed
Input schema / properties / body / properties / maxCandidates / minimumRemoved value: -1 - removed
Input schema / properties / body / properties / maxCandidates / typeRemoved value: -"integer" - added
Input schema / properties / body / properties / parentJobId / $refAdded value: +"#/$defs/__schema11" - removed
Input schema / properties / body / properties / parentJobId / descriptionRemoved value: -"Pointer to the prior compose job this run iterates on. Surfaced on the resulting compose job as baselineComposeJobId." - removed
Input schema / properties / body / properties / parentJobId / typeRemoved value: -"string" - added
Input schema / properties / body / properties / qualityThreshold / $refAdded value: +"#/$defs/__schema14" - removed
Input schema / properties / body / properties / qualityThreshold / descriptionRemoved value: -"Composite-score accept threshold. Server default per contract." - removed
Input schema / properties / body / properties / qualityThreshold / maximumRemoved value: -10 - removed
Input schema / properties / body / properties / qualityThreshold / minimumRemoved value: -0 - removed
Input schema / properties / body / properties / qualityThreshold / typeRemoved value: -"number" - added
Input schema / properties / body / properties / scope / $refAdded value: +"#/$defs/__schema9" - removed
Input schema / properties / body / properties / scope / descriptionRemoved value: -"RequestScope discriminated union (per compose-api-contract.md). Editor-only scopes (captions/overlay-track/broll/overlay-instance/segment) require an editor-session token; API tokens get 403 on those." - added
Input schema / properties / body / properties / seed / $refAdded value: +"#/$defs/__schema15" - removed
Input schema / properties / body / properties / seed / descriptionRemoved value: -"Deterministic seed for replay." - removed
Input schema / properties / body / properties / seed / maximumRemoved value: -9007199254740991 - removed
Input schema / properties / body / properties / seed / minimumRemoved value: --9007199254740991 - removed
Input schema / properties / body / properties / seed / typeRemoved value: -"integer" - added
Input schema / properties / body / properties / suggestionId / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / body / properties / suggestionId / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / suggestionId / typeRemoved value: -"string" - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema19" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
consult21 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "description": "Plain-English goal — what you're trying to achieve with this edit.", + "maxLength": 2000, + "minLength": 1, + "type": "string" + }, + "__schema1": { + "description": "advise = proposer-only (no render/judge, no grounded assessment); amend (default) = grade the current composition + author the fix for the weakest criterion; explore = ranked slate of diverse directions. All modes are async — poll the returned job.", + "enum": [ + "advise", + "amend", + "explore" + ], + "type": "string" + }, + "__schema2": { + "description": "Optional criterion to concentrate the advice on.", + "enum": [ + "editorial", + "spatial", + "brand", + "caption" + ], + "type": "string" + }, + "__schema3": { + "description": "Etag of the composition the advice is computed against. Proposals are bound to it; apply a proposal BEFORE any other edit or it will 409.", + "type": "string" + }, + "__schema4": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / body / properties / focus / $refAdded value: +"#/$defs/__schema2" - removed
Input schema / properties / body / properties / focus / descriptionRemoved value: -"Optional criterion to concentrate the advice on." - removed
Input schema / properties / body / properties / focus / enumRemoved value: -[ - "editorial", - "spatial", - "brand", - "caption" -] - removed
Input schema / properties / body / properties / focus / typeRemoved value: -"string" - added
Input schema / properties / body / properties / ifMatch / $refAdded value: +"#/$defs/__schema3" - removed
Input schema / properties / body / properties / ifMatch / descriptionRemoved value: -"Etag of the composition the advice is computed against. Proposals are bound to it; apply a proposal BEFORE any other edit or it will 409." - removed
Input schema / properties / body / properties / ifMatch / typeRemoved value: -"string" - added
Input schema / properties / body / properties / intent / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / body / properties / intent / descriptionRemoved value: -"Plain-English goal — what you're trying to achieve with this edit." - removed
Input schema / properties / body / properties / intent / maxLengthRemoved value: -2000 - removed
Input schema / properties / body / properties / intent / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / intent / typeRemoved value: -"string" - added
Input schema / properties / body / properties / mode / $refAdded value: +"#/$defs/__schema1" - removed
Input schema / properties / body / properties / mode / descriptionRemoved value: -"advise = proposer-only (no render/judge, no grounded assessment); amend (default) = grade the current composition + author the fix for the weakest criterion; explore = ranked slate of diverse directions. All modes are async — poll the returned job." - removed
Input schema / properties / body / properties / mode / enumRemoved value: -[ - "advise", - "amend", - "explore" -] - removed
Input schema / properties / body / properties / mode / typeRemoved value: -"string" - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema4" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
create_brand_kit109 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "__schema1": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "__schema10": { + "type": "boolean" + }, + "__schema11": { + "additionalProperties": false, + "properties": { + "backgroundColor": { + "type": "string" + }, + "color": { + "type": "string" + }, + "emphasisColor": { + "type": "string" + }, + "emphasisFontFamily": { + "type": "string" + }, + "emphasisFontStyle": { + "enum": [ + "normal", + "italic" + ], + "type": "string" + }, + "emphasisFontWeight": { + "type": "number" + }, + "emphasisLetterSpacing": { + "type": "number" + }, + "emphasisPlate": { + "type": "boolean" + }, + "emphasisPlateColor": { + "type": "string" + }, + "emphasisPlateTextColor": { + "type": "string" + }, + "emphasisScale": { + "type": "number" + }, + "emphasisTextTransform": { + "enum": [ + "none", + "uppercase" + ], + "type": "string" + }, + "entrance": { + "enum": [ + "none", + "fade", + "word-pop", + "stagger-up" + ], + "type": "string" + }, + "entranceMs": { + "type": "number" + }, + "entranceStaggerMs": { + "type": "number" + }, + "exitMs": { + "type": "number" + }, + "fontFamily": { + "type": "string" + }, + "fontSize": { + "type": "number" + }, + "fontWeight": { + "type": "number" + }, + "highlightColor": { + "type": "string" + }, + "plate": { + "enum": [ + "glass", + "solid", + "none" + ], + "type": "string" + }, + "position": { + "enum": [ + "top", + "center", + "bottom" + ], + "type": "string" + }, + "textTransform": { + "enum": [ + "none", + "uppercase" + ], + "type": "string" + } + }, + "type": "object" + }, + "__schema12": { + "additionalProperties": false, + "properties": { + "duration": { + "type": "number" + }, + "easing": { + "anyOf": [ + { + "enum": [ + "linear", + "ease", + "ease-in", + "ease-out", + "ease-in-out" + ], + "type": "string" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "cubic-bezier", + "type": "string" + }, + "x1": { + "type": "number" + }, + "x2": { + "type": "number" + }, + "y1": { + "type": "number" + }, + "y2": { + "type": "number" + } + }, + "required": [ + "kind", + "x1", + "y1", + "x2", + "y2" + ], + "type": "object" + } + ] + }, + "entrance": { + "enum": [ + "none", + "fade", + "word-pop", + "stagger-up" + ], + "type": "string" + }, + "exitMs": { + "type": "number" + }, + "staggerMs": { + "type": "number" + } + }, + "type": "object" + }, + "__schema13": { + "additionalProperties": false, + "properties": { + "alt": { + "type": "string" + }, + "placement": { + "enum": [ + "tl", + "tr", + "bl", + "br" + ], + "type": "string" + }, + "sizePct": { + "type": "number" + }, + "src": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "src" + ], + "type": "object" + }, + "__schema14": { + "additionalProperties": false, + "properties": { + "durationMs": { + "type": "number" + }, + "kind": { + "enum": [ + "card", + "video" + ], + "type": "string" + }, + "src": { + "minLength": 1, + "type": "string" + }, + "subtitle": { + "type": "string" + }, + "title": { + "type": "string" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + "__schema15": { + "additionalProperties": false, + "properties": { + "durationMs": { + "type": "number" + }, + "kind": { + "enum": [ + "card", + "video" + ], + "type": "string" + }, + "src": { + "minLength": 1, + "type": "string" + }, + "subtitle": { + "type": "string" + }, + "title": { + "type": "string" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + "__schema16": { + "additionalProperties": false, + "properties": { + "opacity": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "placement": { + "enum": [ + "tl", + "tr", + "bl", + "br" + ], + "type": "string" + }, + "src": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "src" + ], + "type": "object" + }, + "__schema17": { + "additionalProperties": false, + "properties": { + "base": { + "type": "number" + }, + "lg": { + "type": "number" + }, + "sm": { + "type": "number" + } + }, + "type": "object" + }, + "__schema18": { + "additionalProperties": false, + "properties": { + "borderRadius": { + "type": "number" + }, + "fontSizeBody": { + "type": "number" + }, + "fontSizeHeading": { + "type": "number" + }, + "fontSizeLabel": { + "type": "number" + } + }, + "type": "object" + }, + "__schema19": { + "additionalProperties": false, + "properties": { + "ambiencePreference": { + "anyOf": [ + { + "$ref": "#/$defs/__schema33" + }, + { + "$ref": "#/$defs/__schema34" + } + ], + "description": "Preferred ambience bed (`{ref}`) or explicit null (opt-out). Surfaced for driving agents; compose has no ambience auto-placement." + }, + "bedStyle": { + "additionalProperties": false, + "description": "Preferred music bed (`bedId`) or a style hint (`genre` / `bpmRange`). Surfaced for driving agents; compose does not auto-select a pack bed.", + "properties": { + "bedId": { + "$ref": "#/$defs/__schema30" + }, + "bpmRange": { + "$ref": "#/$defs/__schema32" + }, + "genre": { + "$ref": "#/$defs/__schema31" + } + }, + "type": "object" + }, + "musicEnabled": { + "type": "boolean" + }, + "musicMood": { + "maxLength": 300, + "type": "string" + }, + "sfxIntensity": { + "enum": [ + "off", + "light", + "standard", + "dense" + ], + "type": "string" + }, + "sonicLogo": { + "additionalProperties": false, + "description": "A brand sound signature bound to the intro/outro bookend. `ref` = a palette reference; bound only when the kit carries the matching bumper (intro/outro), else a non-blocking advisory.", + "properties": { + "offsetMs": { + "$ref": "#/$defs/__schema22" + }, + "placement": { + "$ref": "#/$defs/__schema21" + }, + "ref": { + "$ref": "#/$defs/__schema20" + } + }, + "required": [ + "ref", + "placement" + ], + "type": "object" + }, + "uiSoundSet": { + "additionalProperties": false, + "description": "Per-family SFX overrides (the brand's own tick/pop/…). Highest-priority tier over the org palette + pack default in the compose SFX draw.", + "properties": { + "confirm": { + "$ref": "#/$defs/__schema26" + }, + "error": { + "$ref": "#/$defs/__schema27" + }, + "impact": { + "$ref": "#/$defs/__schema25" + }, + "pop": { + "$ref": "#/$defs/__schema24" + }, + "riser": { + "$ref": "#/$defs/__schema29" + }, + "tick": { + "$ref": "#/$defs/__schema23" + }, + "whoosh": { + "$ref": "#/$defs/__schema28" + } + }, + "type": "object" + } + }, + "type": "object" + }, + "__schema2": { + "maxLength": 2000, + "type": "string" + }, + "__schema20": { + "minLength": 1, + "type": "string" + }, + "__schema21": { + "enum": [ + "intro", + "outro", + "both" + ], + "type": "string" + }, + "__schema22": { + "maximum": 10000, + "minimum": 0, + "type": "integer" + }, + "__schema23": { + "minLength": 1, + "type": "string" + }, + "__schema24": { + "minLength": 1, + "type": "string" + }, + "__schema25": { + "minLength": 1, + "type": "string" + }, + "__schema26": { + "minLength": 1, + "type": "string" + }, + "__schema27": { + "minLength": 1, + "type": "string" + }, + "__schema28": { + "minLength": 1, + "type": "string" + }, + "__schema29": { + "minLength": 1, + "type": "string" + }, + "__schema3": { + "maxLength": 500, + "type": "string" + }, + "__schema30": { + "minLength": 1, + "type": "string" + }, + "__schema31": { + "maxLength": 120, + "type": "string" + }, + "__schema32": { + "additionalProperties": false, + "properties": { + "max": { + "type": "number" + }, + "min": { + "type": "number" + } + }, + "required": [ + "min", + "max" + ], + "type": "object" + }, + "__schema33": { + "additionalProperties": false, + "properties": { + "ref": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "ref" + ], + "type": "object" + }, + "__schema34": { + "type": "null" + }, + "__schema35": { + "items": { + "$ref": "#/$defs/__schema36" + }, + "maxItems": 24, + "type": "array" + }, + "__schema36": { + "minLength": 1, + "type": "string" + }, + "__schema37": { + "minLength": 1, + "type": "string" + }, + "__schema38": { + "items": { + "$ref": "#/$defs/__schema39" + }, + "maxItems": 24, + "type": "array" + }, + "__schema39": { + "additionalProperties": false, + "properties": { + "body": { + "oneOf": [ + { + "properties": { + "html": { + "minLength": 1, + "type": "string" + }, + "kind": { + "const": "card", + "type": "string" + }, + "tokens": { + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + }, + "required": [ + "kind", + "html" + ], + "type": "object" + }, + { + "properties": { + "kind": { + "const": "overlay", + "type": "string" + }, + "params": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "kind", + "primitiveId" + ], + "type": "object" + }, + { + "properties": { + "componentId": { + "minLength": 1, + "type": "string" + }, + "kind": { + "const": "component", + "type": "string" + }, + "props": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + }, + "required": [ + "kind", + "componentId" + ], + "type": "object" + } + ] + }, + "coverage": { + "enum": [ + "reproduced", + "approximated", + "skipped" + ], + "type": "string" + }, + "diffScore": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "evidence": { + "items": { + "$ref": "#/$defs/__schema40" + }, + "maxItems": 24, + "type": "array" + }, + "id": { + "maxLength": 40, + "minLength": 1, + "type": "string" + }, + "motion": { + "additionalProperties": false, + "properties": { + "confidence": { + "enum": [ + "high", + "low" + ], + "type": "string" + }, + "enterMs": { + "maximum": 5000, + "minimum": 0, + "type": "integer" + }, + "exitMs": { + "maximum": 5000, + "minimum": 0, + "type": "integer" + }, + "preset": { + "enum": [ + "fade-up", + "slide-in-left", + "slide-in-right", + "scale-pop", + "stagger-reveal" + ], + "type": "string" + }, + "staggerMs": { + "maximum": 2000, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "preset" + ], + "type": "object" + }, + "observed": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "role": { + "enum": [ + "title-card", + "stat", + "lower-third", + "pull-quote", + "hero", + "logo-tag", + "enumeration", + "sequence", + "comparison" + ], + "type": "string" + }, + "skipReason": { + "maxLength": 300, + "type": "string" + }, + "zone": { + "additionalProperties": false, + "properties": { + "h": { + "type": "number" + }, + "w": { + "type": "number" + }, + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "x", + "y", + "w", + "h" + ], + "type": "object" + } + }, + "required": [ + "id", + "observed", + "body", + "role", + "coverage" + ], + "type": "object" + }, + "__schema4": { + "maxLength": 500, + "type": "string" + }, + "__schema40": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "__schema41": { + "maxLength": 4000, + "type": "string" + }, + "__schema42": { + "additionalProperties": false, + "properties": { + "graphicsPerMin": { + "maximum": 60, + "minimum": 0, + "type": "number" + }, + "maxSimultaneous": { + "maximum": 6, + "minimum": 1, + "type": "integer" + } + }, + "required": [ + "graphicsPerMin", + "maxSimultaneous" + ], + "type": "object" + }, + "__schema43": { + "additionalProperties": false, + "properties": { + "extractedAt": { + "type": "number" + }, + "extractionVersion": { + "maxLength": 60, + "minLength": 1, + "type": "string" + }, + "sources": { + "items": { + "$ref": "#/$defs/__schema44" + }, + "maxItems": 24, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "sources", + "extractedAt", + "extractionVersion" + ], + "type": "object" + }, + "__schema44": { + "type": "string" + }, + "__schema45": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "__schema5": { + "additionalProperties": false, + "properties": { + "accent": { + "minLength": 1, + "type": "string" + }, + "background": { + "minLength": 1, + "type": "string" + }, + "primary": { + "minLength": 1, + "type": "string" + }, + "secondary": { + "minLength": 1, + "type": "string" + }, + "text": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "primary", + "secondary", + "accent", + "background", + "text" + ], + "type": "object" + }, + "__schema6": { + "items": { + "additionalProperties": false, + "properties": { + "hex": { + "minLength": 1, + "type": "string" + }, + "label": { + "minLength": 1, + "type": "string" + }, + "usage": { + "type": "string" + } + }, + "required": [ + "hex", + "label" + ], + "type": "object" + }, + "type": "array" + }, + "__schema7": { + "additionalProperties": false, + "properties": { + "fontFamily": { + "minLength": 1, + "type": "string" + }, + "fontWeight": { + "type": "number" + } + }, + "required": [ + "fontFamily", + "fontWeight" + ], + "type": "object" + }, + "__schema8": { + "additionalProperties": false, + "properties": { + "fontFamily": { + "minLength": 1, + "type": "string" + }, + "fontWeight": { + "type": "number" + } + }, + "required": [ + "fontFamily", + "fontWeight" + ], + "type": "object" + }, + "__schema9": { + "maxLength": 5000, + "type": "string" + } +} - added
Input schema / properties / body / properties / audio / $refAdded value: +"#/$defs/__schema19" - removed
Input schema / properties / body / properties / audio / additionalPropertiesRemoved value: -false - removed
Input schema / properties / body / properties / audio / propertiesRemoved value: -{ - "ambiencePreference": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "ref": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "ref" - ], - "type": "object" - }, - { - "type": "null" - } - ], - "description": "Preferred ambience bed (`{ref}`) or explicit null (opt-out). Surfaced for driving agents; compose has no ambience auto-placement." - }, - "bedStyle": { - "additionalProperties": false, - "description": "Preferred music bed (`bedId`) or a style hint (`genre` / `bpmRange`). Surfaced for driving agents; compose does not auto-select a pack bed.", - "properties": { - "bedId": { - "minLength": 1, - "type": "string" - }, - "bpmRange": { - "additionalProperties": false, - "properties": { - "max": { - "type": "number" - }, - "min": { - "type": "number" - } - }, - "required": [ - "min", - "max" - ], - "type": "object" - }, - "genre": { - "maxLength": 120, - "type": "string" - } - }, - "type": "object" - }, - "musicEnabled": { - "type": "boolean" - }, - "musicMood": { - "maxLength": 300, - "type": "string" - }, - "sfxIntensity": { - "enum": [ - "off", - "light", - "standard", - "dense" - ], - "type": "string" - }, - "sonicLogo": { - "additionalProperties": false, - "description": "A brand sound signature bound to the intro/outro bookend. `ref` = a palette reference; bound only when the kit carries the matching bumper (intro/outro), else a non-blocking advisory.", - "properties": { - "offsetMs": { - "maximum": 10000, - "minimum": 0, - "type": "integer" - }, - "placement": { - "enum": [ - "intro", - "outro", - "both" - ], - "type": "string" - }, - "ref": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "ref", - "placement" - ], - "type": "object" - }, - "uiSoundSet": { - "additionalProperties": false, - "description": "Per-family SFX overrides (the brand's own tick/pop/…). Highest-priority tier over the org palette + pack default in the compose SFX draw.", - "properties": { - "confirm": { - "minLength": 1, - "type": "string" - }, - "error": { - "minLength": 1, - "type": "string" - }, - "impact": { - "minLength": 1, - "type": "string" - }, - "pop": { - "minLength": 1, - "type": "string" - }, - "riser": { - "minLength": 1, - "type": "string" - }, - "tick": { - "minLength": 1, - "type": "string" - }, - "whoosh": { - "minLength": 1, - "type": "string" - } - }, - "type": "object" - } -} - removed
Input schema / properties / body / properties / audio / typeRemoved value: -"object" - added
Input schema / properties / body / properties / bodyFont / $refAdded value: +"#/$defs/__schema8" - removed
Input schema / properties / body / properties / bodyFont / additionalPropertiesRemoved value: -false - removed
Input schema / properties / body / properties / bodyFont / propertiesRemoved value: -{ - "fontFamily": { - "minLength": 1, - "type": "string" - }, - "fontWeight": { - "type": "number" - } -} - removed
Input schema / properties / body / properties / bodyFont / requiredRemoved value: -[ - "fontFamily", - "fontWeight" -] - removed
Input schema / properties / body / properties / bodyFont / typeRemoved value: -"object" - added
Input schema / properties / body / properties / captionProfile / $refAdded value: +"#/$defs/__schema11" - removed
Input schema / properties / body / properties / captionProfile / additionalPropertiesRemoved value: -false - removed
Input schema / properties / body / properties / captionProfile / propertiesRemoved value: -{ - "backgroundColor": { - "type": "string" - }, - "color": { - "type": "string" - }, - "emphasisColor": { - "type": "string" - }, - "emphasisFontFamily": { - "type": "string" - }, - "emphasisFontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "emphasisFontWeight": { - "type": "number" - }, - "emphasisLetterSpacing": { - "type": "number" - }, - "emphasisPlate": { - "type": "boolean" - }, - "emphasisPlateColor": { - "type": "string" - }, - "emphasisPlateTextColor": { - "type": "string" - }, - "emphasisScale": { - "type": "number" - }, - "emphasisTextTransform": { - "enum": [ - "none", - "uppercase" - ], - "type": "string" - }, - "entrance": { - "enum": [ - "none", - "fade", - "word-pop", - "stagger-up" - ], - "type": "string" - }, - "entranceMs": { - "type": "number" - }, - "entranceStaggerMs": { - "type": "number" - }, - "exitMs": { - "type": "number" - }, - "fontFamily": { - "type": "string" - }, - "fontSize": { - "type": "number" - }, - "fontWeight": { - "type": "number" - }, - "highlightColor": { - "type": "string" - }, - "plate": { - "enum": [ - "glass", - "solid", - "none" - ], - "type": "string" - }, - "position": { - "enum": [ - "top", - "center", - "bottom" - ], - "type": "string" - }, - "textTransform": { - "enum": [ - "none", - "uppercase" - ], - "type": "string" - } -} - removed
Input schema / properties / body / properties / captionProfile / typeRemoved value: -"object" - added
Input schema / properties / body / properties / colors / $refAdded value: +"#/$defs/__schema5" - removed
Input schema / properties / body / properties / colors / additionalPropertiesRemoved value: -false - removed
Input schema / properties / body / properties / colors / propertiesRemoved value: -{ - "accent": { - "minLength": 1, - "type": "string" - }, - "background": { - "minLength": 1, - "type": "string" - }, - "primary": { - "minLength": 1, - "type": "string" - }, - "secondary": { - "minLength": 1, - "type": "string" - }, - "text": { - "minLength": 1, - "type": "string" - } -} - removed
Input schema / properties / body / properties / colors / requiredRemoved value: -[ - "primary", - "secondary", - "accent", - "background", - "text" -] - removed
Input schema / properties / body / properties / colors / typeRemoved value: -"object" - added
Input schema / properties / body / properties / contactSheetKey / $refAdded value: +"#/$defs/__schema37" - removed
Input schema / properties / body / properties / contactSheetKey / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / contactSheetKey / typeRemoved value: -"string" - added
Input schema / properties / body / properties / density / $refAdded value: +"#/$defs/__schema42" - removed
Input schema / properties / body / properties / density / additionalPropertiesRemoved value: -false - removed
Input schema / properties / body / properties / density / propertiesRemoved value: -{ - "graphicsPerMin": { - "maximum": 60, - "minimum": 0, - "type": "number" - }, - "maxSimultaneous": { - "maximum": 6, - "minimum": 1, - "type": "integer" - } -} - removed
Input schema / properties / body / properties / density / requiredRemoved value: -[ - "graphicsPerMin", - "maxSimultaneous" -] - removed
Input schema / properties / body / properties / density / typeRemoved value: -"object" - added
Input schema / properties / body / properties / description / $refAdded value: +"#/$defs/__schema2" - removed
Input schema / properties / body / properties / description / maxLengthRemoved value: -2000 - removed
Input schema / properties / body / properties / description / typeRemoved value: -"string" - added
Input schema / properties / body / properties / exemplarKeys / $refAdded value: +"#/$defs/__schema35" - removed
Input schema / properties / body / properties / exemplarKeys / itemsRemoved value: -{ - "minLength": 1, - "type": "string" -} - removed
Input schema / properties / body / properties / exemplarKeys / maxItemsRemoved value: -24 - removed
Input schema / properties / body / properties / exemplarKeys / typeRemoved value: -"array" - added
Input schema / properties / body / properties / extraColors / $refAdded value: +"#/$defs/__schema6" - removed
Input schema / properties / body / properties / extraColors / itemsRemoved value: -{ - "additionalProperties": false, - "properties": { - "hex": { - "minLength": 1, - "type": "string" - }, - "label": { - "minLength": 1, - "type": "string" - }, - "usage": { - "type": "string" - } - }, - "required": [ - "hex", - "label" - ], - "type": "object" -} - removed
Input schema / properties / body / properties / extraColors / typeRemoved value: -"array" - added
Input schema / properties / body / properties / headingFont / $refAdded value: +"#/$defs/__schema7" - removed
Input schema / properties / body / properties / headingFont / additionalPropertiesRemoved value: -false - removed
Input schema / properties / body / properties / headingFont / propertiesRemoved value: -{ - "fontFamily": { - "minLength": 1, - "type": "string" - }, - "fontWeight": { - "type": "number" - } -} - removed
Input schema / properties / body / properties / headingFont / requiredRemoved value: -[ - "fontFamily", - "fontWeight" -] - removed
Input schema / properties / body / properties / headingFont / typeRemoved value: -"object" - added
Input schema / properties / body / properties / inspiration / $refAdded value: +"#/$defs/__schema43" - removed
Input schema / properties / body / properties / inspiration / additionalPropertiesRemoved value: -false - removed
Input schema / properties / body / properties / inspiration / propertiesRemoved value: -{ - "extractedAt": { - "type": "number" - }, - "extractionVersion": { - "maxLength": 60, - "minLength": 1, - "type": "string" - }, - "sources": { - "items": { - "type": "string" - }, - "maxItems": 24, - "minItems": 1, - "type": "array" - } -} - removed
Input schema / properties / body / properties / inspiration / requiredRemoved value: -[ - "sources", - "extractedAt", - "extractionVersion" -] - removed
Input schema / properties / body / properties / inspiration / typeRemoved value: -"object" - added
Input schema / properties / body / properties / intro / $refAdded value: +"#/$defs/__schema14" - removed
Input schema / properties / body / properties / intro / additionalPropertiesRemoved value: -false - removed
Input schema / properties / body / properties / intro / propertiesRemoved value: -{ - "durationMs": { - "type": "number" - }, - "kind": { - "enum": [ - "card", - "video" - ], - "type": "string" - }, - "src": { - "minLength": 1, - "type": "string" - }, - "subtitle": { - "type": "string" - }, - "title": { - "type": "string" - } -} - removed
Input schema / properties / body / properties / intro / requiredRemoved value: -[ - "kind" -] - removed
Input schema / properties / body / properties / intro / typeRemoved value: -"object" - added
Input schema / properties / body / properties / kitId / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / body / properties / kitId / maxLengthRemoved value: -200 - removed
Input schema / properties / body / properties / kitId / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / kitId / typeRemoved value: -"string" - added
Input schema / properties / body / properties / logo / $refAdded value: +"#/$defs/__schema13" - removed
Input schema / properties / body / properties / logo / additionalPropertiesRemoved value: -false - removed
Input schema / properties / body / properties / logo / propertiesRemoved value: -{ - "alt": { - "type": "string" - }, - "placement": { - "enum": [ - "tl", - "tr", - "bl", - "br" - ], - "type": "string" - }, - "sizePct": { - "type": "number" - }, - "src": { - "minLength": 1, - "type": "string" - } -} - removed
Input schema / properties / body / properties / logo / requiredRemoved value: -[ - "src" -] - removed
Input schema / properties / body / properties / logo / typeRemoved value: -"object" - added
Input schema / properties / body / properties / motifs / $refAdded value: +"#/$defs/__schema38" - removed
Input schema / properties / body / properties / motifs / itemsRemoved value: -{ - "additionalProperties": false, - "properties": { - "body": { - "oneOf": [ - { - "properties": { - "html": { - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "card", - "type": "string" - }, - "tokens": { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - }, - "required": [ - "kind", - "html" - ], - "type": "object" - }, - { - "properties": { - "kind": { - "const": "overlay", - "type": "string" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "kind", - "primitiveId" - ], - "type": "object" - }, - { - "properties": { - "componentId": { - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "component", - "type": "string" - }, - "props": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - }, - "required": [ - "kind", - "componentId" - ], - "type": "object" - } - ] - }, - "coverage": { - "enum": [ - "reproduced", - "approximated", - "skipped" - ], - "type": "string" - }, - "diffScore": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "evidence": { - "items": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "maxItems": 24, - "type": "array" - }, - "id": { - "maxLength": 40, - "minLength": 1, - "type": "string" - }, - "motion": { - "additionalProperties": false, - "properties": { - "confidence": { - "enum": [ - "high", - "low" - ], - "type": "string" - }, - "enterMs": { - "maximum": 5000, - "minimum": 0, - "type": "integer" - }, - "exitMs": { - "maximum": 5000, - "minimum": 0, - "type": "integer" - }, - "preset": { - "enum": [ - "fade-up", - "slide-in-left", - "slide-in-right", - "scale-pop", - "stagger-reveal" - ], - "type": "string" - }, - "staggerMs": { - "maximum": 2000, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "preset" - ], - "type": "object" - }, - "observed": { - "maxLength": 500, - "minLength": 1, - "type": "string" - }, - "role": { - "enum": [ - "title-card", - "stat", - "lower-third", - "pull-quote", - "hero", - "logo-tag", - "enumeration", - "sequence", - "comparison" - ], - "type": "string" - }, - "skipReason": { - "maxLength": 300, - "type": "string" - }, - "zone": { - "additionalProperties": false, - "properties": { - "h": { - "type": "number" - }, - "w": { - "type": "number" - }, - "x": { - "type": "number" - }, - "y": { - "type": "number" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - } - }, - "required": [ - "id", - "observed", - "body", - "role", - "coverage" - ], - "type": "object" -} - removed
Input schema / properties / body / properties / motifs / maxItemsRemoved value: -24 - removed
Input schema / properties / body / properties / motifs / typeRemoved value: -"array" - added
Input schema / properties / body / properties / motion / $refAdded value: +"#/$defs/__schema12" - removed
Input schema / properties / body / properties / motion / additionalPropertiesRemoved value: -false - removed
Input schema / properties / body / properties / motion / propertiesRemoved value: -{ - "duration": { - "type": "number" - }, - "easing": { - "anyOf": [ - { - "enum": [ - "linear", - "ease", - "ease-in", - "ease-out", - "ease-in-out" - ], - "type": "string" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "cubic-bezier", - "type": "string" - }, - "x1": { - "type": "number" - }, - "x2": { - "type": "number" - }, - "y1": { - "type": "number" - }, - "y2": { - "type": "number" - } - }, - "required": [ - "kind", - "x1", - "y1", - "x2", - "y2" - ], - "type": "object" - } - ] - }, - "entrance": { - "enum": [ - "none", - "fade", - "word-pop", - "stagger-up" - ], - "type": "string" - }, - "exitMs": { - "type": "number" - }, - "staggerMs": { - "type": "number" - } -} - removed
Input schema / properties / body / properties / motion / typeRemoved value: -"object" - added
Input schema / properties / body / properties / name / $refAdded value: +"#/$defs/__schema1" - removed
Input schema / properties / body / properties / name / maxLengthRemoved value: -200 - removed
Input schema / properties / body / properties / name / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / name / typeRemoved value: -"string" - added
Input schema / properties / body / properties / outro / $refAdded value: +"#/$defs/__schema15" - removed
Input schema / properties / body / properties / outro / additionalPropertiesRemoved value: -false - removed
Input schema / properties / body / properties / outro / propertiesRemoved value: -{ - "durationMs": { - "type": "number" - }, - "kind": { - "enum": [ - "card", - "video" - ], - "type": "string" - }, - "src": { - "minLength": 1, - "type": "string" - }, - "subtitle": { - "type": "string" - }, - "title": { - "type": "string" - } -} - removed
Input schema / properties / body / properties / outro / requiredRemoved value: -[ - "kind" -] - removed
Input schema / properties / body / properties / outro / typeRemoved value: -"object" - added
Input schema / properties / body / properties / secondaryTagline / $refAdded value: +"#/$defs/__schema4" - removed
Input schema / properties / body / properties / secondaryTagline / maxLengthRemoved value: -500 - removed
Input schema / properties / body / properties / secondaryTagline / typeRemoved value: -"string" - added
Input schema / properties / body / properties / sizing / $refAdded value: +"#/$defs/__schema18" - removed
Input schema / properties / body / properties / sizing / additionalPropertiesRemoved value: -false - removed
Input schema / properties / body / properties / sizing / propertiesRemoved value: -{ - "borderRadius": { - "type": "number" - }, - "fontSizeBody": { - "type": "number" - }, - "fontSizeHeading": { - "type": "number" - }, - "fontSizeLabel": { - "type": "number" - } -} - removed
Input schema / properties / body / properties / sizing / typeRemoved value: -"object" - added
Input schema / properties / body / properties / spacing / $refAdded value: +"#/$defs/__schema17" - removed
Input schema / properties / body / properties / spacing / additionalPropertiesRemoved value: -false - removed
Input schema / properties / body / properties / spacing / propertiesRemoved value: -{ - "base": { - "type": "number" - }, - "lg": { - "type": "number" - }, - "sm": { - "type": "number" - } -} - removed
Input schema / properties / body / properties / spacing / typeRemoved value: -"object" - added
Input schema / properties / body / properties / styleRubric / $refAdded value: +"#/$defs/__schema41" - removed
Input schema / properties / body / properties / styleRubric / maxLengthRemoved value: -4000 - removed
Input schema / properties / body / properties / styleRubric / typeRemoved value: -"string" - added
Input schema / properties / body / properties / syncCaptions / $refAdded value: +"#/$defs/__schema10" - removed
Input schema / properties / body / properties / syncCaptions / typeRemoved value: -"boolean" - added
Input schema / properties / body / properties / tagline / $refAdded value: +"#/$defs/__schema3" - removed
Input schema / properties / body / properties / tagline / maxLengthRemoved value: -500 - removed
Input schema / properties / body / properties / tagline / typeRemoved value: -"string" - added
Input schema / properties / body / properties / voiceGuidelines / $refAdded value: +"#/$defs/__schema9" - removed
Input schema / properties / body / properties / voiceGuidelines / maxLengthRemoved value: -5000 - removed
Input schema / properties / body / properties / voiceGuidelines / typeRemoved value: -"string" - added
Input schema / properties / body / properties / watermark / $refAdded value: +"#/$defs/__schema16" - removed
Input schema / properties / body / properties / watermark / additionalPropertiesRemoved value: -false - removed
Input schema / properties / body / properties / watermark / propertiesRemoved value: -{ - "opacity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "placement": { - "enum": [ - "tl", - "tr", - "bl", - "br" - ], - "type": "string" - }, - "src": { - "minLength": 1, - "type": "string" - } -} - removed
Input schema / properties / body / properties / watermark / requiredRemoved value: -[ - "src" -] - removed
Input schema / properties / body / properties / watermark / typeRemoved value: -"object" - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema45" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
create_brief76 fields changed- added
Input schema / $defs / __schema0 / additionalPropertiesAdded value: +false - removed
Input schema / $defs / __schema0 / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - }, - { - "items": { - "$ref": "#/$defs/__schema0" - }, - "type": "array" - }, - { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } -] - added
Input schema / $defs / __schema0 / propertiesAdded value: +{ + "durationSec": { + "exclusiveMinimum": 0, + "type": "number" + }, + "graphic": { + "additionalProperties": false, + "description": "GRAPHICS MANDATE: the plan MUST carry a graphics request of this role overlapping this beat's window — enforced at the plan gate (honor-or-refuse, like moment pinning). Prose mustIncludes reaches only the judge; this is the checkable form.", + "properties": { + "items": { + "$ref": "#/$defs/__schema5" + }, + "role": { + "$ref": "#/$defs/__schema4" + } + }, + "required": [ + "role" + ], + "type": "object" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "intent": { + "description": "What this beat DOES editorially (hook the claim, prove it, CTA…).", + "minLength": 1, + "type": "string" + }, + "source": { + "additionalProperties": false, + "description": "MOMENT PINNING: this beat uses EXACTLY this window of this media item — honored to-the-frame or refused. v1: every sourced beat must reference the SAME mediaId (multi-source briefs are refused loudly, not silently merged).", + "properties": { + "endSec": { + "$ref": "#/$defs/__schema3" + }, + "mediaId": { + "$ref": "#/$defs/__schema1" + }, + "startSec": { + "$ref": "#/$defs/__schema2" + } + }, + "required": [ + "mediaId", + "startSec", + "endSec" + ], + "type": "object" + } +} - added
Input schema / $defs / __schema0 / requiredAdded value: +[ + "id", + "intent" +] - added
Input schema / $defs / __schema0 / typeAdded value: +"object" - added
Input schema / $defs / __schema1Added value: +{ + "minLength": 1, + "type": "string" +} - added
Input schema / $defs / __schema10Added value: +{ + "additionalProperties": false, + "properties": { + "automation": { + "additionalProperties": false, + "properties": { + "lanes": { + "items": { + "additionalProperties": false, + "properties": { + "points": { + "items": { + "$ref": "#/$defs/__schema36" + }, + "minItems": 2, + "type": "array" + }, + "target": { + "const": "volume", + "type": "string" + } + }, + "required": [ + "target", + "points" + ], + "type": "object" + }, + "type": "array" + }, + "version": { + "const": 1, + "type": "number" + } + }, + "required": [ + "version", + "lanes" + ], + "type": "object" + }, + "captionVisibility": { + "description": "Video media clip only. Hide native captions while this clip is topmost and covers the lower picture, or when an opaque, effect-free clip has an explicitly full-frame region, even with fit:contain. Caption words and timings remain stored and resume when another visible clip takes over.", + "enum": [ + "visible", + "hidden" + ], + "type": "string" + }, + "color": { + "additionalProperties": false, + "properties": { + "creative": { + "additionalProperties": false, + "properties": { + "enabled": { + "type": "boolean" + }, + "mediaId": { + "type": "string" + }, + "sha256": { + "type": "string" + }, + "strength": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "mediaId", + "sha256", + "enabled", + "strength" + ], + "type": "object" + }, + "display": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "enabled": { + "type": "boolean" + }, + "mediaId": { + "type": "string" + }, + "sha256": { + "type": "string" + } + }, + "required": [ + "mediaId", + "sha256", + "enabled" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "bundled": { + "enum": [ + "daylight-negative", + "tungsten-negative", + "soft-negative", + "slide", + "black-and-white" + ], + "type": "string" + }, + "enabled": { + "type": "boolean" + } + }, + "required": [ + "bundled", + "enabled" + ], + "type": "object" + } + ] + }, + "enabled": { + "type": "boolean" + }, + "grade": { + "additionalProperties": false, + "properties": { + "blacks": { + "maximum": 1, + "minimum": -1, + "type": "number" + }, + "contrast": { + "maximum": 1, + "minimum": -1, + "type": "number" + }, + "exposure": { + "maximum": 4, + "minimum": -4, + "type": "number" + }, + "highlights": { + "maximum": 1, + "minimum": -1, + "type": "number" + }, + "saturation": { + "maximum": 1, + "minimum": -1, + "type": "number" + }, + "shadows": { + "maximum": 1, + "minimum": -1, + "type": "number" + }, + "temperature": { + "maximum": 1, + "minimum": -1, + "type": "number" + }, + "tint": { + "maximum": 1, + "minimum": -1, + "type": "number" + }, + "vibrance": { + "maximum": 1, + "minimum": -1, + "type": "number" + }, + "whites": { + "maximum": 1, + "minimum": -1, + "type": "number" + } + }, + "required": [ + "exposure", + "contrast", + "highlights", + "shadows", + "whites", + "blacks", + "temperature", + "tint", + "vibrance", + "saturation" + ], + "type": "object" + }, + "grain": { + "additionalProperties": false, + "properties": { + "amount": { + "maximum": 2, + "minimum": 0, + "type": "number" + }, + "enabled": { + "type": "boolean" + }, + "gauge": { + "enum": [ + "super8", + "super16", + "super35", + "65mm" + ], + "type": "string" + }, + "profile": { + "enum": [ + "daylight-negative", + "tungsten-negative", + "soft-negative", + "slide", + "black-and-white" + ], + "type": "string" + }, + "seed": { + "maximum": 4294967295, + "minimum": 0, + "type": "integer" + }, + "size": { + "maximum": 4, + "minimum": 0.5, + "type": "number" + } + }, + "required": [ + "enabled", + "profile", + "gauge", + "amount", + "size", + "seed" + ], + "type": "object" + }, + "halation": { + "additionalProperties": false, + "properties": { + "amount": { + "maximum": 0.5, + "minimum": 0, + "type": "number" + }, + "enabled": { + "type": "boolean" + }, + "radius": { + "maximum": 0.02, + "minimum": 0.0005, + "type": "number" + }, + "threshold": { + "maximum": 16, + "minimum": 0, + "type": "number" + }, + "tint": { + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "$ref": "#/$defs/__schema38" + }, + { + "$ref": "#/$defs/__schema39" + }, + { + "$ref": "#/$defs/__schema40" + } + ], + "type": "array" + } + }, + "required": [ + "enabled", + "amount", + "radius", + "threshold", + "tint" + ], + "type": "object" + }, + "looks": { + "items": { + "$ref": "#/$defs/__schema37" + }, + "maxItems": 2, + "type": "array" + }, + "version": { + "const": 1, + "type": "number" + } + }, + "required": [ + "version", + "enabled", + "grade", + "looks" + ], + "type": "object" + }, + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "effects": { + "items": { + "additionalProperties": false, + "properties": { + "component": { + "$ref": "#/$defs/__schema23" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "params": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "type": "string" + }, + "window": { + "additionalProperties": false, + "properties": { + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "startTime": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "startTime", + "duration" + ], + "type": "object" + } + }, + "type": "object" + }, + "type": "array" + }, + "fit": { + "enum": [ + "cover", + "contain" + ], + "type": "string" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "kind": { + "enum": [ + "video", + "audio", + "image", + "overlay", + "effect" + ], + "type": "string" + }, + "legacyKeyframes": { + "additionalProperties": false, + "properties": { + "channels": { + "items": { + "type": "string" + }, + "type": "array" + }, + "needsUpgrade": { + "const": true, + "type": "boolean" + }, + "record": {} + }, + "required": [ + "needsUpgrade", + "channels", + "record" + ], + "type": "object" + }, + "linkGroupId": { + "minLength": 1, + "type": "string" + }, + "opacity": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "position": { + "additionalProperties": { + "$ref": "#/$defs/__schema29" + }, + "description": "Clip CENTRE as a fraction of the frame: {x:0.5,y:0.5} is dead centre, 0 to 1 is inside the frame, and a little overshoot (down to -1, up to 2) is how an entrance starts off-canvas. NOT pixels: the renderer maps x to `left: x*100%`, so `x: 180` sits 180 frame-widths away and draws nothing.", + "properties": { + "x": { + "$ref": "#/$defs/__schema27" + }, + "y": { + "$ref": "#/$defs/__schema28" + } + }, + "required": [ + "x", + "y" + ], + "type": "object" + }, + "region": { + "additionalProperties": { + "$ref": "#/$defs/__schema34" + }, + "description": "A window in the frame that the clip draws into and is clipped to (top-left corner and size, each a frame fraction). Inside a region, `position` and `scale` act relative to that window, so content moved past its edge is cut off. Omit it to place the clip against the whole frame.", + "properties": { + "h": { + "$ref": "#/$defs/__schema33" + }, + "w": { + "$ref": "#/$defs/__schema32" + }, + "x": { + "$ref": "#/$defs/__schema30" + }, + "y": { + "$ref": "#/$defs/__schema31" + } + }, + "required": [ + "x", + "y", + "w", + "h" + ], + "type": "object" + }, + "rotation": { + "type": "number" + }, + "scale": { + "exclusiveMinimum": 0, + "type": "number" + }, + "source": { + "oneOf": [ + { + "additionalProperties": {}, + "properties": { + "anchor": { + "additionalProperties": {}, + "properties": { + "clipId": { + "minLength": 1, + "type": "string" + }, + "offsetMs": { + "type": "number" + } + }, + "required": [ + "clipId", + "offsetMs" + ], + "type": "object" + }, + "audioRole": { + "description": "Mix role. A role sets the clip's default gain when it has no `volume` or `volumeDb`: vo 0 dB, sfx -6 dB, music -8 dB (-16 dB when any vo clip exists), ambience -22 dB. Set `volumeDb: 0` to keep a role and play the source at its own level.", + "enum": [ + "sfx", + "music", + "vo", + "ambience" + ], + "type": "string" + }, + "duck": { + "additionalProperties": {}, + "properties": { + "attackMs": { + "minimum": 0, + "type": "number" + }, + "duckDb": { + "maximum": 0, + "type": "number" + }, + "releaseMs": { + "minimum": 0, + "type": "number" + }, + "windows": { + "items": { + "additionalProperties": {}, + "properties": { + "endMs": { + "type": "number" + }, + "startMs": { + "type": "number" + } + }, + "required": [ + "startMs", + "endMs" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "duckDb", + "attackMs", + "releaseMs" + ], + "type": "object" + }, + "excludedRanges": { + "items": { + "additionalProperties": {}, + "properties": { + "end": { + "minimum": 0, + "type": "number" + }, + "reason": { + "type": "string" + }, + "start": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "type": "array" + }, + "fadeInMs": { + "minimum": 0, + "type": "number" + }, + "fadeOutMs": { + "minimum": 0, + "type": "number" + }, + "kenBurns": { + "description": "Still-image motion. When unset, an image clip slowly pushes in (`in`) unless its fit is `contain` or it keyframes scale, position or rotation, so a keyframed clip renders exactly its keyframed values; set `none` for a still that holds.", + "enum": [ + "in", + "out", + "pan-l", + "pan-r", + "none" + ], + "type": "string" + }, + "kind": { + "const": "media", + "type": "string" + }, + "loop": { + "type": "boolean" + }, + "mediaId": { + "type": "string" + }, + "muted": { + "type": "boolean" + }, + "playbackRate": { + "exclusiveMinimum": 0, + "type": "number" + }, + "reframe": { + "additionalProperties": {}, + "properties": { + "segments": { + "items": { + "$ref": "#/$defs/__schema11" + }, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "segments" + ], + "type": "object" + }, + "sync": { + "enum": [ + "video", + "independent" + ], + "type": "string" + }, + "trim": { + "additionalProperties": {}, + "properties": { + "end": { + "minimum": 0, + "type": "number" + }, + "start": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "volume": { + "maximum": 4, + "minimum": 0, + "type": "number" + }, + "volumeDb": { + "type": "number" + } + }, + "required": [ + "kind", + "mediaId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "componentId": { + "minLength": 1, + "type": "string" + }, + "execution": { + "$ref": "#/$defs/__schema23" + }, + "kind": { + "const": "component", + "type": "string" + }, + "placement": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "clip", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "content-slots", + "type": "string" + }, + "slots": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "ownership": { + "enum": [ + "reference", + "exclusive" + ], + "type": "string" + }, + "targetClipIds": { + "items": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "targetClipIds", + "ownership" + ], + "type": "object" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "kind", + "slots" + ], + "type": "object" + } + ] + }, + "props": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "retired": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "zPlane": { + "enum": [ + "front", + "behind-subject" + ], + "type": "string" + } + }, + "required": [ + "kind", + "componentId", + "props" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "anchor": { + "additionalProperties": {}, + "properties": { + "space": { + "const": "scene", + "type": "string" + }, + "x": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "space", + "x", + "y" + ], + "type": "object" + }, + "kind": { + "const": "overlay", + "type": "string" + }, + "parallax": { + "maximum": 0.3, + "minimum": -0.3, + "type": "number" + }, + "params": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "pattern": "^(?!custom$)", + "type": "string" + }, + "zPlane": { + "enum": [ + "front", + "behind-subject" + ], + "type": "string" + } + }, + "required": [ + "kind", + "primitiveId", + "params" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "component": { + "$ref": "#/$defs/__schema23" + }, + "kind": { + "const": "effect", + "type": "string" + }, + "params": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "type": "string" + }, + "targetTrackIds": { + "items": { + "$ref": "#/$defs/__schema25" + }, + "minItems": 1, + "type": "array" + }, + "wrapperOrder": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "html": { + "description": "Self-contained card markup sized to the format's pixel frame. Motion comes from frame-driven vars, never @keyframes or transition: --cf-frame, --cf-t (seconds), --cf-fps, --cf-duration, --cf-progress, --cf-ease, --cf-enter, --cf-exit. Visible copy goes in the html as plain text. Wrap a run in <span data-cf-split=\"words\"> or \"chars\" and each unit becomes its own span carrying --cf-i (its index, the group carries --cf-n), so one rule staggers it (in chars, spaces count as units), e.g. opacity:clamp(0,calc(var(--cf-t)*4 - var(--cf-i)*.3),1). save_as_template binds that copy with textParams match.", + "minLength": 1, + "type": "string" + }, + "kind": { + "const": "card", + "type": "string" + }, + "tokens": { + "$ref": "#/$defs/__schema26", + "description": "Style values the html reads as CSS custom properties: key x becomes --cf-x, so never put dashes in a key. Use tokens for colours and sizes, not visible copy.", + "propertyNames": { + "type": "string" + } + }, + "zPlane": { + "const": "front", + "type": "string" + } + }, + "required": [ + "kind", + "html" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "compositionId": { + "minLength": 1, + "type": "string" + }, + "kind": { + "const": "composition", + "type": "string" + }, + "trim": { + "additionalProperties": {}, + "properties": { + "end": { + "minimum": 0, + "type": "number" + }, + "start": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "compositionId" + ], + "type": "object" + } + ] + }, + "startTime": { + "minimum": 0, + "type": "number" + }, + "transitionIn": { + "additionalProperties": {}, + "properties": { + "component": { + "$ref": "#/$defs/__schema23" + }, + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "fromClipId": { + "minLength": 1, + "type": "string" + }, + "handlePolicy": { + "const": "outgoing-overrun-at-cut-v1", + "type": "string" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "toClipId": { + "minLength": 1, + "type": "string" + }, + "type": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "type", + "duration" + ], + "type": "object" + }, + "tweens": { + "items": { + "additionalProperties": false, + "properties": { + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "keyframes": { + "additionalProperties": false, + "properties": { + "easeEach": { + "const": "none", + "type": "string" + }, + "format": { + "const": "percentage", + "type": "string" + }, + "keyframes": { + "items": { + "$ref": "#/$defs/__schema35" + }, + "minItems": 2, + "type": "array" + } + }, + "required": [ + "format", + "easeEach", + "keyframes" + ], + "type": "object" + }, + "position": { + "type": "number" + }, + "propertyGroup": { + "enum": [ + "visual", + "scale", + "rotation", + "position" + ], + "type": "string" + } + }, + "required": [ + "id", + "propertyGroup", + "position", + "duration", + "keyframes" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "id", + "startTime", + "duration", + "source" + ], + "type": "object" +} - added
Input schema / $defs / __schema11Added value: +{ + "additionalProperties": {}, + "properties": { + "bias": { + "additionalProperties": { + "$ref": "#/$defs/__schema22" + }, + "description": "Optional FINE framing nudge off the focus center, source-normalized in [−0.3, 0.3]. A small correction (headroom, rule-of-thirds), NOT a reframe — use `focus`/`zoom` for the actual shot. Omit (treated as 0) to sit dead-center on the focus.", + "properties": { + "x": { + "$ref": "#/$defs/__schema20" + }, + "y": { + "$ref": "#/$defs/__schema21" + } + }, + "required": [ + "x", + "y" + ], + "type": "object" + }, + "ease": { + "additionalProperties": { + "$ref": "#/$defs/__schema19" + }, + "description": "Zoom/center ramp DURATIONS in SECONDS at this segment's edges — NOT a unitless 0–1 curve. ~0.3–0.6s reads as a snappy push; >1s reads sluggish. Keep `in` + `out` ≤ the segment's duration (endSec − startSec): the two edges share the span, so to ramp across the WHOLE segment set one edge to the full duration and the other to 0. Omit for an instant cut to this framing.", + "properties": { + "in": { + "$ref": "#/$defs/__schema17" + }, + "out": { + "$ref": "#/$defs/__schema18" + } + }, + "required": [ + "in", + "out" + ], + "type": "object" + }, + "endSec": { + "description": "Segment END in seconds, clip-relative. The span (endSec − startSec) is this segment's duration — the window `ease` ramps over.", + "exclusiveMinimum": 0, + "type": "number" + }, + "focus": { + "description": "WHO/WHAT the camera tracks this segment (the reframe center), selected by `mode`: `frame-center` = no tracking, hold the geometric center (static/graphic footage, or a pure zoom); `point` = lock to a fixed source-normalized {x,y} (a non-moving on-screen element); `face` = track a detected face by `faceId` (from get_media_context), with optional `shotScale` close|standard|wide for tightness; `all-faces` = frame the bounding box of every detected face (group/ensemble shots); `active-speaker` = follow whoever is speaking (diarized talking-head / podcast). Pick by what the beat is about; pair with `zoom` for how tight.", + "oneOf": [ + { + "$ref": "#/$defs/__schema12" + }, + { + "$ref": "#/$defs/__schema13" + }, + { + "$ref": "#/$defs/__schema14" + }, + { + "$ref": "#/$defs/__schema15" + }, + { + "$ref": "#/$defs/__schema16" + } + ] + }, + "intent": { + "description": "Optional editorial LABEL for diff/log readability (e.g. 'speaker-tight', 'wide-context'). Cosmetic — NOT honored by the derive math and excluded from the variant cache key.", + "type": "string" + }, + "startSec": { + "description": "Segment START in seconds, clip-relative. Segments tile the clip's duration in order.", + "minimum": 0, + "type": "number" + }, + "zoom": { + "description": "How TIGHT the framing is — the fraction of the source the output viewport shows. <1 punches IN (a smaller source fraction, magnified to fill the frame); 1 = the full frame (no crop). ~0.6–0.8 is a moderate push-in, ~0.5 a tight close-up, 0.1 the maximum zoom. There is NO zoom-OUT past the full frame (max 1). Omit for the full frame. MUTUALLY EXCLUSIVE with `focus.shotScale`: a face-tracked shot is sized EITHER by the editorial scale (shotScale, calibrated to the detected face) OR by an explicit zoom — never both.", + "maximum": 1, + "minimum": 0.1, + "type": "number" + } + }, + "required": [ + "startSec", + "endSec", + "focus" + ], + "type": "object" +} - added
Input schema / $defs / __schema12Added value: +{ + "additionalProperties": {}, + "properties": { + "mode": { + "const": "frame-center", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" +} - added
Input schema / $defs / __schema13Added value: +{ + "additionalProperties": {}, + "properties": { + "mode": { + "const": "point", + "type": "string" + }, + "x": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "mode", + "x", + "y" + ], + "type": "object" +} - added
Input schema / $defs / __schema14Added value: +{ + "additionalProperties": {}, + "properties": { + "faceId": { + "minLength": 1, + "type": "string" + }, + "mode": { + "const": "face", + "type": "string" + }, + "shotScale": { + "enum": [ + "close", + "standard", + "wide" + ], + "type": "string" + } + }, + "required": [ + "mode", + "faceId" + ], + "type": "object" +} - added
Input schema / $defs / __schema15Added value: +{ + "additionalProperties": {}, + "properties": { + "mode": { + "const": "all-faces", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" +} - added
Input schema / $defs / __schema16Added value: +{ + "additionalProperties": {}, + "properties": { + "mode": { + "const": "active-speaker", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" +} - added
Input schema / $defs / __schema17Added value: +{ + "description": "Ease-IN ramp DURATION in seconds at the segment START.", + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema18Added value: +{ + "description": "Ease-OUT ramp DURATION in seconds at the segment END.", + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema19Added value: +{} - added
Input schema / $defs / __schema2Added value: +{ + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema20Added value: +{ + "description": "Horizontal nudge, source-normalized (+ = right).", + "maximum": 0.3, + "minimum": -0.3, + "type": "number" +} - added
Input schema / $defs / __schema21Added value: +{ + "description": "Vertical nudge, source-normalized (+ = down).", + "maximum": 0.3, + "minimum": -0.3, + "type": "number" +} - added
Input schema / $defs / __schema22Added value: +{} - added
Input schema / $defs / __schema23Added value: +{ + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema24" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema24" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } + ] +} - added
Input schema / $defs / __schema24Added value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "items": { + "$ref": "#/$defs/__schema24" + }, + "type": "array" + }, + { + "additionalProperties": { + "$ref": "#/$defs/__schema24" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + ] +} - added
Input schema / $defs / __schema25Added value: +{ + "minLength": 1, + "type": "string" +} - added
Input schema / $defs / __schema26Added value: +{ + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" +} - added
Input schema / $defs / __schema27Added value: +{ + "maximum": 2, + "minimum": -1, + "type": "number" +} - added
Input schema / $defs / __schema28Added value: +{ + "maximum": 2, + "minimum": -1, + "type": "number" +} - added
Input schema / $defs / __schema29Added value: +{} - added
Input schema / $defs / __schema3Added value: +{ + "exclusiveMinimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema30Added value: +{ + "maximum": 1, + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema31Added value: +{ + "maximum": 1, + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema32Added value: +{ + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" +} - added
Input schema / $defs / __schema33Added value: +{ + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" +} - added
Input schema / $defs / __schema34Added value: +{} - added
Input schema / $defs / __schema35Added value: +{ + "additionalProperties": false, + "properties": { + "ease": { + "type": "string" + }, + "percentage": { + "type": "number" + }, + "properties": { + "additionalProperties": { + "type": "number" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + }, + "required": [ + "percentage", + "properties" + ], + "type": "object" +} - added
Input schema / $defs / __schema36Added value: +{ + "additionalProperties": false, + "properties": { + "t": { + "type": "number" + }, + "v": { + "type": "number" + } + }, + "required": [ + "t", + "v" + ], + "type": "object" +} - added
Input schema / $defs / __schema37Added value: +{ + "additionalProperties": false, + "properties": { + "enabled": { + "type": "boolean" + }, + "mediaId": { + "type": "string" + }, + "sha256": { + "type": "string" + } + }, + "required": [ + "mediaId", + "sha256", + "enabled" + ], + "type": "object" +} - added
Input schema / $defs / __schema38Added value: +{ + "maximum": 1, + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema39Added value: +{ + "maximum": 1, + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema4Added value: +{ + "description": "The mandated graphic's editorial role (the graphics-plan GraphicRole vocabulary).", + "enum": [ + "title-card", + "stat", + "lower-third", + "pull-quote", + "hero", + "logo-tag", + "enumeration", + "sequence", + "comparison" + ], + "type": "string" +} - added
Input schema / $defs / __schema40Added value: +{ + "maximum": 1, + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema41Added value: +{ + "enum": [ + "overlay", + "component", + "card", + "no-transitions" + ], + "type": "string" +} - added
Input schema / $defs / __schema42Added value: +{ + "enum": [ + "content", + "layout", + "motion" + ], + "type": "string" +} - added
Input schema / $defs / __schema43Added value: +{ + "maxLength": 128, + "minLength": 1, + "type": "string" +} - added
Input schema / $defs / __schema5Added value: +{ + "description": "Mandated list items (enumeration/sequence) — carried VERBATIM into the plan's copy.items.", + "items": { + "$ref": "#/$defs/__schema6" + }, + "maxItems": 8, + "type": "array" +} - added
Input schema / $defs / __schema6Added value: +{ + "maxLength": 80, + "minLength": 1, + "type": "string" +} - added
Input schema / $defs / __schema7Added value: +{ + "minLength": 1, + "type": "string" +} - added
Input schema / $defs / __schema8Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema9Added value: +{ + "minLength": 1, + "type": "string" +} - added
Input schema / properties / body / properties / beats / items / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / body / properties / beats / items / additionalPropertiesRemoved value: -false - removed
Input schema / properties / body / properties / beats / items / propertiesRemoved value: -{ - "durationSec": { - "exclusiveMinimum": 0, - "type": "number" - }, - "graphic": { - "additionalProperties": false, - "description": "GRAPHICS MANDATE: the plan MUST carry a graphics request of this role overlapping this beat's window — enforced at the plan gate (honor-or-refuse, like moment pinning). Prose mustIncludes reaches only the judge; this is the checkable form.", - "properties": { - "items": { - "description": "Mandated list items (enumeration/sequence) — carried VERBATIM into the plan's copy.items.", - "items": { - "maxLength": 80, - "minLength": 1, - "type": "string" - }, - "maxItems": 8, - "type": "array" - }, - "role": { - "description": "The mandated graphic's editorial role (the graphics-plan GraphicRole vocabulary).", - "enum": [ - "title-card", - "stat", - "lower-third", - "pull-quote", - "hero", - "logo-tag", - "enumeration", - "sequence", - "comparison" - ], - "type": "string" - } - }, - "required": [ - "role" - ], - "type": "object" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "intent": { - "description": "What this beat DOES editorially (hook the claim, prove it, CTA…).", - "minLength": 1, - "type": "string" - }, - "source": { - "additionalProperties": false, - "description": "MOMENT PINNING: this beat uses EXACTLY this window of this media item — honored to-the-frame or refused. v1: every sourced beat must reference the SAME mediaId (multi-source briefs are refused loudly, not silently merged).", - "properties": { - "endSec": { - "exclusiveMinimum": 0, - "type": "number" - }, - "mediaId": { - "minLength": 1, - "type": "string" - }, - "startSec": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "mediaId", - "startSec", - "endSec" - ], - "type": "object" - } -} - removed
Input schema / properties / body / properties / beats / items / requiredRemoved value: -[ - "id", - "intent" -] - removed
Input schema / properties / body / properties / beats / items / typeRemoved value: -"object" - added
Input schema / properties / body / properties / captions / properties / emphasisPhrases / items / $refAdded value: +"#/$defs/__schema9" - removed
Input schema / properties / body / properties / captions / properties / emphasisPhrases / items / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / captions / properties / emphasisPhrases / items / typeRemoved value: -"string" - added
Input schema / properties / body / properties / exclusions / items / $refAdded value: +"#/$defs/__schema41" - removed
Input schema / properties / body / properties / exclusions / items / enumRemoved value: -[ - "overlay", - "component", - "card", - "no-transitions" -] - removed
Input schema / properties / body / properties / exclusions / items / typeRemoved value: -"string" - added
Input schema / properties / body / properties / gates / properties / holdAt / items / $refAdded value: +"#/$defs/__schema42" - removed
Input schema / properties / body / properties / gates / properties / holdAt / items / enumRemoved value: -[ - "content", - "layout", - "motion" -] - removed
Input schema / properties / body / properties / gates / properties / holdAt / items / typeRemoved value: -"string" - added
Input schema / properties / body / properties / mustIncludes / items / $refAdded value: +"#/$defs/__schema7" - removed
Input schema / properties / body / properties / mustIncludes / items / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / mustIncludes / items / typeRemoved value: -"string" - added
Input schema / properties / body / properties / references / items / $refAdded value: +"#/$defs/__schema8" - removed
Input schema / properties / body / properties / references / items / typeRemoved value: -"string" - added
Input schema / properties / body / properties / seededGraphics / items / $refAdded value: +"#/$defs/__schema10" - removed
Input schema / properties / body / properties / seededGraphics / items / additionalPropertiesRemoved value: -false - removed
Input schema / properties / body / properties / seededGraphics / items / propertiesRemoved value: -{ - "automation": { - "additionalProperties": false, - "properties": { - "lanes": { - "items": { - "additionalProperties": false, - "properties": { - "points": { - "items": { - "additionalProperties": false, - "properties": { - "t": { - "type": "number" - }, - "v": { - "type": "number" - } - }, - "required": [ - "t", - "v" - ], - "type": "object" - }, - "minItems": 2, - "type": "array" - }, - "target": { - "const": "volume", - "type": "string" - } - }, - "required": [ - "target", - "points" - ], - "type": "object" - }, - "type": "array" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "lanes" - ], - "type": "object" - }, - "captionVisibility": { - "description": "Video media clip only. Hide native captions while this clip is topmost and covers the lower picture, or when an opaque, effect-free clip has an explicitly full-frame region, even with fit:contain. Caption words and timings remain stored and resume when another visible clip takes over.", - "enum": [ - "visible", - "hidden" - ], - "type": "string" - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "effects": { - "items": { - "additionalProperties": false, - "properties": { - "component": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "id": { - "minLength": 1, - "type": "string" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "window": { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "startTime": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "startTime", - "duration" - ], - "type": "object" - } - }, - "type": "object" - }, - "type": "array" - }, - "fit": { - "enum": [ - "cover", - "contain" - ], - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "kind": { - "enum": [ - "video", - "audio", - "image", - "overlay", - "effect" - ], - "type": "string" - }, - "legacyKeyframes": { - "additionalProperties": false, - "properties": { - "channels": { - "items": { - "type": "string" - }, - "type": "array" - }, - "needsUpgrade": { - "const": true, - "type": "boolean" - }, - "record": {} - }, - "required": [ - "needsUpgrade", - "channels", - "record" - ], - "type": "object" - }, - "linkGroupId": { - "minLength": 1, - "type": "string" - }, - "opacity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "position": { - "additionalProperties": {}, - "description": "Clip CENTRE as a fraction of the frame: {x:0.5,y:0.5} is dead centre, 0 to 1 is inside the frame, and a little overshoot (down to -1, up to 2) is how an entrance starts off-canvas. NOT pixels: the renderer maps x to `left: x*100%`, so `x: 180` sits 180 frame-widths away and draws nothing.", - "properties": { - "x": { - "maximum": 2, - "minimum": -1, - "type": "number" - }, - "y": { - "maximum": 2, - "minimum": -1, - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "region": { - "additionalProperties": {}, - "properties": { - "h": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "w": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "rotation": { - "type": "number" - }, - "scale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "source": { - "oneOf": [ - { - "additionalProperties": {}, - "properties": { - "anchor": { - "additionalProperties": {}, - "properties": { - "clipId": { - "minLength": 1, - "type": "string" - }, - "offsetMs": { - "type": "number" - } - }, - "required": [ - "clipId", - "offsetMs" - ], - "type": "object" - }, - "audioRole": { - "enum": [ - "sfx", - "music", - "vo", - "ambience" - ], - "type": "string" - }, - "duck": { - "additionalProperties": {}, - "properties": { - "attackMs": { - "minimum": 0, - "type": "number" - }, - "duckDb": { - "maximum": 0, - "type": "number" - }, - "releaseMs": { - "minimum": 0, - "type": "number" - }, - "windows": { - "items": { - "additionalProperties": {}, - "properties": { - "endMs": { - "type": "number" - }, - "startMs": { - "type": "number" - } - }, - "required": [ - "startMs", - "endMs" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "duckDb", - "attackMs", - "releaseMs" - ], - "type": "object" - }, - "excludedRanges": { - "items": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "reason": { - "type": "string" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "type": "array" - }, - "fadeInMs": { - "minimum": 0, - "type": "number" - }, - "fadeOutMs": { - "minimum": 0, - "type": "number" - }, - "kenBurns": { - "enum": [ - "in", - "out", - "pan-l", - "pan-r", - "none" - ], - "type": "string" - }, - "kind": { - "const": "media", - "type": "string" - }, - "loop": { - "type": "boolean" - }, - "mediaId": { - "type": "string" - }, - "muted": { - "type": "boolean" - }, - "playbackRate": { - "exclusiveMinimum": 0, - "type": "number" - }, - "reframe": { - "additionalProperties": {}, - "properties": { - "segments": { - "items": { - "additionalProperties": {}, - "properties": { - "bias": { - "additionalProperties": {}, - "description": "Optional FINE framing nudge off the focus center, source-normalized in [−0.3, 0.3]. A small correction (headroom, rule-of-thirds), NOT a reframe — use `focus`/`zoom` for the actual shot. Omit (treated as 0) to sit dead-center on the focus.", - "properties": { - "x": { - "description": "Horizontal nudge, source-normalized (+ = right).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "y": { - "description": "Vertical nudge, source-normalized (+ = down).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "ease": { - "additionalProperties": {}, - "description": "Zoom/center ramp DURATIONS in SECONDS at this segment's edges — NOT a unitless 0–1 curve. ~0.3–0.6s reads as a snappy push; >1s reads sluggish. Keep `in` + `out` ≤ the segment's duration (endSec − startSec): the two edges share the span, so to ramp across the WHOLE segment set one edge to the full duration and the other to 0. Omit for an instant cut to this framing.", - "properties": { - "in": { - "description": "Ease-IN ramp DURATION in seconds at the segment START.", - "minimum": 0, - "type": "number" - }, - "out": { - "description": "Ease-OUT ramp DURATION in seconds at the segment END.", - "minimum": 0, - "type": "number" - } - }, - "required": [ - "in", - "out" - ], - "type": "object" - }, - "endSec": { - "description": "Segment END in seconds, clip-relative. The span (endSec − startSec) is this segment's duration — the window `ease` ramps over.", - "exclusiveMinimum": 0, - "type": "number" - }, - "focus": { - "description": "WHO/WHAT the camera tracks this segment (the reframe center), selected by `mode`: `frame-center` = no tracking, hold the geometric center (static/graphic footage, or a pure zoom); `point` = lock to a fixed source-normalized {x,y} (a non-moving on-screen element); `face` = track a detected face by `faceId` (from get_media_context), with optional `shotScale` close|standard|wide for tightness; `all-faces` = frame the bounding box of every detected face (group/ensemble shots); `active-speaker` = follow whoever is speaking (diarized talking-head / podcast). Pick by what the beat is about; pair with `zoom` for how tight.", - "oneOf": [ - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "frame-center", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "point", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "mode", - "x", - "y" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "faceId": { - "minLength": 1, - "type": "string" - }, - "mode": { - "const": "face", - "type": "string" - }, - "shotScale": { - "enum": [ - "close", - "standard", - "wide" - ], - "type": "string" - } - }, - "required": [ - "mode", - "faceId" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "all-faces", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "active-speaker", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - } - ] - }, - "intent": { - "description": "Optional editorial LABEL for diff/log readability (e.g. 'speaker-tight', 'wide-context'). Cosmetic — NOT honored by the derive math and excluded from the variant cache key.", - "type": "string" - }, - "startSec": { - "description": "Segment START in seconds, clip-relative. Segments tile the clip's duration in order.", - "minimum": 0, - "type": "number" - }, - "zoom": { - "description": "How TIGHT the framing is — the fraction of the source the output viewport shows. <1 punches IN (a smaller source fraction, magnified to fill the frame); 1 = the full frame (no crop). ~0.6–0.8 is a moderate push-in, ~0.5 a tight close-up, 0.1 the maximum zoom. There is NO zoom-OUT past the full frame (max 1). Omit for the full frame. MUTUALLY EXCLUSIVE with `focus.shotScale`: a face-tracked shot is sized EITHER by the editorial scale (shotScale, calibrated to the detected face) OR by an explicit zoom — never both.", - "maximum": 1, - "minimum": 0.1, - "type": "number" - } - }, - "required": [ - "startSec", - "endSec", - "focus" - ], - "type": "object" - }, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "segments" - ], - "type": "object" - }, - "sync": { - "enum": [ - "video", - "independent" - ], - "type": "string" - }, - "trim": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "volume": { - "maximum": 4, - "minimum": 0, - "type": "number" - }, - "volumeDb": { - "type": "number" - } - }, - "required": [ - "kind", - "mediaId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "componentId": { - "minLength": 1, - "type": "string" - }, - "execution": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "kind": { - "const": "component", - "type": "string" - }, - "placement": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "clip", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "content-slots", - "type": "string" - }, - "slots": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "ownership": { - "enum": [ - "reference", - "exclusive" - ], - "type": "string" - }, - "targetClipIds": { - "items": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "targetClipIds", - "ownership" - ], - "type": "object" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind", - "slots" - ], - "type": "object" - } - ] - }, - "props": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "retired": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "componentId", - "props" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "anchor": { - "additionalProperties": {}, - "properties": { - "space": { - "const": "scene", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "space", - "x", - "y" - ], - "type": "object" - }, - "kind": { - "const": "overlay", - "type": "string" - }, - "parallax": { - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "pattern": "^(?!custom$)", - "type": "string" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "primitiveId", - "params" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "component": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "kind": { - "const": "effect", - "type": "string" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "targetTrackIds": { - "items": { - "minLength": 1, - "type": "string" - }, - "minItems": 1, - "type": "array" - }, - "wrapperOrder": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "html": { - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "card", - "type": "string" - }, - "tokens": { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "zPlane": { - "const": "front", - "type": "string" - } - }, - "required": [ - "kind", - "html" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "compositionId": { - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "composition", - "type": "string" - }, - "trim": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "compositionId" - ], - "type": "object" - } - ] - }, - "startTime": { - "minimum": 0, - "type": "number" - }, - "transitionIn": { - "additionalProperties": {}, - "properties": { - "component": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "fromClipId": { - "minLength": 1, - "type": "string" - }, - "handlePolicy": { - "const": "outgoing-overrun-at-cut-v1", - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "toClipId": { - "minLength": 1, - "type": "string" - }, - "type": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "type", - "duration" - ], - "type": "object" - }, - "tweens": { - "items": { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "keyframes": { - "additionalProperties": false, - "properties": { - "easeEach": { - "const": "none", - "type": "string" - }, - "format": { - "const": "percentage", - "type": "string" - }, - "keyframes": { - "items": { - "additionalProperties": false, - "properties": { - "ease": { - "type": "string" - }, - "percentage": { - "type": "number" - }, - "properties": { - "additionalProperties": { - "type": "number" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - }, - "required": [ - "percentage", - "properties" - ], - "type": "object" - }, - "minItems": 2, - "type": "array" - } - }, - "required": [ - "format", - "easeEach", - "keyframes" - ], - "type": "object" - }, - "position": { - "type": "number" - }, - "propertyGroup": { - "enum": [ - "visual", - "scale", - "rotation", - "position" - ], - "type": "string" - } - }, - "required": [ - "id", - "propertyGroup", - "position", - "duration", - "keyframes" - ], - "type": "object" - }, - "type": "array" - } -} - removed
Input schema / properties / body / properties / seededGraphics / items / requiredRemoved value: -[ - "id", - "startTime", - "duration", - "source" -] - removed
Input schema / properties / body / properties / seededGraphics / items / typeRemoved value: -"object" - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema43" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
create_checkout8 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "enum": [ + "month", + "year" + ], + "type": "string" + }, + "__schema1": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / body / properties / interval / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / body / properties / interval / enumRemoved value: -[ - "month", - "year" -] - removed
Input schema / properties / body / properties / interval / typeRemoved value: -"string" - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema1" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
create_component48 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "description": "Caller-chosen stable component id. On create it names the new component. On PUT/PATCH it is optional and, when present, must equal the id in the path; a mismatch is a 400 naming both.", + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "__schema1": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "__schema10": { + "exclusiveMinimum": 0, + "type": "number" + }, + "__schema11": { + "additionalProperties": false, + "properties": { + "componentId": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$", + "type": "string" + }, + "definition": { + "additionalProperties": false, + "properties": { + "brandBindings": { + "items": { + "additionalProperties": false, + "properties": { + "brandKitPath": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "cssVar": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "fallback": { + "type": "string" + }, + "propPath": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "propPath", + "cssVar" + ], + "type": "object" + }, + "type": "array" + }, + "capabilities": { + "items": { + "$ref": "#/$defs/__schema13" + }, + "minItems": 1, + "type": "array" + }, + "defaults": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "inputSchema": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "mediaBindings": { + "items": { + "$ref": "#/$defs/__schema15" + }, + "minItems": 1, + "type": "array" + }, + "preview": { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "durationSec": { + "exclusiveMinimum": 0, + "type": "number" + }, + "frameRate": { + "exclusiveMinimum": 0, + "type": "number" + }, + "mimeType": { + "minLength": 1, + "type": "string" + }, + "sha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "url": { + "pattern": "^https:\\/\\/.*", + "type": "string" + } + }, + "required": [ + "url", + "sha256", + "mimeType" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "durationSec": { + "exclusiveMinimum": 0, + "type": "number" + }, + "frameRate": { + "exclusiveMinimum": 0, + "type": "number" + }, + "mediaId": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "mimeType": { + "minLength": 1, + "type": "string" + }, + "sha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + } + }, + "required": [ + "mediaId", + "sha256", + "mimeType" + ], + "type": "object" + } + ] + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "format": { + "additionalProperties": {}, + "properties": { + "aspectRatio": { + "enum": [ + "16:9", + "9:16", + "1:1", + "4:5" + ], + "type": "string" + }, + "fps": { + "anyOf": [ + { + "const": 24, + "type": "number" + }, + { + "const": 25, + "type": "number" + }, + { + "const": 30, + "type": "number" + }, + { + "const": 60, + "type": "number" + } + ] + }, + "platform": { + "type": "string" + }, + "resolution": { + "enum": [ + "hd", + "fhd", + "4k" + ], + "type": "string" + } + }, + "required": [ + "aspectRatio" + ], + "type": "object" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "durationSec": { + "exclusiveMinimum": 0, + "type": "number" + }, + "frameRate": { + "exclusiveMinimum": 0, + "type": "number" + }, + "mimeType": { + "minLength": 1, + "type": "string" + }, + "sha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "url": { + "pattern": "^https:\\/\\/.*", + "type": "string" + } + }, + "required": [ + "url", + "sha256", + "mimeType" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "durationSec": { + "exclusiveMinimum": 0, + "type": "number" + }, + "frameRate": { + "exclusiveMinimum": 0, + "type": "number" + }, + "mediaId": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "mimeType": { + "minLength": 1, + "type": "string" + }, + "sha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + } + }, + "required": [ + "mediaId", + "sha256", + "mimeType" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + }, + "type": "object" + }, + "timing": { + "additionalProperties": false, + "properties": { + "defaultDuration": { + "additionalProperties": false, + "properties": { + "fps": { + "exclusiveMinimum": 0, + "type": "number" + }, + "frames": { + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + } + }, + "required": [ + "frames", + "fps" + ], + "type": "object" + }, + "maxDurationSec": { + "exclusiveMinimum": 0, + "type": "number" + }, + "minDurationSec": { + "exclusiveMinimum": 0, + "type": "number" + } + }, + "required": [ + "defaultDuration" + ], + "type": "object" + } + }, + "required": [ + "inputSchema", + "defaults", + "brandBindings", + "timing", + "capabilities" + ], + "type": "object" + }, + "manifest": { + "additionalProperties": false, + "properties": { + "alphaPolicy": { + "enum": [ + "requires-transparency", + "allows-opaque" + ], + "type": "string" + }, + "assets": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "kind": { + "enum": [ + "image", + "video", + "audio", + "data", + "visual" + ], + "type": "string" + }, + "mediaDemand": { + "oneOf": [ + { + "properties": { + "mode": { + "const": "original", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" + }, + { + "properties": { + "mode": { + "const": "tier", + "type": "string" + }, + "tier": { + "anyOf": [ + { + "const": 256, + "type": "number" + }, + { + "const": 512, + "type": "number" + }, + { + "const": 1024, + "type": "number" + }, + { + "const": 2048, + "type": "number" + } + ] + } + }, + "required": [ + "mode", + "tier" + ], + "type": "object" + }, + { + "properties": { + "maxProjectedHeightRatio": { + "exclusiveMinimum": 0, + "maximum": 64, + "type": "number" + }, + "maxProjectedWidthRatio": { + "exclusiveMinimum": 0, + "maximum": 64, + "type": "number" + }, + "minVisibleSourceHeightRatio": { + "default": 1, + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "minVisibleSourceWidthRatio": { + "default": 1, + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "mode": { + "const": "auto", + "type": "string" + } + }, + "required": [ + "mode", + "maxProjectedWidthRatio", + "maxProjectedHeightRatio" + ], + "type": "object" + } + ] + }, + "mimeTypes": { + "items": { + "$ref": "#/$defs/__schema12" + }, + "minItems": 1, + "type": "array" + }, + "required": { + "type": "boolean" + } + }, + "required": [ + "kind", + "required" + ], + "type": "object" + }, + "properties": {}, + "propertyNames": { + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "graphics": { + "additionalProperties": false, + "properties": { + "accelerationPreference": { + "enum": [ + "hardware-preferred", + "software-allowed" + ], + "type": "string" + }, + "api": { + "enum": [ + "canvas2d", + "webgl", + "webgl2", + "webgpu" + ], + "type": "string" + }, + "required": { + "const": true, + "type": "boolean" + } + }, + "required": [ + "api", + "required", + "accelerationPreference" + ], + "type": "object" + }, + "hfContract": { + "const": 1, + "type": "number" + }, + "kind": { + "const": "scene", + "type": "string" + }, + "runtime": { + "const": "hyperframes", + "type": "string" + }, + "sceneShot": { + "additionalProperties": false, + "properties": { + "version": { + "const": 2, + "type": "number" + } + }, + "required": [ + "version" + ], + "type": "object" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "runtime", + "hfContract", + "kind", + "assets", + "graphics", + "alphaPolicy" + ], + "type": "object" + }, + "template": { + "maxLength": 2000000, + "minLength": 1, + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "template", + "manifest", + "definition" + ], + "type": "object" + }, + "__schema12": { + "minLength": 1, + "type": "string" + }, + "__schema13": { + "oneOf": [ + { + "properties": { + "kind": { + "const": "clip", + "type": "string" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + { + "properties": { + "kind": { + "const": "cut-transition", + "type": "string" + }, + "protocol": { + "const": "per-child", + "type": "string" + } + }, + "required": [ + "kind", + "protocol" + ], + "type": "object" + }, + { + "properties": { + "kind": { + "const": "content-slots", + "type": "string" + }, + "slots": { + "items": { + "$ref": "#/$defs/__schema14" + }, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "kind", + "slots" + ], + "type": "object" + }, + { + "properties": { + "acceptsWrappedTargets": { + "type": "boolean" + }, + "kind": { + "const": "clip-wrapper", + "type": "string" + }, + "ordering": { + "enum": [ + "any", + "innermost" + ], + "type": "string" + } + }, + "required": [ + "kind", + "ordering", + "acceptsWrappedTargets" + ], + "type": "object" + }, + { + "properties": { + "acceptsWrappedTargets": { + "type": "boolean" + }, + "kind": { + "const": "global-wrapper", + "type": "string" + }, + "ordering": { + "enum": [ + "any", + "innermost" + ], + "type": "string" + }, + "scope": { + "const": "media-lanes", + "type": "string" + } + }, + "required": [ + "kind", + "scope", + "ordering", + "acceptsWrappedTargets" + ], + "type": "object" + } + ] + }, + "__schema14": { + "additionalProperties": false, + "properties": { + "max": { + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + }, + "min": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "name": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "ownership": { + "enum": [ + "reference", + "exclusive" + ], + "type": "string" + }, + "sizing": { + "enum": [ + "canvas", + "container" + ], + "type": "string" + } + }, + "required": [ + "name", + "min", + "max", + "ownership", + "sizing" + ], + "type": "object" + }, + "__schema15": { + "additionalProperties": false, + "properties": { + "cardinality": { + "additionalProperties": false, + "properties": { + "max": { + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + }, + "min": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "min" + ], + "type": "object" + }, + "collection": { + "enum": [ + "scalar", + "array" + ], + "type": "string" + }, + "kind": { + "enum": [ + "image", + "video", + "visual" + ], + "type": "string" + }, + "mediaDemand": { + "oneOf": [ + { + "properties": { + "mode": { + "const": "original", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" + }, + { + "properties": { + "mode": { + "const": "tier", + "type": "string" + }, + "tier": { + "anyOf": [ + { + "const": 256, + "type": "number" + }, + { + "const": 512, + "type": "number" + }, + { + "const": 1024, + "type": "number" + }, + { + "const": 2048, + "type": "number" + } + ] + } + }, + "required": [ + "mode", + "tier" + ], + "type": "object" + }, + { + "properties": { + "maxProjectedHeightRatio": { + "exclusiveMinimum": 0, + "maximum": 64, + "type": "number" + }, + "maxProjectedWidthRatio": { + "exclusiveMinimum": 0, + "maximum": 64, + "type": "number" + }, + "minVisibleSourceHeightRatio": { + "default": 1, + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "minVisibleSourceWidthRatio": { + "default": 1, + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "mode": { + "const": "auto", + "type": "string" + } + }, + "required": [ + "mode", + "maxProjectedWidthRatio", + "maxProjectedHeightRatio" + ], + "type": "object" + } + ] + }, + "mimeTypes": { + "items": { + "$ref": "#/$defs/__schema17" + }, + "minItems": 1, + "type": "array" + }, + "name": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "propPath": { + "items": { + "$ref": "#/$defs/__schema16" + }, + "maxItems": 16, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "name", + "propPath", + "kind", + "collection", + "cardinality" + ], + "type": "object" + }, + "__schema16": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "__schema17": { + "minLength": 1, + "type": "string" + }, + "__schema18": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "__schema2": { + "maxLength": 2000, + "type": "string" + }, + "__schema3": { + "enum": [ + "text", + "effects", + "transitions", + "layouts", + "backgrounds", + "ui-blocks", + "scenes" + ], + "type": "string" + }, + "__schema4": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "__schema5": { + "enum": [ + "customer-owned", + "server-native" + ], + "type": "string" + }, + "__schema6": { + "maxLength": 200, + "type": "string" + }, + "__schema7": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "__schema8": { + "description": "Usage examples, as authored. A built-in primitive projects {name, mood?, params?, description?}; an authored component's examples are whatever it wrote, which is why the item is open. One shape for both directions: what you write here is what you read back.", + "items": { + "$ref": "#/$defs/__schema9" + }, + "type": "array" + }, + "__schema9": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } +} - added
Input schema / properties / body / properties / category / $refAdded value: +"#/$defs/__schema3" - removed
Input schema / properties / body / properties / category / enumRemoved value: -[ - "text", - "effects", - "transitions", - "layouts", - "backgrounds", - "ui-blocks", - "scenes" -] - removed
Input schema / properties / body / properties / category / typeRemoved value: -"string" - added
Input schema / properties / body / properties / componentId / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / body / properties / componentId / descriptionRemoved value: -"Caller-chosen stable component id. On create it names the new component. On PUT/PATCH it is optional and, when present, must equal the id in the path; a mismatch is a 400 naming both." - removed
Input schema / properties / body / properties / componentId / maxLengthRemoved value: -200 - removed
Input schema / properties / body / properties / componentId / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / componentId / typeRemoved value: -"string" - added
Input schema / properties / body / properties / description / $refAdded value: +"#/$defs/__schema2" - removed
Input schema / properties / body / properties / description / maxLengthRemoved value: -2000 - removed
Input schema / properties / body / properties / description / typeRemoved value: -"string" - added
Input schema / properties / body / properties / durationInFrames / $refAdded value: +"#/$defs/__schema10" - removed
Input schema / properties / body / properties / durationInFrames / exclusiveMinimumRemoved value: -0 - removed
Input schema / properties / body / properties / durationInFrames / typeRemoved value: -"number" - added
Input schema / properties / body / properties / ejectedFrom / $refAdded value: +"#/$defs/__schema6" - removed
Input schema / properties / body / properties / ejectedFrom / maxLengthRemoved value: -200 - removed
Input schema / properties / body / properties / ejectedFrom / typeRemoved value: -"string" - added
Input schema / properties / body / properties / examples / $refAdded value: +"#/$defs/__schema8" - removed
Input schema / properties / body / properties / examples / descriptionRemoved value: -"Usage examples, as authored. A built-in primitive projects {name, mood?, params?, description?}; an authored component's examples are whatever it wrote, which is why the item is open. One shape for both directions: what you write here is what you read back." - removed
Input schema / properties / body / properties / examples / itemsRemoved value: -{ - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" -} - removed
Input schema / properties / body / properties / examples / typeRemoved value: -"array" - added
Input schema / properties / body / properties / name / $refAdded value: +"#/$defs/__schema1" - removed
Input schema / properties / body / properties / name / maxLengthRemoved value: -200 - removed
Input schema / properties / body / properties / name / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / name / typeRemoved value: -"string" - added
Input schema / properties / body / properties / origin / $refAdded value: +"#/$defs/__schema5" - removed
Input schema / properties / body / properties / origin / enumRemoved value: -[ - "customer-owned", - "server-native" -] - removed
Input schema / properties / body / properties / origin / typeRemoved value: -"string" - added
Input schema / properties / body / properties / propSchema / $refAdded value: +"#/$defs/__schema4" - removed
Input schema / properties / body / properties / propSchema / additionalPropertiesRemoved value: -{} - removed
Input schema / properties / body / properties / propSchema / propertiesRemoved value: -{} - removed
Input schema / properties / body / properties / propSchema / propertyNamesRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / body / properties / propSchema / typeRemoved value: -"object" - added
Input schema / properties / body / properties / source / $refAdded value: +"#/$defs/__schema11" - removed
Input schema / properties / body / properties / source / additionalPropertiesRemoved value: -false - removed
Input schema / properties / body / properties / source / propertiesRemoved value: -{ - "componentId": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$", - "type": "string" - }, - "definition": { - "additionalProperties": false, - "properties": { - "brandBindings": { - "items": { - "additionalProperties": false, - "properties": { - "brandKitPath": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "cssVar": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "fallback": { - "type": "string" - }, - "propPath": { - "maxLength": 128, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "propPath", - "cssVar" - ], - "type": "object" - }, - "type": "array" - }, - "capabilities": { - "items": { - "oneOf": [ - { - "properties": { - "kind": { - "const": "clip", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "properties": { - "kind": { - "const": "cut-transition", - "type": "string" - }, - "protocol": { - "const": "per-child", - "type": "string" - } - }, - "required": [ - "kind", - "protocol" - ], - "type": "object" - }, - { - "properties": { - "kind": { - "const": "content-slots", - "type": "string" - }, - "slots": { - "items": { - "additionalProperties": false, - "properties": { - "max": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "min": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "name": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "ownership": { - "enum": [ - "reference", - "exclusive" - ], - "type": "string" - }, - "sizing": { - "enum": [ - "canvas", - "container" - ], - "type": "string" - } - }, - "required": [ - "name", - "min", - "max", - "ownership", - "sizing" - ], - "type": "object" - }, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "kind", - "slots" - ], - "type": "object" - }, - { - "properties": { - "acceptsWrappedTargets": { - "type": "boolean" - }, - "kind": { - "const": "clip-wrapper", - "type": "string" - }, - "ordering": { - "enum": [ - "any", - "innermost" - ], - "type": "string" - } - }, - "required": [ - "kind", - "ordering", - "acceptsWrappedTargets" - ], - "type": "object" - }, - { - "properties": { - "acceptsWrappedTargets": { - "type": "boolean" - }, - "kind": { - "const": "global-wrapper", - "type": "string" - }, - "ordering": { - "enum": [ - "any", - "innermost" - ], - "type": "string" - }, - "scope": { - "const": "media-lanes", - "type": "string" - } - }, - "required": [ - "kind", - "scope", - "ordering", - "acceptsWrappedTargets" - ], - "type": "object" - } - ] - }, - "minItems": 1, - "type": "array" - }, - "defaults": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "inputSchema": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "mediaBindings": { - "items": { - "additionalProperties": false, - "properties": { - "cardinality": { - "additionalProperties": false, - "properties": { - "max": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "min": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "min" - ], - "type": "object" - }, - "collection": { - "enum": [ - "scalar", - "array" - ], - "type": "string" - }, - "kind": { - "enum": [ - "image", - "video", - "visual" - ], - "type": "string" - }, - "mediaDemand": { - "oneOf": [ - { - "properties": { - "mode": { - "const": "original", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "properties": { - "mode": { - "const": "tier", - "type": "string" - }, - "tier": { - "anyOf": [ - { - "const": 256, - "type": "number" - }, - { - "const": 512, - "type": "number" - }, - { - "const": 1024, - "type": "number" - }, - { - "const": 2048, - "type": "number" - } - ] - } - }, - "required": [ - "mode", - "tier" - ], - "type": "object" - }, - { - "properties": { - "maxProjectedHeightRatio": { - "exclusiveMinimum": 0, - "maximum": 64, - "type": "number" - }, - "maxProjectedWidthRatio": { - "exclusiveMinimum": 0, - "maximum": 64, - "type": "number" - }, - "minVisibleSourceHeightRatio": { - "default": 1, - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "minVisibleSourceWidthRatio": { - "default": 1, - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "mode": { - "const": "auto", - "type": "string" - } - }, - "required": [ - "mode", - "maxProjectedWidthRatio", - "maxProjectedHeightRatio" - ], - "type": "object" - } - ] - }, - "mimeTypes": { - "items": { - "minLength": 1, - "type": "string" - }, - "minItems": 1, - "type": "array" - }, - "name": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "propPath": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "name", - "propPath", - "kind", - "collection", - "cardinality" - ], - "type": "object" - }, - "minItems": 1, - "type": "array" - }, - "preview": { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "durationSec": { - "exclusiveMinimum": 0, - "type": "number" - }, - "frameRate": { - "exclusiveMinimum": 0, - "type": "number" - }, - "mimeType": { - "minLength": 1, - "type": "string" - }, - "sha256": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "url": { - "pattern": "^https:\\/\\/.*", - "type": "string" - } - }, - "required": [ - "url", - "sha256", - "mimeType" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "durationSec": { - "exclusiveMinimum": 0, - "type": "number" - }, - "frameRate": { - "exclusiveMinimum": 0, - "type": "number" - }, - "mediaId": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "mimeType": { - "minLength": 1, - "type": "string" - }, - "sha256": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - } - }, - "required": [ - "mediaId", - "sha256", - "mimeType" - ], - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "format": { - "additionalProperties": {}, - "properties": { - "aspectRatio": { - "enum": [ - "16:9", - "9:16", - "1:1", - "4:5" - ], - "type": "string" - }, - "fps": { - "anyOf": [ - { - "const": 24, - "type": "number" - }, - { - "const": 25, - "type": "number" - }, - { - "const": 30, - "type": "number" - }, - { - "const": 60, - "type": "number" - } - ] - }, - "platform": { - "type": "string" - }, - "resolution": { - "enum": [ - "hd", - "fhd", - "4k" - ], - "type": "string" - } - }, - "required": [ - "aspectRatio" - ], - "type": "object" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "durationSec": { - "exclusiveMinimum": 0, - "type": "number" - }, - "frameRate": { - "exclusiveMinimum": 0, - "type": "number" - }, - "mimeType": { - "minLength": 1, - "type": "string" - }, - "sha256": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "url": { - "pattern": "^https:\\/\\/.*", - "type": "string" - } - }, - "required": [ - "url", - "sha256", - "mimeType" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "durationSec": { - "exclusiveMinimum": 0, - "type": "number" - }, - "frameRate": { - "exclusiveMinimum": 0, - "type": "number" - }, - "mediaId": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "mimeType": { - "minLength": 1, - "type": "string" - }, - "sha256": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - } - }, - "required": [ - "mediaId", - "sha256", - "mimeType" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - }, - "type": "object" - }, - "timing": { - "additionalProperties": false, - "properties": { - "defaultDuration": { - "additionalProperties": false, - "properties": { - "fps": { - "exclusiveMinimum": 0, - "type": "number" - }, - "frames": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "frames", - "fps" - ], - "type": "object" - }, - "maxDurationSec": { - "exclusiveMinimum": 0, - "type": "number" - }, - "minDurationSec": { - "exclusiveMinimum": 0, - "type": "number" - } - }, - "required": [ - "defaultDuration" - ], - "type": "object" - } - }, - "required": [ - "inputSchema", - "defaults", - "brandBindings", - "timing", - "capabilities" - ], - "type": "object" - }, - "manifest": { - "additionalProperties": false, - "properties": { - "alphaPolicy": { - "enum": [ - "requires-transparency", - "allows-opaque" - ], - "type": "string" - }, - "assets": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "kind": { - "enum": [ - "image", - "video", - "audio", - "data", - "visual" - ], - "type": "string" - }, - "mediaDemand": { - "oneOf": [ - { - "properties": { - "mode": { - "const": "original", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "properties": { - "mode": { - "const": "tier", - "type": "string" - }, - "tier": { - "anyOf": [ - { - "const": 256, - "type": "number" - }, - { - "const": 512, - "type": "number" - }, - { - "const": 1024, - "type": "number" - }, - { - "const": 2048, - "type": "number" - } - ] - } - }, - "required": [ - "mode", - "tier" - ], - "type": "object" - }, - { - "properties": { - "maxProjectedHeightRatio": { - "exclusiveMinimum": 0, - "maximum": 64, - "type": "number" - }, - "maxProjectedWidthRatio": { - "exclusiveMinimum": 0, - "maximum": 64, - "type": "number" - }, - "minVisibleSourceHeightRatio": { - "default": 1, - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "minVisibleSourceWidthRatio": { - "default": 1, - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "mode": { - "const": "auto", - "type": "string" - } - }, - "required": [ - "mode", - "maxProjectedWidthRatio", - "maxProjectedHeightRatio" - ], - "type": "object" - } - ] - }, - "mimeTypes": { - "items": { - "minLength": 1, - "type": "string" - }, - "minItems": 1, - "type": "array" - }, - "required": { - "type": "boolean" - } - }, - "required": [ - "kind", - "required" - ], - "type": "object" - }, - "properties": {}, - "propertyNames": { - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "graphics": { - "additionalProperties": false, - "properties": { - "accelerationPreference": { - "enum": [ - "hardware-preferred", - "software-allowed" - ], - "type": "string" - }, - "api": { - "enum": [ - "canvas2d", - "webgl", - "webgl2", - "webgpu" - ], - "type": "string" - }, - "required": { - "const": true, - "type": "boolean" - } - }, - "required": [ - "api", - "required", - "accelerationPreference" - ], - "type": "object" - }, - "hfContract": { - "const": 1, - "type": "number" - }, - "kind": { - "const": "scene", - "type": "string" - }, - "runtime": { - "const": "hyperframes", - "type": "string" - }, - "sceneShot": { - "additionalProperties": false, - "properties": { - "version": { - "const": 2, - "type": "number" - } - }, - "required": [ - "version" - ], - "type": "object" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "runtime", - "hfContract", - "kind", - "assets", - "graphics", - "alphaPolicy" - ], - "type": "object" - }, - "template": { - "maxLength": 2000000, - "minLength": 1, - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } -} - removed
Input schema / properties / body / properties / source / requiredRemoved value: -[ - "version", - "componentId", - "template", - "manifest", - "definition" -] - removed
Input schema / properties / body / properties / source / typeRemoved value: -"object" - added
Input schema / properties / body / properties / tokens / $refAdded value: +"#/$defs/__schema7" - removed
Input schema / properties / body / properties / tokens / additionalPropertiesRemoved value: -{} - removed
Input schema / properties / body / properties / tokens / propertiesRemoved value: -{} - removed
Input schema / properties / body / properties / tokens / propertyNamesRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / body / properties / tokens / typeRemoved value: -"object" - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema18" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
create_project27 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "__schema1": { + "type": "string" + }, + "__schema2": { + "additionalProperties": {}, + "properties": { + "aspectRatio": { + "enum": [ + "16:9", + "9:16", + "1:1", + "4:5" + ], + "type": "string" + }, + "fps": { + "anyOf": [ + { + "const": 24, + "type": "number" + }, + { + "const": 25, + "type": "number" + }, + { + "const": 30, + "type": "number" + }, + { + "const": 60, + "type": "number" + } + ] + }, + "platform": { + "type": "string" + }, + "resolution": { + "enum": [ + "hd", + "fhd", + "4k" + ], + "type": "string" + } + }, + "required": [ + "aspectRatio" + ], + "type": "object" + }, + "__schema3": { + "minLength": 1, + "type": "string" + }, + "__schema4": { + "deprecated": true, + "exclusiveMinimum": 0, + "type": "number" + }, + "__schema5": { + "deprecated": true, + "exclusiveMinimum": 0, + "type": "number" + }, + "__schema6": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / body / properties / brandKitId / $refAdded value: +"#/$defs/__schema3" - removed
Input schema / properties / body / properties / brandKitId / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / brandKitId / typeRemoved value: -"string" - added
Input schema / properties / body / properties / description / $refAdded value: +"#/$defs/__schema1" - removed
Input schema / properties / body / properties / description / typeRemoved value: -"string" - added
Input schema / properties / body / properties / format / $refAdded value: +"#/$defs/__schema2" - removed
Input schema / properties / body / properties / format / additionalPropertiesRemoved value: -{} - removed
Input schema / properties / body / properties / format / propertiesRemoved value: -{ - "aspectRatio": { - "enum": [ - "16:9", - "9:16", - "1:1", - "4:5" - ], - "type": "string" - }, - "fps": { - "anyOf": [ - { - "const": 24, - "type": "number" - }, - { - "const": 25, - "type": "number" - }, - { - "const": 30, - "type": "number" - }, - { - "const": 60, - "type": "number" - } - ] - }, - "platform": { - "type": "string" - }, - "resolution": { - "enum": [ - "hd", - "fhd", - "4k" - ], - "type": "string" - } -} - removed
Input schema / properties / body / properties / format / requiredRemoved value: -[ - "aspectRatio" -] - removed
Input schema / properties / body / properties / format / typeRemoved value: -"object" - added
Input schema / properties / body / properties / height / $refAdded value: +"#/$defs/__schema5" - removed
Input schema / properties / body / properties / height / deprecatedRemoved value: -true - removed
Input schema / properties / body / properties / height / exclusiveMinimumRemoved value: -0 - removed
Input schema / properties / body / properties / height / typeRemoved value: -"number" - added
Input schema / properties / body / properties / name / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / body / properties / name / maxLengthRemoved value: -200 - removed
Input schema / properties / body / properties / name / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / name / typeRemoved value: -"string" - added
Input schema / properties / body / properties / width / $refAdded value: +"#/$defs/__schema4" - removed
Input schema / properties / body / properties / width / deprecatedRemoved value: -true - removed
Input schema / properties / body / properties / width / exclusiveMinimumRemoved value: -0 - removed
Input schema / properties / body / properties / width / typeRemoved value: -"number" - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema6" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
create_render28 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "minLength": 1, + "type": "string" + }, + "__schema1": { + "description": "Target a specific composition in the project; defaults to the project's active composition.", + "minLength": 1, + "type": "string" + }, + "__schema2": { + "description": "Compose-session id: render that session's SCRATCH composition instead of the active one. Mutually exclusive with `compositionId`. An unknown, foreign or scratch-less session is a 404, never the active composition.", + "type": "string" + }, + "__schema3": { + "additionalProperties": {}, + "properties": { + "aspectRatio": { + "enum": [ + "16:9", + "9:16", + "1:1", + "4:5" + ], + "type": "string" + }, + "fps": { + "anyOf": [ + { + "const": 24, + "type": "number" + }, + { + "const": 25, + "type": "number" + }, + { + "const": 30, + "type": "number" + }, + { + "const": 60, + "type": "number" + } + ] + }, + "platform": { + "type": "string" + }, + "resolution": { + "enum": [ + "hd", + "fhd", + "4k" + ], + "type": "string" + } + }, + "required": [ + "aspectRatio" + ], + "type": "object" + }, + "__schema4": { + "enum": [ + "interactive", + "standard", + "background" + ], + "type": "string" + }, + "__schema5": { + "enum": [ + "preview", + "final" + ], + "type": "string" + }, + "__schema6": { + "anyOf": [ + { + "minLength": 1, + "type": "string" + }, + { + "type": "null" + } + ] + }, + "__schema7": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / body / properties / brandKitId / $refAdded value: +"#/$defs/__schema6" - removed
Input schema / properties / body / properties / brandKitId / anyOfRemoved value: -[ - { - "minLength": 1, - "type": "string" - }, - { - "type": "null" - } -] - added
Input schema / properties / body / properties / clipSuggestionId / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / body / properties / clipSuggestionId / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / clipSuggestionId / typeRemoved value: -"string" - added
Input schema / properties / body / properties / compositionId / $refAdded value: +"#/$defs/__schema1" - removed
Input schema / properties / body / properties / compositionId / descriptionRemoved value: -"Target a specific composition in the project; defaults to the project's active composition." - removed
Input schema / properties / body / properties / compositionId / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / compositionId / typeRemoved value: -"string" - added
Input schema / properties / body / properties / format / $refAdded value: +"#/$defs/__schema3" - removed
Input schema / properties / body / properties / format / additionalPropertiesRemoved value: -{} - removed
Input schema / properties / body / properties / format / propertiesRemoved value: -{ - "aspectRatio": { - "enum": [ - "16:9", - "9:16", - "1:1", - "4:5" - ], - "type": "string" - }, - "fps": { - "anyOf": [ - { - "const": 24, - "type": "number" - }, - { - "const": 25, - "type": "number" - }, - { - "const": 30, - "type": "number" - }, - { - "const": 60, - "type": "number" - } - ] - }, - "platform": { - "type": "string" - }, - "resolution": { - "enum": [ - "hd", - "fhd", - "4k" - ], - "type": "string" - } -} - removed
Input schema / properties / body / properties / format / requiredRemoved value: -[ - "aspectRatio" -] - removed
Input schema / properties / body / properties / format / typeRemoved value: -"object" - added
Input schema / properties / body / properties / intent / $refAdded value: +"#/$defs/__schema5" - removed
Input schema / properties / body / properties / intent / enumRemoved value: -[ - "preview", - "final" -] - removed
Input schema / properties / body / properties / intent / typeRemoved value: -"string" - added
Input schema / properties / body / properties / priority / $refAdded value: +"#/$defs/__schema4" - removed
Input schema / properties / body / properties / priority / enumRemoved value: -[ - "interactive", - "standard", - "background" -] - removed
Input schema / properties / body / properties / priority / typeRemoved value: -"string" - added
Input schema / properties / body / properties / session_id / $refAdded value: +"#/$defs/__schema2" - removed
Input schema / properties / body / properties / session_id / descriptionRemoved value: -"Compose-session id: render that session's SCRATCH composition instead of the active one. Mutually exclusive with `compositionId`. An unknown, foreign or scratch-less session is a 404, never the active composition." - removed
Input schema / properties / body / properties / session_id / typeRemoved value: -"string" - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema7" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
create_upload19 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "__schema1": { + "enum": [ + "video/mp4", + "video/quicktime", + "video/x-matroska", + "video/webm", + "audio/mpeg", + "audio/wav", + "audio/x-wav", + "audio/mp4", + "audio/aac", + "image/png", + "image/jpeg", + "image/webp", + "image/gif", + "image/svg+xml", + "application/json", + "font/ttf", + "font/otf", + "font/woff", + "font/woff2" + ], + "type": "string" + }, + "__schema2": { + "exclusiveMinimum": 0, + "maximum": 5368709120, + "type": "integer" + }, + "__schema3": { + "minLength": 1, + "type": "string" + }, + "__schema4": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / body / properties / contentType / $refAdded value: +"#/$defs/__schema1" - removed
Input schema / properties / body / properties / contentType / enumRemoved value: -[ - "video/mp4", - "video/quicktime", - "video/x-matroska", - "video/webm", - "audio/mpeg", - "audio/wav", - "audio/x-wav", - "audio/mp4", - "audio/aac", - "image/png", - "image/jpeg", - "image/webp", - "image/gif", - "image/svg+xml", - "application/json", - "font/ttf", - "font/otf", - "font/woff", - "font/woff2" -] - removed
Input schema / properties / body / properties / contentType / typeRemoved value: -"string" - added
Input schema / properties / body / properties / filename / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / body / properties / filename / maxLengthRemoved value: -500 - removed
Input schema / properties / body / properties / filename / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / filename / typeRemoved value: -"string" - added
Input schema / properties / body / properties / projectId / $refAdded value: +"#/$defs/__schema3" - removed
Input schema / properties / body / properties / projectId / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / projectId / typeRemoved value: -"string" - added
Input schema / properties / body / properties / size / $refAdded value: +"#/$defs/__schema2" - removed
Input schema / properties / body / properties / size / exclusiveMinimumRemoved value: -0 - removed
Input schema / properties / body / properties / size / maximumRemoved value: -5368709120 - removed
Input schema / properties / body / properties / size / typeRemoved value: -"integer" - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema4" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
create_webhook18 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "example": "https://hooks.example.com/cueframe", + "format": "uri", + "minLength": 1, + "type": "string" + }, + "__schema1": { + "items": { + "$ref": "#/$defs/__schema2" + }, + "minItems": 1, + "type": "array" + }, + "__schema2": { + "enum": [ + "media.transcribed", + "media.completed", + "suggest.completed", + "session.mux.complete", + "session.mux.failed", + "render.completed", + "compose.completed", + "checkpoint.ready", + "project.updated", + "composition.updated", + "webhook.test" + ], + "type": "string" + }, + "__schema3": { + "maximum": 60000, + "minimum": 0, + "type": "integer" + }, + "__schema4": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / body / properties / events / $refAdded value: +"#/$defs/__schema1" - removed
Input schema / properties / body / properties / events / itemsRemoved value: -{ - "enum": [ - "media.transcribed", - "media.completed", - "suggest.completed", - "session.mux.complete", - "session.mux.failed", - "render.completed", - "compose.completed", - "checkpoint.ready", - "project.updated", - "composition.updated", - "webhook.test" - ], - "type": "string" -} - removed
Input schema / properties / body / properties / events / minItemsRemoved value: -1 - removed
Input schema / properties / body / properties / events / typeRemoved value: -"array" - added
Input schema / properties / body / properties / settleMs / $refAdded value: +"#/$defs/__schema3" - removed
Input schema / properties / body / properties / settleMs / maximumRemoved value: -60000 - removed
Input schema / properties / body / properties / settleMs / minimumRemoved value: -0 - removed
Input schema / properties / body / properties / settleMs / typeRemoved value: -"integer" - added
Input schema / properties / body / properties / url / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / body / properties / url / exampleRemoved value: -"https://hooks.example.com/cueframe" - removed
Input schema / properties / body / properties / url / formatRemoved value: -"uri" - removed
Input schema / properties / body / properties / url / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / url / typeRemoved value: -"string" - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema4" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
delete_brief5 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
delete_composition5 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
delete_critic5 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
delete_media5 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
delete_project5 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
delete_webhook5 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
derive_composition18 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "description": "Source composition to reframe a sibling from.", + "minLength": 1, + "type": "string" + }, + "__schema1": { + "additionalProperties": { + "$ref": "#/$defs/__schema6" + }, + "description": "The target output format (aspectRatio + optional fps/resolution) for the new sibling.", + "properties": { + "aspectRatio": { + "$ref": "#/$defs/__schema2" + }, + "fps": { + "$ref": "#/$defs/__schema3" + }, + "platform": { + "$ref": "#/$defs/__schema5" + }, + "resolution": { + "$ref": "#/$defs/__schema4" + } + }, + "required": [ + "aspectRatio" + ], + "type": "object" + }, + "__schema2": { + "enum": [ + "16:9", + "9:16", + "1:1", + "4:5" + ], + "type": "string" + }, + "__schema3": { + "anyOf": [ + { + "const": 24, + "type": "number" + }, + { + "const": 25, + "type": "number" + }, + { + "const": 30, + "type": "number" + }, + { + "const": 60, + "type": "number" + } + ] + }, + "__schema4": { + "enum": [ + "hd", + "fhd", + "4k" + ], + "type": "string" + }, + "__schema5": { + "type": "string" + }, + "__schema6": {}, + "__schema7": { + "description": "Required: the source composition's strong etag the caller last saw. Missing is refused with 428 precondition_required; a source that changed since is 409 stale_etag.", + "type": "string" + }, + "__schema8": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / body / properties / fromCompositionId / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / body / properties / fromCompositionId / descriptionRemoved value: -"Source composition to reframe a sibling from." - removed
Input schema / properties / body / properties / fromCompositionId / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / fromCompositionId / typeRemoved value: -"string" - added
Input schema / properties / body / properties / if_match / $refAdded value: +"#/$defs/__schema7" - removed
Input schema / properties / body / properties / if_match / descriptionRemoved value: -"Required: the source composition's strong etag the caller last saw. Missing is refused with 428 precondition_required; a source that changed since is 409 stale_etag." - removed
Input schema / properties / body / properties / if_match / typeRemoved value: -"string" - added
Input schema / properties / body / properties / targetFormat / $refAdded value: +"#/$defs/__schema1" - removed
Input schema / properties / body / properties / targetFormat / additionalPropertiesRemoved value: -{} - removed
Input schema / properties / body / properties / targetFormat / descriptionRemoved value: -"The target output format (aspectRatio + optional fps/resolution) for the new sibling." - removed
Input schema / properties / body / properties / targetFormat / propertiesRemoved value: -{ - "aspectRatio": { - "enum": [ - "16:9", - "9:16", - "1:1", - "4:5" - ], - "type": "string" - }, - "fps": { - "anyOf": [ - { - "const": 24, - "type": "number" - }, - { - "const": 25, - "type": "number" - }, - { - "const": 30, - "type": "number" - }, - { - "const": 60, - "type": "number" - } - ] - }, - "platform": { - "type": "string" - }, - "resolution": { - "enum": [ - "hd", - "fhd", - "4k" - ], - "type": "string" - } -} - removed
Input schema / properties / body / properties / targetFormat / requiredRemoved value: -[ - "aspectRatio" -] - removed
Input schema / properties / body / properties / targetFormat / typeRemoved value: -"object" - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema8" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
describe_composition_ops3 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "type": "string" + } +} - added
Input schema / properties / type / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / type / typeRemoved value: -"string"
- Changed
editorial_apply300 fields changed- removed
Input schema / $defs / __schema0 / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - }, - { - "items": { - "$ref": "#/$defs/__schema0" - }, - "type": "array" - }, - { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } -] - added
Input schema / $defs / __schema0 / constAdded value: +3 - added
Input schema / $defs / __schema0 / typeAdded value: +"number" - removed
Input schema / $defs / __schema1 / anyOfRemoved value: -[ - { - "additionalProperties": false, - "properties": { - "children": { - "items": { - "$ref": "#/$defs/__schema1" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "group", - "type": "string" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - } - }, - "required": [ - "kind", - "id", - "children" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "laptop", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "openAngle": { - "maximum": 3.141592653589793, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema2" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 4000, - "minimum": 200, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "openAngle" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "phone", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema2" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 2000, - "minimum": 80, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "cornerRadius": { - "default": 32, - "minimum": 0, - "type": "number" - }, - "edgeRadius": { - "default": 15, - "minimum": 0, - "type": "number" - }, - "finish": { - "default": "satin", - "enum": [ - "satin", - "brushed" - ], - "type": "string" - }, - "height": { - "maximum": 8000, - "minimum": 40, - "type": "number" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "slab", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema2" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "thickness": { - "default": 32, - "maximum": 200, - "minimum": 4, - "type": "number" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 8000, - "minimum": 40, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "height" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "backface": { - "default": "hidden", - "enum": [ - "hidden", - "visible" - ], - "type": "string" - }, - "depthWrite": { - "default": true, - "type": "boolean" - }, - "fit": { - "default": "contain", - "enum": [ - "contain", - "cover" - ], - "type": "string" - }, - "height": { - "maximum": 8000, - "minimum": 40, - "type": "number" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "page", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema2" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "transparency": { - "default": "straight", - "enum": [ - "straight", - "premultiplied", - "opaque" - ], - "type": "string" - }, - "width": { - "maximum": 8000, - "minimum": 40, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "height", - "surfaces" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "align": { - "default": "center", - "enum": [ - "left", - "center", - "right" - ], - "type": "string" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "fontFamily": { - "anyOf": [ - { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9 _.\\-]*$", - "type": "string" - }, - { - "enum": [ - "$brand:fonts.heading", - "$brand:fonts.body", - "$brand:fonts.caption" - ], - "type": "string" - } - ] - }, - "fontSize": { - "maximum": 800, - "minimum": 8, - "type": "number" - }, - "fontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "text", - "type": "string" - }, - "letterSpacing": { - "default": 0, - "maximum": 40, - "minimum": -20, - "type": "number" - }, - "lineHeight": { - "default": 1.2, - "maximum": 3, - "minimum": 0.6, - "type": "number" - }, - "lines": { - "items": { - "additionalProperties": false, - "properties": { - "runs": { - "items": { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "emphasis": { - "type": "boolean" - }, - "text": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^\\r\\n]+$", - "type": "string" - } - }, - "required": [ - "text" - ], - "type": "object" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "runs" - ], - "type": "object" - }, - "maxItems": 24, - "minItems": 1, - "type": "array" - }, - "maxWidth": { - "exclusiveMinimum": 0, - "type": "number" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "space": { - "const": "world", - "type": "string" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - } - }, - "required": [ - "id", - "kind", - "lines", - "fontFamily", - "fontWeight", - "fontStyle", - "fontSize", - "color", - "space" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "align": { - "default": "center", - "enum": [ - "left", - "center", - "right" - ], - "type": "string" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "fontFamily": { - "anyOf": [ - { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9 _.\\-]*$", - "type": "string" - }, - { - "enum": [ - "$brand:fonts.heading", - "$brand:fonts.body", - "$brand:fonts.caption" - ], - "type": "string" - } - ] - }, - "fontSize": { - "maximum": 800, - "minimum": 8, - "type": "number" - }, - "fontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "text", - "type": "string" - }, - "letterSpacing": { - "default": 0, - "maximum": 40, - "minimum": -20, - "type": "number" - }, - "lineHeight": { - "default": 1.2, - "maximum": 3, - "minimum": 0.6, - "type": "number" - }, - "lines": { - "items": { - "additionalProperties": false, - "properties": { - "runs": { - "items": { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "emphasis": { - "type": "boolean" - }, - "text": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^\\r\\n]+$", - "type": "string" - } - }, - "required": [ - "text" - ], - "type": "object" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "runs" - ], - "type": "object" - }, - "maxItems": 24, - "minItems": 1, - "type": "array" - }, - "maxWidth": { - "exclusiveMinimum": 0, - "type": "number" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "rotation": { - "default": 0, - "type": "number" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - }, - "space": { - "const": "screen", - "type": "string" - }, - "x": { - "type": "number" - }, - "y": { - "type": "number" - } - }, - "required": [ - "id", - "kind", - "lines", - "fontFamily", - "fontWeight", - "fontStyle", - "fontSize", - "color", - "space", - "x", - "y" - ], - "type": "object" - } -] - added
Input schema / $defs / __schema1 / constAdded value: +3 - added
Input schema / $defs / __schema1 / typeAdded value: +"number" - added
Input schema / $defs / __schema10Added value: +{ + "oneOf": [ + { + "additionalProperties": {}, + "properties": { + "anchor": { + "additionalProperties": {}, + "properties": { + "clipId": { + "minLength": 1, + "type": "string" + }, + "offsetMs": { + "type": "number" + } + }, + "required": [ + "clipId", + "offsetMs" + ], + "type": "object" + }, + "audioRole": { + "description": "Mix role. A role sets the clip's default gain when it has no `volume` or `volumeDb`: vo 0 dB, sfx -6 dB, music -8 dB (-16 dB when any vo clip exists), ambience -22 dB. Set `volumeDb: 0` to keep a role and play the source at its own level.", + "enum": [ + "sfx", + "music", + "vo", + "ambience" + ], + "type": "string" + }, + "duck": { + "additionalProperties": {}, + "properties": { + "attackMs": { + "minimum": 0, + "type": "number" + }, + "duckDb": { + "maximum": 0, + "type": "number" + }, + "releaseMs": { + "minimum": 0, + "type": "number" + }, + "windows": { + "items": { + "additionalProperties": {}, + "properties": { + "endMs": { + "type": "number" + }, + "startMs": { + "type": "number" + } + }, + "required": [ + "startMs", + "endMs" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "duckDb", + "attackMs", + "releaseMs" + ], + "type": "object" + }, + "excludedRanges": { + "items": { + "additionalProperties": {}, + "properties": { + "end": { + "minimum": 0, + "type": "number" + }, + "reason": { + "type": "string" + }, + "start": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "type": "array" + }, + "fadeInMs": { + "minimum": 0, + "type": "number" + }, + "fadeOutMs": { + "minimum": 0, + "type": "number" + }, + "kenBurns": { + "description": "Still-image motion. When unset, an image clip slowly pushes in (`in`) unless its fit is `contain` or it keyframes scale, position or rotation, so a keyframed clip renders exactly its keyframed values; set `none` for a still that holds.", + "enum": [ + "in", + "out", + "pan-l", + "pan-r", + "none" + ], + "type": "string" + }, + "kind": { + "const": "media", + "type": "string" + }, + "loop": { + "type": "boolean" + }, + "mediaId": { + "type": "string" + }, + "muted": { + "type": "boolean" + }, + "playbackRate": { + "exclusiveMinimum": 0, + "type": "number" + }, + "reframe": { + "additionalProperties": {}, + "properties": { + "segments": { + "items": { + "$ref": "#/$defs/__schema11" + }, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "segments" + ], + "type": "object" + }, + "sync": { + "enum": [ + "video", + "independent" + ], + "type": "string" + }, + "trim": { + "additionalProperties": {}, + "properties": { + "end": { + "minimum": 0, + "type": "number" + }, + "start": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "volume": { + "maximum": 4, + "minimum": 0, + "type": "number" + }, + "volumeDb": { + "type": "number" + } + }, + "required": [ + "kind", + "mediaId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "componentId": { + "minLength": 1, + "type": "string" + }, + "execution": { + "$ref": "#/$defs/__schema23" + }, + "kind": { + "const": "component", + "type": "string" + }, + "placement": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "clip", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "content-slots", + "type": "string" + }, + "slots": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "ownership": { + "enum": [ + "reference", + "exclusive" + ], + "type": "string" + }, + "targetClipIds": { + "items": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "targetClipIds", + "ownership" + ], + "type": "object" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "kind", + "slots" + ], + "type": "object" + } + ] + }, + "props": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "retired": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "zPlane": { + "enum": [ + "front", + "behind-subject" + ], + "type": "string" + } + }, + "required": [ + "kind", + "componentId", + "props" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "anchor": { + "additionalProperties": {}, + "properties": { + "space": { + "const": "scene", + "type": "string" + }, + "x": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "space", + "x", + "y" + ], + "type": "object" + }, + "kind": { + "const": "overlay", + "type": "string" + }, + "parallax": { + "maximum": 0.3, + "minimum": -0.3, + "type": "number" + }, + "params": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "pattern": "^(?!custom$)", + "type": "string" + }, + "zPlane": { + "enum": [ + "front", + "behind-subject" + ], + "type": "string" + } + }, + "required": [ + "kind", + "primitiveId", + "params" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "component": { + "$ref": "#/$defs/__schema23" + }, + "kind": { + "const": "effect", + "type": "string" + }, + "params": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "type": "string" + }, + "targetTrackIds": { + "items": { + "$ref": "#/$defs/__schema25" + }, + "minItems": 1, + "type": "array" + }, + "wrapperOrder": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "html": { + "description": "Self-contained card markup sized to the format's pixel frame. Motion comes from frame-driven vars, never @keyframes or transition: --cf-frame, --cf-t (seconds), --cf-fps, --cf-duration, --cf-progress, --cf-ease, --cf-enter, --cf-exit. Visible copy goes in the html as plain text. Wrap a run in <span data-cf-split=\"words\"> or \"chars\" and each unit becomes its own span carrying --cf-i (its index, the group carries --cf-n), so one rule staggers it (in chars, spaces count as units), e.g. opacity:clamp(0,calc(var(--cf-t)*4 - var(--cf-i)*.3),1). save_as_template binds that copy with textParams match.", + "minLength": 1, + "type": "string" + }, + "kind": { + "const": "card", + "type": "string" + }, + "tokens": { + "$ref": "#/$defs/__schema26", + "description": "Style values the html reads as CSS custom properties: key x becomes --cf-x, so never put dashes in a key. Use tokens for colours and sizes, not visible copy.", + "propertyNames": { + "type": "string" + } + }, + "zPlane": { + "const": "front", + "type": "string" + } + }, + "required": [ + "kind", + "html" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "compositionId": { + "minLength": 1, + "type": "string" + }, + "kind": { + "const": "composition", + "type": "string" + }, + "trim": { + "additionalProperties": {}, + "properties": { + "end": { + "minimum": 0, + "type": "number" + }, + "start": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "compositionId" + ], + "type": "object" + } + ] +} - added
Input schema / $defs / __schema100Added value: +{ + "additionalProperties": false, + "description": "Merge style overrides (font/color/position/emphasis) onto the composition's caption layer. Partial — omitted fields keep their current value; creates the caption container if absent.", + "properties": { + "style": { + "$ref": "#/$defs/__schema102" + }, + "type": { + "$ref": "#/$defs/__schema101" + } + }, + "required": [ + "type", + "style" + ], + "type": "object" +} - added
Input schema / $defs / __schema101Added value: +{ + "const": "setCaptionStyle", + "type": "string" +} - added
Input schema / $defs / __schema102Added value: +{ + "additionalProperties": {}, + "properties": { + "annotationColor": { + "type": "string" + }, + "annotationStrokeWidth": { + "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.", + "maximum": 12, + "minimum": 0.5, + "type": "number" + }, + "annotationTexture": { + "description": "Native annotation stroke finish; default clean.", + "enum": [ + "clean", + "pencil" + ], + "type": "string" + }, + "backgroundColor": { + "type": "string" + }, + "color": { + "minLength": 1, + "type": "string" + }, + "emphasisColor": { + "type": "string" + }, + "emphasisFontFamily": { + "type": "string" + }, + "emphasisFontStyle": { + "enum": [ + "normal", + "italic" + ], + "type": "string" + }, + "emphasisFontWeight": { + "maximum": 900, + "minimum": 100, + "type": "integer" + }, + "emphasisGradient": { + "type": "string" + }, + "emphasisLetterSpacing": { + "type": "number" + }, + "emphasisPlate": { + "type": "boolean" + }, + "emphasisPlateAltColor": { + "type": "string" + }, + "emphasisPlateAltTextColor": { + "type": "string" + }, + "emphasisPlateColor": { + "type": "string" + }, + "emphasisPlatePadX": { + "type": "number" + }, + "emphasisPlatePadY": { + "type": "number" + }, + "emphasisPlateRadius": { + "minimum": 0, + "type": "number" + }, + "emphasisPlateReveal": { + "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.", + "type": "boolean" + }, + "emphasisPlateTextColor": { + "type": "string" + }, + "emphasisScale": { + "exclusiveMinimum": 0, + "type": "number" + }, + "emphasisTextTransform": { + "enum": [ + "none", + "uppercase", + "capitalize" + ], + "type": "string" + }, + "entrance": { + "enum": [ + "none", + "fade", + "word-pop", + "stagger-up" + ], + "type": "string" + }, + "entranceMs": { + "minimum": 0, + "type": "number" + }, + "entranceStaggerMs": { + "minimum": 0, + "type": "number" + }, + "exitMs": { + "minimum": 0, + "type": "number" + }, + "fontFamily": { + "minLength": 1, + "type": "string" + }, + "fontSize": { + "description": "Font size as % of composition height (1-15, default 5). NOT px.", + "maximum": 15, + "minimum": 1, + "type": "number" + }, + "fontWeight": { + "maximum": 900, + "minimum": 100, + "type": "integer" + }, + "highlightColor": { + "minLength": 1, + "type": "string" + }, + "letterSpacing": { + "description": "Base caption glyph spacing in pixels.", + "maximum": 20, + "minimum": -5, + "type": "number" + }, + "lineGapEm": { + "description": "Gap between caption lines as a multiple of base font size; default 0.25.", + "maximum": 2, + "minimum": 0, + "type": "number" + }, + "maxWidthPercent": { + "exclusiveMinimum": 0, + "maximum": 100, + "type": "number" + }, + "plate": { + "enum": [ + "glass", + "solid", + "none" + ], + "type": "string" + }, + "position": { + "enum": [ + "top", + "center", + "bottom" + ], + "type": "string" + }, + "region": { + "additionalProperties": { + "$ref": "#/$defs/__schema107" + }, + "description": "Optional caption layout box {x,y,w,h} in normalized output-frame coordinates. Overrides position; text starts at its top edge and wraps/pages within its width and height.", + "properties": { + "h": { + "$ref": "#/$defs/__schema106" + }, + "w": { + "$ref": "#/$defs/__schema105" + }, + "x": { + "$ref": "#/$defs/__schema103" + }, + "y": { + "$ref": "#/$defs/__schema104" + } + }, + "required": [ + "x", + "y", + "w", + "h" + ], + "type": "object" + }, + "textTransform": { + "enum": [ + "none", + "uppercase", + "capitalize" + ], + "type": "string" + }, + "wordGapEm": { + "description": "Gap between caption runs as a multiple of base font size; default 0.35.", + "maximum": 2, + "minimum": 0, + "type": "number" + } + }, + "type": "object" +} - added
Input schema / $defs / __schema103Added value: +{ + "maximum": 1, + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema104Added value: +{ + "maximum": 1, + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema105Added value: +{ + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" +} - added
Input schema / $defs / __schema106Added value: +{ + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" +} - added
Input schema / $defs / __schema107Added value: +{} - added
Input schema / $defs / __schema108Added value: +{ + "additionalProperties": false, + "description": "Set the caption compositing plane. Use `behind-subject` to place captions behind the segmented foreground subject; use `front` for conventional captions above all video layers.", + "properties": { + "type": { + "$ref": "#/$defs/__schema109" + }, + "zPlane": { + "$ref": "#/$defs/__schema110" + } + }, + "required": [ + "type", + "zPlane" + ], + "type": "object" +} - added
Input schema / $defs / __schema109Added value: +{ + "const": "setCaptionDepth", + "type": "string" +} - added
Input schema / $defs / __schema11Added value: +{ + "additionalProperties": {}, + "properties": { + "bias": { + "additionalProperties": { + "$ref": "#/$defs/__schema22" + }, + "description": "Optional FINE framing nudge off the focus center, source-normalized in [−0.3, 0.3]. A small correction (headroom, rule-of-thirds), NOT a reframe — use `focus`/`zoom` for the actual shot. Omit (treated as 0) to sit dead-center on the focus.", + "properties": { + "x": { + "$ref": "#/$defs/__schema20" + }, + "y": { + "$ref": "#/$defs/__schema21" + } + }, + "required": [ + "x", + "y" + ], + "type": "object" + }, + "ease": { + "additionalProperties": { + "$ref": "#/$defs/__schema19" + }, + "description": "Zoom/center ramp DURATIONS in SECONDS at this segment's edges — NOT a unitless 0–1 curve. ~0.3–0.6s reads as a snappy push; >1s reads sluggish. Keep `in` + `out` ≤ the segment's duration (endSec − startSec): the two edges share the span, so to ramp across the WHOLE segment set one edge to the full duration and the other to 0. Omit for an instant cut to this framing.", + "properties": { + "in": { + "$ref": "#/$defs/__schema17" + }, + "out": { + "$ref": "#/$defs/__schema18" + } + }, + "required": [ + "in", + "out" + ], + "type": "object" + }, + "endSec": { + "description": "Segment END in seconds, clip-relative. The span (endSec − startSec) is this segment's duration — the window `ease` ramps over.", + "exclusiveMinimum": 0, + "type": "number" + }, + "focus": { + "description": "WHO/WHAT the camera tracks this segment (the reframe center), selected by `mode`: `frame-center` = no tracking, hold the geometric center (static/graphic footage, or a pure zoom); `point` = lock to a fixed source-normalized {x,y} (a non-moving on-screen element); `face` = track a detected face by `faceId` (from get_media_context), with optional `shotScale` close|standard|wide for tightness; `all-faces` = frame the bounding box of every detected face (group/ensemble shots); `active-speaker` = follow whoever is speaking (diarized talking-head / podcast). Pick by what the beat is about; pair with `zoom` for how tight.", + "oneOf": [ + { + "$ref": "#/$defs/__schema12" + }, + { + "$ref": "#/$defs/__schema13" + }, + { + "$ref": "#/$defs/__schema14" + }, + { + "$ref": "#/$defs/__schema15" + }, + { + "$ref": "#/$defs/__schema16" + } + ] + }, + "intent": { + "description": "Optional editorial LABEL for diff/log readability (e.g. 'speaker-tight', 'wide-context'). Cosmetic — NOT honored by the derive math and excluded from the variant cache key.", + "type": "string" + }, + "startSec": { + "description": "Segment START in seconds, clip-relative. Segments tile the clip's duration in order.", + "minimum": 0, + "type": "number" + }, + "zoom": { + "description": "How TIGHT the framing is — the fraction of the source the output viewport shows. <1 punches IN (a smaller source fraction, magnified to fill the frame); 1 = the full frame (no crop). ~0.6–0.8 is a moderate push-in, ~0.5 a tight close-up, 0.1 the maximum zoom. There is NO zoom-OUT past the full frame (max 1). Omit for the full frame. MUTUALLY EXCLUSIVE with `focus.shotScale`: a face-tracked shot is sized EITHER by the editorial scale (shotScale, calibrated to the detected face) OR by an explicit zoom — never both.", + "maximum": 1, + "minimum": 0.1, + "type": "number" + } + }, + "required": [ + "startSec", + "endSec", + "focus" + ], + "type": "object" +} - added
Input schema / $defs / __schema110Added value: +{ + "enum": [ + "front", + "behind-subject" + ], + "type": "string" +} - added
Input schema / $defs / __schema111Added value: +{ + "additionalProperties": false, + "description": "Replace the caption SEGMENTS wholesale — author the word-timed caption layer directly (each segment = one sentence/page of `words` with timeline-ms `startMs`/`endMs`, optional `emphasis`). This is how a client with its OWN word timings (e.g. a generated VO take) gets word-synced captions without a source transcript; the compose lane's transcript slice writes the same layer. `style`, when given, merges with setCaptionStyle semantics; an omitted style keeps the existing one. Renderer paginates within a segment and never pools words across two — keep segments sentence-bounded.", + "properties": { + "segments": { + "$ref": "#/$defs/__schema113" + }, + "style": { + "$ref": "#/$defs/__schema114" + }, + "type": { + "$ref": "#/$defs/__schema112" + } + }, + "required": [ + "type", + "segments" + ], + "type": "object" +} - added
Input schema / $defs / __schema112Added value: +{ + "const": "setCaptions", + "type": "string" +} - added
Input schema / $defs / __schema113Added value: +{ + "items": { + "additionalProperties": {}, + "properties": { + "words": { + "items": { + "additionalProperties": {}, + "properties": { + "annotate": { + "enum": [ + "circle", + "underline" + ], + "type": "string" + }, + "emphasis": { + "type": "boolean" + }, + "endMs": { + "description": "Word end on the composition timeline, in milliseconds.", + "minimum": 0, + "type": "number" + }, + "startMs": { + "description": "Word start on the composition timeline, in milliseconds.", + "minimum": 0, + "type": "number" + }, + "text": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "text", + "startMs", + "endMs" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "words" + ], + "type": "object" + }, + "type": "array" +} - added
Input schema / $defs / __schema114Added value: +{ + "$ref": "#/$defs/__schema102" +} - added
Input schema / $defs / __schema115Added value: +{ + "additionalProperties": false, + "description": "Replace native caption placements without changing transcript words or timings. Each layout references a half-open word-index range in one saved segment; a one-word range is valid. region places that group independently, optional bounded scale/rotation/style changes its look, and holdThroughWordIndex keeps it visible through a later saved word in the same segment. All words in a placed range occupy one page; rendering refuses a range that cannot fit its box, so enlarge region or split the range. The box reserves horizontal space of 1.6 font sizes and vertical space of 0.8 font sizes for padding, with at most three lines. Unreferenced words keep the default caption layout. Word ranges must not overlap. Reapply after caption regeneration or timeline cuts.", + "properties": { + "layouts": { + "$ref": "#/$defs/__schema117" + }, + "type": { + "$ref": "#/$defs/__schema116" + } + }, + "required": [ + "type", + "layouts" + ], + "type": "object" +} - added
Input schema / $defs / __schema116Added value: +{ + "const": "setCaptionLayouts", + "type": "string" +} - added
Input schema / $defs / __schema117Added value: +{ + "items": { + "additionalProperties": false, + "properties": { + "holdThroughWordIndex": { + "description": "Inclusive saved-word index in this segment. The layout stays visible until that word ends.", + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "region": { + "additionalProperties": {}, + "properties": { + "h": { + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "w": { + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "x": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "x", + "y", + "w", + "h" + ], + "type": "object" + }, + "rotation": { + "maximum": 45, + "minimum": -45, + "type": "number" + }, + "scale": { + "maximum": 4, + "minimum": 0.25, + "type": "number" + }, + "segmentIndex": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "style": { + "additionalProperties": false, + "properties": { + "annotationColor": { + "type": "string" + }, + "annotationStrokeWidth": { + "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.", + "maximum": 12, + "minimum": 0.5, + "type": "number" + }, + "annotationTexture": { + "description": "Native annotation stroke finish; default clean.", + "enum": [ + "clean", + "pencil" + ], + "type": "string" + }, + "backgroundColor": { + "type": "string" + }, + "color": { + "minLength": 1, + "type": "string" + }, + "emphasisColor": { + "type": "string" + }, + "emphasisFontFamily": { + "type": "string" + }, + "emphasisFontStyle": { + "enum": [ + "normal", + "italic" + ], + "type": "string" + }, + "emphasisFontWeight": { + "maximum": 900, + "minimum": 100, + "type": "integer" + }, + "emphasisLetterSpacing": { + "type": "number" + }, + "emphasisPlate": { + "type": "boolean" + }, + "emphasisPlateAltColor": { + "type": "string" + }, + "emphasisPlateAltTextColor": { + "type": "string" + }, + "emphasisPlateColor": { + "type": "string" + }, + "emphasisPlatePadX": { + "type": "number" + }, + "emphasisPlatePadY": { + "type": "number" + }, + "emphasisPlateRadius": { + "minimum": 0, + "type": "number" + }, + "emphasisPlateReveal": { + "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.", + "type": "boolean" + }, + "emphasisPlateTextColor": { + "type": "string" + }, + "emphasisScale": { + "exclusiveMinimum": 0, + "type": "number" + }, + "emphasisTextTransform": { + "enum": [ + "none", + "uppercase", + "capitalize" + ], + "type": "string" + }, + "entrance": { + "enum": [ + "none", + "fade", + "word-pop", + "stagger-up" + ], + "type": "string" + }, + "entranceMs": { + "minimum": 0, + "type": "number" + }, + "entranceStaggerMs": { + "minimum": 0, + "type": "number" + }, + "exitMs": { + "minimum": 0, + "type": "number" + }, + "fontFamily": { + "minLength": 1, + "type": "string" + }, + "fontSize": { + "description": "Font size as % of composition height (1-15, default 5). NOT px.", + "maximum": 15, + "minimum": 1, + "type": "number" + }, + "fontWeight": { + "maximum": 900, + "minimum": 100, + "type": "integer" + }, + "highlightColor": { + "minLength": 1, + "type": "string" + }, + "letterSpacing": { + "description": "Base caption glyph spacing in pixels.", + "maximum": 20, + "minimum": -5, + "type": "number" + }, + "lineGapEm": { + "description": "Gap between caption lines as a multiple of base font size; default 0.25.", + "maximum": 2, + "minimum": 0, + "type": "number" + }, + "plate": { + "enum": [ + "glass", + "solid", + "none" + ], + "type": "string" + }, + "textTransform": { + "enum": [ + "none", + "uppercase", + "capitalize" + ], + "type": "string" + }, + "wordGapEm": { + "description": "Gap between caption runs as a multiple of base font size; default 0.35.", + "maximum": 2, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "wordEndIndex": { + "description": "Exclusive word index in the saved caption segment.", + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + }, + "wordMarks": { + "items": { + "additionalProperties": false, + "properties": { + "annotate": { + "anyOf": [ + { + "enum": [ + "circle", + "underline" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "emphasis": { + "type": "boolean" + }, + "wordIndex": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "wordIndex" + ], + "type": "object" + }, + "type": "array" + }, + "wordStartIndex": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "segmentIndex", + "wordStartIndex", + "wordEndIndex", + "region" + ], + "type": "object" + }, + "type": "array" +} - added
Input schema / $defs / __schema118Added value: +{ + "additionalProperties": false, + "description": "Author a scene shot and place it on a dedicated overlay track. The host validates the scene, generates and registers an immutable wrapper component source, and emits the ordinary track/clip operations carrying `props.componentRef` — you edit a scene SPEC, never wrapper TSX or a source hash. Registration and the composition update are ONE undoable edit; a failure publishes nothing and leaves no clip pointing at an unresolved source. REQUIRED: `clipId`, `startTime`, `duration`, `scene` and `assets` (send `{}` when no layer references a slot), plus EXACTLY ONE of `trackId` (an existing dedicated scene track) or `newTrack: true` (mint one). A minted scene track is appended at the BACK like every new track, so it paints under existing tracks; raise it with `reorderTracks` (index 0 is the top layer). That track holds scene-shot clips and gaps only — no generic component/primitive/media clips in v1 — and existing generic overlay tracks are unaffected. Scene clips use front zPlane and full-frame placement: outer per-clip `region`, `position`, `scale`, `rotation`, `fit`, `effects`, keyframes (`tweens`/`automation`), `params.transition`, `params.sequenceGroup` and internal fadeIn/fadeOut are REFUSED with a path, because the shot's own layer transforms are the single transform owner. TEXT: `space: \"screen\"` text is composed above the world result, stays fixed in the frame and stays sharp through focus; `space: \"world\"` text is rasterized into the 3D scene, moves with the camera and is occluded by geometry. Screenshots and world text are UNLIT and colour-managed so product UI colours are not tinted by the studio lighting, while device bodies are lit and cast shadows; an unlit surface still occludes. SCOPE GAP (pre-existing, neither closed nor changed by scene shots): global wrap effects — composition-level grades and camera effects — do not reach front-overlay clips, so they do not affect a scene shot. Author the look INSIDE the shot (`post.grain`, `post.vignette`, `post.focus`, `backdrop`, `environment`) instead. DISCOVERY: there is no built-in scene primitive to look up in list_catalog; the wrapper this operation registers appears afterwards as an ordinary INSTALLED component under the existing catalog rules. ASSETS: `assets` binds each slot name a layer references to a media id in the same project, and the slot's declared KIND decides what it admits — an image slot takes PNG, JPEG or WebP, a video slot MP4 or WebM. Binding the wrong kind is refused with the slot's path.", + "properties": { + "assets": { + "$ref": "#/$defs/__schema197" + }, + "clipId": { + "$ref": "#/$defs/__schema120" + }, + "duration": { + "$ref": "#/$defs/__schema125" + }, + "newTrack": { + "$ref": "#/$defs/__schema122" + }, + "newTrackId": { + "$ref": "#/$defs/__schema123" + }, + "scene": { + "$ref": "#/$defs/__schema127" + }, + "startTime": { + "$ref": "#/$defs/__schema124" + }, + "trackId": { + "$ref": "#/$defs/__schema121" + }, + "transitionIn": { + "$ref": "#/$defs/__schema126" + }, + "type": { + "$ref": "#/$defs/__schema119" + } + }, + "required": [ + "type", + "clipId", + "startTime", + "duration", + "scene", + "assets" + ], + "type": "object" +} - added
Input schema / $defs / __schema119Added value: +{ + "const": "scene.add", + "type": "string" +} - added
Input schema / $defs / __schema12Added value: +{ + "additionalProperties": {}, + "properties": { + "mode": { + "const": "frame-center", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" +} - added
Input schema / $defs / __schema120Added value: +{ + "minLength": 1, + "type": "string" +} - added
Input schema / $defs / __schema121Added value: +{ + "minLength": 1, + "type": "string" +} - added
Input schema / $defs / __schema122Added value: +{ + "type": "boolean" +} - added
Input schema / $defs / __schema123Added value: +{ + "minLength": 1, + "type": "string" +} - added
Input schema / $defs / __schema124Added value: +{ + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema125Added value: +{ + "exclusiveMinimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema126Added value: +{ + "additionalProperties": {}, + "properties": { + "component": { + "$ref": "#/$defs/__schema23" + }, + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "fromClipId": { + "minLength": 1, + "type": "string" + }, + "handlePolicy": { + "const": "outgoing-overrun-at-cut-v1", + "type": "string" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "toClipId": { + "minLength": 1, + "type": "string" + }, + "type": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "type", + "duration" + ], + "type": "object" +} - added
Input schema / $defs / __schema127Added value: +{ + "additionalProperties": false, + "description": "A version-2 scene shot: a self-contained 3D world-object shot that scene.add / scene.update materializes into an ordinary component clip. The shot owns its layers, camera, lighting, backdrop and normalized local animation; the composition owns start, duration, ordering, cuts and transitions. Coordinates are REFERENCE PIXELS: origin at frame centre, +X right, +Y down, +Z toward the viewer. referenceSize must have the SAME aspect ratio as the composition format; mismatch fails instead of cropping. At equal aspect ratio the shot scales uniformly by outputWidth/referenceWidth. A segment's easing belongs to the keyframe it ARRIVES at; the first keyframe has no easing. Authoring limits: 32 layers, 4 devices, 16 distinct image slots, 256 keyframes per channel, 2048 keyframes per shot. Version 2 supports nested groups, procedural slab/page/phone/laptop objects, screen- and world-space text, admitted image/component/video surfaces, fixed photographic and generated studio environments, transparent/solid/linear/radial backdrops, constraints, focus, grain and vignette. Raw HTML, custom shader props, imported GLB models, arbitrary external HDR environments, skeletal animation and physics are refused with an exact field path.", + "properties": { + "animation": { + "$ref": "#/$defs/__schema192" + }, + "backdrop": { + "$ref": "#/$defs/__schema138" + }, + "camera": { + "$ref": "#/$defs/__schema130" + }, + "constraints": { + "$ref": "#/$defs/__schema195" + }, + "environment": { + "$ref": "#/$defs/__schema137" + }, + "layers": { + "$ref": "#/$defs/__schema143" + }, + "post": { + "$ref": "#/$defs/__schema194" + }, + "referenceSize": { + "$ref": "#/$defs/__schema129" + }, + "version": { + "$ref": "#/$defs/__schema128" + } + }, + "required": [ + "version", + "referenceSize", + "layers" + ], + "type": "object" +} - added
Input schema / $defs / __schema128Added value: +{ + "const": 2, + "type": "number" +} - added
Input schema / $defs / __schema129Added value: +{ + "additionalProperties": false, + "properties": { + "height": { + "maximum": 8192, + "minimum": 16, + "type": "integer" + }, + "width": { + "maximum": 8192, + "minimum": 16, + "type": "integer" + } + }, + "required": [ + "width", + "height" + ], + "type": "object" +} - added
Input schema / $defs / __schema13Added value: +{ + "additionalProperties": {}, + "properties": { + "mode": { + "const": "point", + "type": "string" + }, + "x": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "mode", + "x", + "y" + ], + "type": "object" +} - added
Input schema / $defs / __schema130Added value: +{ + "additionalProperties": false, + "properties": { + "fov": { + "maximum": 1.3962634015954636, + "minimum": 0.3141592653589793, + "type": "number" + }, + "position": { + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "$ref": "#/$defs/__schema131" + }, + { + "$ref": "#/$defs/__schema132" + }, + { + "$ref": "#/$defs/__schema133" + } + ], + "type": "array" + }, + "rotation": { + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "$ref": "#/$defs/__schema134" + }, + { + "$ref": "#/$defs/__schema135" + }, + { + "$ref": "#/$defs/__schema136" + } + ], + "type": "array" + } + }, + "type": "object" +} - added
Input schema / $defs / __schema131Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema132Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema133Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema134Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema135Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema136Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema137Added value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "floorY": { + "default": -420, + "type": "number" + }, + "intensity": { + "default": 1, + "minimum": 0, + "type": "number" + }, + "kind": { + "const": "studio", + "type": "string" + }, + "lightingProfile": { + "default": "studio", + "enum": [ + "studio", + "studio-edge" + ], + "type": "string" + }, + "preset": { + "default": "soft", + "enum": [ + "soft", + "key", + "rim" + ], + "type": "string" + }, + "shadowOpacity": { + "default": 0.5, + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "photographic-studio-v1", + "type": "string" + } + }, + "required": [ + "kind" + ], + "type": "object" + } + ], + "default": { + "floorY": -420, + "intensity": 1, + "lightingProfile": "studio", + "preset": "soft", + "shadowOpacity": 0.5 + } +} - added
Input schema / $defs / __schema138Added value: +{ + "default": { + "kind": "transparent" + }, + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "transparent", + "type": "string" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "color": { + "anyOf": [ + { + "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", + "type": "string" + }, + { + "enum": [ + "$brand:colors.background", + "$brand:colors.surface", + "$brand:colors.text", + "$brand:colors.textMuted", + "$brand:colors.accent", + "$brand:colors.accentStrong", + "$brand:colors.accentSoft", + "$brand:colors.success", + "$brand:colors.warning", + "$brand:colors.danger" + ], + "type": "string" + } + ] + }, + "kind": { + "const": "solid", + "type": "string" + } + }, + "required": [ + "kind", + "color" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "angle": { + "default": 0, + "type": "number" + }, + "kind": { + "const": "linear", + "type": "string" + }, + "stops": { + "items": { + "$ref": "#/$defs/__schema139" + }, + "maxItems": 8, + "minItems": 2, + "type": "array" + } + }, + "required": [ + "kind", + "stops" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "at": { + "default": [ + 0.5, + 0.5 + ], + "items": false, + "maxItems": 2, + "minItems": 2, + "prefixItems": [ + { + "$ref": "#/$defs/__schema140" + }, + { + "$ref": "#/$defs/__schema141" + } + ], + "type": "array" + }, + "kind": { + "const": "radial", + "type": "string" + }, + "stops": { + "items": { + "$ref": "#/$defs/__schema142" + }, + "maxItems": 8, + "minItems": 2, + "type": "array" + } + }, + "required": [ + "kind", + "stops" + ], + "type": "object" + } + ] +} - added
Input schema / $defs / __schema139Added value: +{ + "additionalProperties": false, + "properties": { + "at": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "color": { + "anyOf": [ + { + "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", + "type": "string" + }, + { + "enum": [ + "$brand:colors.background", + "$brand:colors.surface", + "$brand:colors.text", + "$brand:colors.textMuted", + "$brand:colors.accent", + "$brand:colors.accentStrong", + "$brand:colors.accentSoft", + "$brand:colors.success", + "$brand:colors.warning", + "$brand:colors.danger" + ], + "type": "string" + } + ] + } + }, + "required": [ + "at", + "color" + ], + "type": "object" +} - added
Input schema / $defs / __schema14Added value: +{ + "additionalProperties": {}, + "properties": { + "faceId": { + "minLength": 1, + "type": "string" + }, + "mode": { + "const": "face", + "type": "string" + }, + "shotScale": { + "enum": [ + "close", + "standard", + "wide" + ], + "type": "string" + } + }, + "required": [ + "mode", + "faceId" + ], + "type": "object" +} - added
Input schema / $defs / __schema140Added value: +{ + "maximum": 1, + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema141Added value: +{ + "maximum": 1, + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema142Added value: +{ + "additionalProperties": false, + "properties": { + "at": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "color": { + "anyOf": [ + { + "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", + "type": "string" + }, + { + "enum": [ + "$brand:colors.background", + "$brand:colors.surface", + "$brand:colors.text", + "$brand:colors.textMuted", + "$brand:colors.accent", + "$brand:colors.accentStrong", + "$brand:colors.accentSoft", + "$brand:colors.success", + "$brand:colors.warning", + "$brand:colors.danger" + ], + "type": "string" + } + ] + } + }, + "required": [ + "at", + "color" + ], + "type": "object" +} - added
Input schema / $defs / __schema143Added value: +{ + "items": { + "$ref": "#/$defs/__schema144" + }, + "minItems": 1, + "type": "array" +} - added
Input schema / $defs / __schema144Added value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "children": { + "items": { + "$ref": "#/$defs/__schema151" + }, + "maxItems": 16, + "minItems": 1, + "type": "array" + }, + "id": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", + "type": "string" + }, + "kind": { + "const": "group", + "type": "string" + }, + "opacity": { + "default": 1, + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "transform": { + "additionalProperties": false, + "default": { + "position": [ + 0, + 0, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "scale": 1 + }, + "properties": { + "position": { + "default": [ + 0, + 0, + 0 + ], + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "$ref": "#/$defs/__schema145" + }, + { + "$ref": "#/$defs/__schema146" + }, + { + "$ref": "#/$defs/__schema147" + } + ], + "type": "array" + }, + "rotation": { + "default": [ + 0, + 0, + 0 + ], + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "$ref": "#/$defs/__schema148" + }, + { + "$ref": "#/$defs/__schema149" + }, + { + "$ref": "#/$defs/__schema150" + } + ], + "type": "array" + }, + "scale": { + "default": 1, + "exclusiveMinimum": 0, + "type": "number" + } + }, + "type": "object" + } + }, + "required": [ + "kind", + "id", + "children" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "id": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", + "type": "string" + }, + "kind": { + "const": "laptop", + "type": "string" + }, + "materials": { + "$ref": "#/$defs/__schema158" + }, + "opacity": { + "default": 1, + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "openAngle": { + "maximum": 3.141592653589793, + "minimum": 0, + "type": "number" + }, + "surfaces": { + "$ref": "#/$defs/__schema160" + }, + "transform": { + "additionalProperties": false, + "default": { + "position": [ + 0, + 0, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "scale": 1 + }, + "properties": { + "position": { + "default": [ + 0, + 0, + 0 + ], + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "$ref": "#/$defs/__schema152" + }, + { + "$ref": "#/$defs/__schema153" + }, + { + "$ref": "#/$defs/__schema154" + } + ], + "type": "array" + }, + "rotation": { + "default": [ + 0, + 0, + 0 + ], + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "$ref": "#/$defs/__schema155" + }, + { + "$ref": "#/$defs/__schema156" + }, + { + "$ref": "#/$defs/__schema157" + } + ], + "type": "array" + }, + "scale": { + "default": 1, + "exclusiveMinimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "width": { + "maximum": 4000, + "minimum": 200, + "type": "number" + } + }, + "required": [ + "kind", + "id", + "width", + "openAngle" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "id": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", + "type": "string" + }, + "kind": { + "const": "phone", + "type": "string" + }, + "materials": { + "$ref": "#/$defs/__schema158" + }, + "opacity": { + "default": 1, + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "surfaces": { + "$ref": "#/$defs/__schema160" + }, + "transform": { + "additionalProperties": false, + "default": { + "position": [ + 0, + 0, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "scale": 1 + }, + "properties": { + "position": { + "default": [ + 0, + 0, + 0 + ], + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "$ref": "#/$defs/__schema164" + }, + { + "$ref": "#/$defs/__schema165" + }, + { + "$ref": "#/$defs/__schema166" + } + ], + "type": "array" + }, + "rotation": { + "default": [ + 0, + 0, + 0 + ], + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "$ref": "#/$defs/__schema167" + }, + { + "$ref": "#/$defs/__schema168" + }, + { + "$ref": "#/$defs/__schema169" + } + ], + "type": "array" + }, + "scale": { + "default": 1, + "exclusiveMinimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "width": { + "maximum": 2000, + "minimum": 80, + "type": "number" + } + }, + "required": [ + "kind", + "id", + "width" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "cornerRadius": { + "default": 32, + "minimum": 0, + "type": "number" + }, + "edgeRadius": { + "default": 15, + "minimum": 0, + "type": "number" + }, + "finish": { + "default": "satin", + "enum": [ + "satin", + "brushed" + ], + "type": "string" + }, + "height": { + "maximum": 8000, + "minimum": 40, + "type": "number" + }, + "id": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", + "type": "string" + }, + "kind": { + "const": "slab", + "type": "string" + }, + "materials": { + "$ref": "#/$defs/__schema158" + }, + "opacity": { + "default": 1, + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "surfaces": { + "$ref": "#/$defs/__schema160" + }, + "thickness": { + "default": 32, + "maximum": 200, + "minimum": 4, + "type": "number" + }, + "transform": { + "additionalProperties": false, + "default": { + "position": [ + 0, + 0, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "scale": 1 + }, + "properties": { + "position": { + "default": [ + 0, + 0, + 0 + ], + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "$ref": "#/$defs/__schema170" + }, + { + "$ref": "#/$defs/__schema171" + }, + { + "$ref": "#/$defs/__schema172" + } + ], + "type": "array" + }, + "rotation": { + "default": [ + 0, + 0, + 0 + ], + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "$ref": "#/$defs/__schema173" + }, + { + "$ref": "#/$defs/__schema174" + }, + { + "$ref": "#/$defs/__schema175" + } + ], + "type": "array" + }, + "scale": { + "default": 1, + "exclusiveMinimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "width": { + "maximum": 8000, + "minimum": 40, + "type": "number" + } + }, + "required": [ + "kind", + "id", + "width", + "height" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "backface": { + "default": "hidden", + "enum": [ + "hidden", + "visible" + ], + "type": "string" + }, + "depthWrite": { + "default": true, + "type": "boolean" + }, + "fit": { + "default": "contain", + "enum": [ + "contain", + "cover" + ], + "type": "string" + }, + "height": { + "maximum": 8000, + "minimum": 40, + "type": "number" + }, + "id": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", + "type": "string" + }, + "kind": { + "const": "page", + "type": "string" + }, + "materials": { + "$ref": "#/$defs/__schema158" + }, + "opacity": { + "default": 1, + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "surfaces": { + "$ref": "#/$defs/__schema160" + }, + "transform": { + "additionalProperties": false, + "default": { + "position": [ + 0, + 0, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "scale": 1 + }, + "properties": { + "position": { + "default": [ + 0, + 0, + 0 + ], + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "$ref": "#/$defs/__schema176" + }, + { + "$ref": "#/$defs/__schema177" + }, + { + "$ref": "#/$defs/__schema178" + } + ], + "type": "array" + }, + "rotation": { + "default": [ + 0, + 0, + 0 + ], + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "$ref": "#/$defs/__schema179" + }, + { + "$ref": "#/$defs/__schema180" + }, + { + "$ref": "#/$defs/__schema181" + } + ], + "type": "array" + }, + "scale": { + "default": 1, + "exclusiveMinimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "transparency": { + "default": "straight", + "enum": [ + "straight", + "premultiplied", + "opaque" + ], + "type": "string" + }, + "width": { + "maximum": 8000, + "minimum": 40, + "type": "number" + } + }, + "required": [ + "kind", + "id", + "width", + "height", + "surfaces" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "align": { + "default": "center", + "enum": [ + "left", + "center", + "right" + ], + "type": "string" + }, + "color": { + "anyOf": [ + { + "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", + "type": "string" + }, + { + "enum": [ + "$brand:colors.background", + "$brand:colors.surface", + "$brand:colors.text", + "$brand:colors.textMuted", + "$brand:colors.accent", + "$brand:colors.accentStrong", + "$brand:colors.accentSoft", + "$brand:colors.success", + "$brand:colors.warning", + "$brand:colors.danger" + ], + "type": "string" + } + ] + }, + "fontFamily": { + "anyOf": [ + { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9 _.\\-]*$", + "type": "string" + }, + { + "enum": [ + "$brand:fonts.heading", + "$brand:fonts.body", + "$brand:fonts.caption" + ], + "type": "string" + } + ] + }, + "fontSize": { + "maximum": 800, + "minimum": 8, + "type": "number" + }, + "fontStyle": { + "enum": [ + "normal", + "italic" + ], + "type": "string" + }, + "fontWeight": { + "maximum": 900, + "minimum": 100, + "type": "integer" + }, + "id": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", + "type": "string" + }, + "kind": { + "const": "text", + "type": "string" + }, + "letterSpacing": { + "default": 0, + "maximum": 40, + "minimum": -20, + "type": "number" + }, + "lineHeight": { + "default": 1.2, + "maximum": 3, + "minimum": 0.6, + "type": "number" + }, + "lines": { + "items": { + "$ref": "#/$defs/__schema182" + }, + "maxItems": 24, + "minItems": 1, + "type": "array" + }, + "maxWidth": { + "exclusiveMinimum": 0, + "type": "number" + }, + "opacity": { + "default": 1, + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "space": { + "const": "world", + "type": "string" + }, + "transform": { + "additionalProperties": false, + "default": { + "position": [ + 0, + 0, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "scale": 1 + }, + "properties": { + "position": { + "default": [ + 0, + 0, + 0 + ], + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "$ref": "#/$defs/__schema184" + }, + { + "$ref": "#/$defs/__schema185" + }, + { + "$ref": "#/$defs/__schema186" + } + ], + "type": "array" + }, + "rotation": { + "default": [ + 0, + 0, + 0 + ], + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "$ref": "#/$defs/__schema187" + }, + { + "$ref": "#/$defs/__schema188" + }, + { + "$ref": "#/$defs/__schema189" + } + ], + "type": "array" + }, + "scale": { + "default": 1, + "exclusiveMinimum": 0, + "type": "number" + } + }, + "type": "object" + } + }, + "required": [ + "id", + "kind", + "lines", + "fontFamily", + "fontWeight", + "fontStyle", + "fontSize", + "color", + "space" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "align": { + "default": "center", + "enum": [ + "left", + "center", + "right" + ], + "type": "string" + }, + "color": { + "anyOf": [ + { + "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", + "type": "string" + }, + { + "enum": [ + "$brand:colors.background", + "$brand:colors.surface", + "$brand:colors.text", + "$brand:colors.textMuted", + "$brand:colors.accent", + "$brand:colors.accentStrong", + "$brand:colors.accentSoft", + "$brand:colors.success", + "$brand:colors.warning", + "$brand:colors.danger" + ], + "type": "string" + } + ] + }, + "fontFamily": { + "anyOf": [ + { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9 _.\\-]*$", + "type": "string" + }, + { + "enum": [ + "$brand:fonts.heading", + "$brand:fonts.body", + "$brand:fonts.caption" + ], + "type": "string" + } + ] + }, + "fontSize": { + "maximum": 800, + "minimum": 8, + "type": "number" + }, + "fontStyle": { + "enum": [ + "normal", + "italic" + ], + "type": "string" + }, + "fontWeight": { + "maximum": 900, + "minimum": 100, + "type": "integer" + }, + "id": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", + "type": "string" + }, + "kind": { + "const": "text", + "type": "string" + }, + "letterSpacing": { + "default": 0, + "maximum": 40, + "minimum": -20, + "type": "number" + }, + "lineHeight": { + "default": 1.2, + "maximum": 3, + "minimum": 0.6, + "type": "number" + }, + "lines": { + "items": { + "$ref": "#/$defs/__schema190" + }, + "maxItems": 24, + "minItems": 1, + "type": "array" + }, + "maxWidth": { + "exclusiveMinimum": 0, + "type": "number" + }, + "opacity": { + "default": 1, + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "rotation": { + "default": 0, + "type": "number" + }, + "scale": { + "default": 1, + "exclusiveMinimum": 0, + "type": "number" + }, + "space": { + "const": "screen", + "type": "string" + }, + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "id", + "kind", + "lines", + "fontFamily", + "fontWeight", + "fontStyle", + "fontSize", + "color", + "space", + "x", + "y" + ], + "type": "object" + } + ] +} - added
Input schema / $defs / __schema145Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema146Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema147Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema148Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema149Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema15Added value: +{ + "additionalProperties": {}, + "properties": { + "mode": { + "const": "all-faces", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" +} - added
Input schema / $defs / __schema150Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema151Added value: +{ + "$ref": "#/$defs/__schema144" +} - added
Input schema / $defs / __schema152Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema153Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema154Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema155Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema156Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema157Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema158Added value: +{ + "items": { + "$ref": "#/$defs/__schema159" + }, + "maxItems": 16, + "type": "array" +} - added
Input schema / $defs / __schema159Added value: +{ + "additionalProperties": false, + "properties": { + "anisotropy": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "anisotropyRotation": { + "type": "number" + }, + "clearcoat": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "clearcoatRoughness": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "color": { + "anyOf": [ + { + "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", + "type": "string" + }, + { + "enum": [ + "$brand:colors.background", + "$brand:colors.surface", + "$brand:colors.text", + "$brand:colors.textMuted", + "$brand:colors.accent", + "$brand:colors.accentStrong", + "$brand:colors.accentSoft", + "$brand:colors.success", + "$brand:colors.warning", + "$brand:colors.danger" + ], + "type": "string" + } + ] + }, + "ior": { + "maximum": 2.333, + "minimum": 1, + "type": "number" + }, + "metalness": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "reflectivity": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "role": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "roughness": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "type": { + "enum": [ + "physical", + "unlit" + ], + "type": "string" + } + }, + "required": [ + "role", + "type" + ], + "type": "object" +} - added
Input schema / $defs / __schema16Added value: +{ + "additionalProperties": {}, + "properties": { + "mode": { + "const": "active-speaker", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" +} - added
Input schema / $defs / __schema160Added value: +{ + "additionalProperties": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "assetSlot": { + "description": "Image asset slot name bound by the clip assets map; never a URL.", + "maxLength": 64, + "minLength": 1, + "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", + "type": "string" + }, + "source": { + "const": "image", + "type": "string" + } + }, + "required": [ + "source", + "assetSlot" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "color": { + "anyOf": [ + { + "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", + "type": "string" + }, + { + "enum": [ + "$brand:colors.background", + "$brand:colors.surface", + "$brand:colors.text", + "$brand:colors.textMuted", + "$brand:colors.accent", + "$brand:colors.accentStrong", + "$brand:colors.accentSoft", + "$brand:colors.success", + "$brand:colors.warning", + "$brand:colors.danger" + ], + "type": "string" + } + ] + }, + "source": { + "const": "color", + "type": "string" + } + }, + "required": [ + "source", + "color" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "bakeScale": { + "anyOf": [ + { + "$ref": "#/$defs/__schema161" + }, + { + "$ref": "#/$defs/__schema162" + } + ], + "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." + }, + "captureFrame": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "component": { + "additionalProperties": false, + "properties": { + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 1, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId" + ], + "type": "object" + }, + "layout": { + "additionalProperties": false, + "properties": { + "height": { + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + }, + "width": { + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + } + }, + "required": [ + "width", + "height" + ], + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema163" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "source": { + "const": "component", + "type": "string" + } + }, + "required": [ + "source", + "component", + "captureFrame", + "layout" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "endFrame": { + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + }, + "mediaId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "source": { + "const": "video", + "type": "string" + }, + "startFrame": { + "default": 0, + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "source", + "mediaId" + ], + "type": "object" + } + ] + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" +} - added
Input schema / $defs / __schema161Added value: +{ + "const": 2, + "type": "number" +} - added
Input schema / $defs / __schema162Added value: +{ + "const": 3, + "type": "number" +} - added
Input schema / $defs / __schema163Added value: +{ + "anyOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + }, + { + "items": { + "$ref": "#/$defs/__schema163" + }, + "type": "array" + }, + { + "additionalProperties": { + "$ref": "#/$defs/__schema163" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + ] +} - added
Input schema / $defs / __schema164Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema165Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema166Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema167Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema168Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema169Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema17Added value: +{ + "description": "Ease-IN ramp DURATION in seconds at the segment START.", + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema170Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema171Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema172Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema173Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema174Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema175Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema176Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema177Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema178Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema179Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema18Added value: +{ + "description": "Ease-OUT ramp DURATION in seconds at the segment END.", + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema180Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema181Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema182Added value: +{ + "additionalProperties": false, + "properties": { + "runs": { + "items": { + "$ref": "#/$defs/__schema183" + }, + "maxItems": 16, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "runs" + ], + "type": "object" +} - added
Input schema / $defs / __schema183Added value: +{ + "additionalProperties": false, + "properties": { + "color": { + "anyOf": [ + { + "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", + "type": "string" + }, + { + "enum": [ + "$brand:colors.background", + "$brand:colors.surface", + "$brand:colors.text", + "$brand:colors.textMuted", + "$brand:colors.accent", + "$brand:colors.accentStrong", + "$brand:colors.accentSoft", + "$brand:colors.success", + "$brand:colors.warning", + "$brand:colors.danger" + ], + "type": "string" + } + ] + }, + "emphasis": { + "type": "boolean" + }, + "text": { + "maxLength": 512, + "minLength": 1, + "pattern": "^[^\\r\\n]+$", + "type": "string" + } + }, + "required": [ + "text" + ], + "type": "object" +} - added
Input schema / $defs / __schema184Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema185Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema186Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema187Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema188Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema189Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema19Added value: +{} - added
Input schema / $defs / __schema190Added value: +{ + "additionalProperties": false, + "properties": { + "runs": { + "items": { + "$ref": "#/$defs/__schema191" + }, + "maxItems": 16, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "runs" + ], + "type": "object" +} - added
Input schema / $defs / __schema191Added value: +{ + "additionalProperties": false, + "properties": { + "color": { + "anyOf": [ + { + "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", + "type": "string" + }, + { + "enum": [ + "$brand:colors.background", + "$brand:colors.surface", + "$brand:colors.text", + "$brand:colors.textMuted", + "$brand:colors.accent", + "$brand:colors.accentStrong", + "$brand:colors.accentSoft", + "$brand:colors.success", + "$brand:colors.warning", + "$brand:colors.danger" + ], + "type": "string" + } + ] + }, + "emphasis": { + "type": "boolean" + }, + "text": { + "maxLength": 512, + "minLength": 1, + "pattern": "^[^\\r\\n]+$", + "type": "string" + } + }, + "required": [ + "text" + ], + "type": "object" +} - added
Input schema / $defs / __schema192Added value: +{ + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "keyframes": { + "items": { + "$ref": "#/$defs/__schema193" + }, + "maxItems": 256, + "minItems": 1, + "type": "array" + }, + "property": { + "enum": [ + "positionX", + "positionY", + "positionZ", + "rotationX", + "rotationY", + "rotationZ", + "fov", + "scale", + "opacity", + "openAngle", + "x", + "y", + "rotation", + "intensity", + "distance", + "range", + "maxBlur" + ], + "type": "string" + }, + "target": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "camera", + "type": "string" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "layer", + "type": "string" + }, + "layerId": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", + "type": "string" + } + }, + "required": [ + "kind", + "layerId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "environment", + "type": "string" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "focus", + "type": "string" + } + }, + "required": [ + "kind" + ], + "type": "object" + } + ] + } + }, + "required": [ + "target", + "property", + "keyframes" + ], + "type": "object" + }, + "type": "array" +} - added
Input schema / $defs / __schema193Added value: +{ + "additionalProperties": false, + "properties": { + "at": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "easing": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "linear", + "type": "string" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "hold", + "type": "string" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "bezier", + "type": "string" + }, + "x1": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "x2": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y1": { + "maximum": 5, + "minimum": -4, + "type": "number" + }, + "y2": { + "maximum": 5, + "minimum": -4, + "type": "number" + } + }, + "required": [ + "kind", + "x1", + "y1", + "x2", + "y2" + ], + "type": "object" + } + ] + }, + "value": { + "type": "number" + } + }, + "required": [ + "at", + "value" + ], + "type": "object" +} - added
Input schema / $defs / __schema194Added value: +{ + "additionalProperties": false, + "default": { + "focus": null, + "grain": 0, + "vignette": 0 + }, + "properties": { + "focus": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "distance": { + "exclusiveMinimum": 0, + "type": "number" + }, + "maxBlur": { + "maximum": 64, + "minimum": 0, + "type": "number" + }, + "range": { + "exclusiveMinimum": 0, + "type": "number" + } + }, + "required": [ + "distance", + "range", + "maxBlur" + ], + "type": "object" + }, + { + "type": "null" + } + ], + "default": null + }, + "grain": { + "default": 0, + "maximum": 0.5, + "minimum": 0, + "type": "number" + }, + "vignette": { + "default": 0, + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "type": "object" +} - added
Input schema / $defs / __schema195Added value: +{ + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "gap": { + "exclusiveMinimum": 0, + "type": "number" + }, + "kind": { + "const": "minSeparation", + "type": "string" + }, + "objects": { + "items": { + "$ref": "#/$defs/__schema196" + }, + "minItems": 2, + "type": "array" + } + }, + "required": [ + "kind", + "objects", + "gap" + ], + "type": "object" + }, + "type": "array" +} - added
Input schema / $defs / __schema196Added value: +{ + "maxLength": 64, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", + "type": "string" +} - added
Input schema / $defs / __schema197Added value: +{ + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "minLength": 1, + "type": "string" + }, + "type": "object" +} - added
Input schema / $defs / __schema198Added value: +{ + "additionalProperties": false, + "description": "Revise a scene shot in place by clip id. Send a replacement `scene` and/or `assets`; timing changes use the ordinary clip timing fields (`startTime`, `duration`, `transitionIn`). Omitted fields keep their persisted values and the MERGED result is re-validated as a whole, so a partial edit cannot leave the shot invalid. Changing only values or asset IDs updates props and bindings and REUSES the pinned source; changing the referenced SLOT SET regenerates the wrapper manifest and registers a new immutable source version atomically. Undo restores the source reference, spec, bindings and timing together. Topology, asset bindings, text content, font properties, device kind and colours are STATIC within a shot's animation — change them here (a revised spec) rather than trying to animate them. This is not a source trim or slip: a shortened or extended clip resamples the SAME normalized animation over its new duration, and trim/slip requests on generated animation are rejected rather than reinterpreted as media trims. In one batch, `scene.update` may target a shot added by an earlier `scene.add`. ASSETS: `assets` binds each slot name a layer references to a media id in the same project, and the slot's declared KIND decides what it admits — an image slot takes PNG, JPEG or WebP, a video slot MP4 or WebM. Binding the wrong kind is refused with the slot's path.", + "properties": { + "assets": { + "$ref": "#/$defs/__schema205" + }, + "clipId": { + "$ref": "#/$defs/__schema200" + }, + "duration": { + "$ref": "#/$defs/__schema202" + }, + "scene": { + "$ref": "#/$defs/__schema204" + }, + "startTime": { + "$ref": "#/$defs/__schema201" + }, + "transitionIn": { + "$ref": "#/$defs/__schema203" + }, + "type": { + "$ref": "#/$defs/__schema199" + } + }, + "required": [ + "type", + "clipId" + ], + "type": "object" +} - added
Input schema / $defs / __schema199Added value: +{ + "const": "scene.update", + "type": "string" +} - removed
Input schema / $defs / __schema2 / anyOfRemoved value: -[ - { - "type": "null" - }, - { - "type": "boolean" - }, - { - "type": "number" - }, - { - "type": "string" - }, - { - "items": { - "$ref": "#/$defs/__schema2" - }, - "type": "array" - }, - { - "additionalProperties": { - "$ref": "#/$defs/__schema2" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } -] - added
Input schema / $defs / __schema2 / constAdded value: +4 - added
Input schema / $defs / __schema2 / typeAdded value: +"number" - added
Input schema / $defs / __schema20Added value: +{ + "description": "Horizontal nudge, source-normalized (+ = right).", + "maximum": 0.3, + "minimum": -0.3, + "type": "number" +} - added
Input schema / $defs / __schema200Added value: +{ + "minLength": 1, + "type": "string" +} - added
Input schema / $defs / __schema201Added value: +{ + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema202Added value: +{ + "exclusiveMinimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema203Added value: +{ + "additionalProperties": {}, + "properties": { + "component": { + "$ref": "#/$defs/__schema23" + }, + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "fromClipId": { + "minLength": 1, + "type": "string" + }, + "handlePolicy": { + "const": "outgoing-overrun-at-cut-v1", + "type": "string" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "toClipId": { + "minLength": 1, + "type": "string" + }, + "type": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "type", + "duration" + ], + "type": "object" +} - added
Input schema / $defs / __schema204Added value: +{ + "$ref": "#/$defs/__schema127" +} - added
Input schema / $defs / __schema205Added value: +{ + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "minLength": 1, + "type": "string" + }, + "type": "object" +} - added
Input schema / $defs / __schema206Added value: +{ + "additionalProperties": false, + "description": "Materialize a clip's SOURCE-media temporal GRID as timeline markers — the rhythm authority you cut to. `grid:\"beat\"` reads a MUSIC bed's beat map (get_media_context.beatGrid), `grid:\"word\"` the VO word onsets (wordGrid); each grid point is projected from media time to TIMELINE time through the clip's placement (startTime, trim, playbackRate, excludedRanges) and written as a `kind:\"beat\"|\"word\"` marker (`metadata.sourceClipId` set). Points outside the clip's visible window are skipped. Re-running REPLACES the prior markers from the same clip+grid (idempotent). Land cuts and transition MIDPOINTS on the markers (a 0.5s transition starts 0.25s before its marker). `maxMarkers` (default 500, ceiling 2000) — exceeding it fails loud with the count. `grid:\"shot\"` is not yet exposed (shot_grid_unavailable). The target must be a media clip; absent evidence fails loud (grid_unavailable) naming how to get it (declare audioRole:\"music\" at ingest / transcribe).", + "properties": { + "clipId": { + "$ref": "#/$defs/__schema208" + }, + "grid": { + "$ref": "#/$defs/__schema209" + }, + "maxMarkers": { + "$ref": "#/$defs/__schema210" + }, + "type": { + "$ref": "#/$defs/__schema207" + } + }, + "required": [ + "type", + "clipId", + "grid" + ], + "type": "object" +} - added
Input schema / $defs / __schema207Added value: +{ + "const": "materializeGrid", + "type": "string" +} - added
Input schema / $defs / __schema208Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema209Added value: +{ + "enum": [ + "beat", + "word", + "shot" + ], + "type": "string" +} - added
Input schema / $defs / __schema21Added value: +{ + "description": "Vertical nudge, source-normalized (+ = down).", + "maximum": 0.3, + "minimum": -0.3, + "type": "number" +} - added
Input schema / $defs / __schema210Added value: +{ + "exclusiveMinimum": 0, + "maximum": 2000, + "type": "integer" +} - added
Input schema / $defs / __schema211Added value: +{ + "additionalProperties": false, + "description": "Attach caption CONTENT from the media's cached transcript — no pasting words. ROUTE-MATERIALIZED like materializeGrid: the server slices the word-timed transcript to `window` (source seconds; absent = the whole media), rebases times, sentence-splits into segments, and applies it as `setCaptions`. 422 media_no_transcript when the media has no transcript or no words in the window. For your OWN word timings use setCaptions directly. For edited multi-clip timelines, use captions.fromComposition after saving the edits; that operation projects all selected track clips, trims, exclusions, and placements.", + "properties": { + "mediaId": { + "$ref": "#/$defs/__schema213" + }, + "type": { + "$ref": "#/$defs/__schema212" + }, + "window": { + "$ref": "#/$defs/__schema214" + } + }, + "required": [ + "type", + "mediaId" + ], + "type": "object" +} - added
Input schema / $defs / __schema212Added value: +{ + "const": "captions.fromTranscript", + "type": "string" +} - added
Input schema / $defs / __schema213Added value: +{ + "minLength": 1, + "type": "string" +} - added
Input schema / $defs / __schema214Added value: +{ + "additionalProperties": false, + "properties": { + "endSec": { + "exclusiveMinimum": 0, + "type": "number" + }, + "startSec": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "startSec", + "endSec" + ], + "type": "object" +} - added
Input schema / $defs / __schema215Added value: +{ + "additionalProperties": false, + "description": "Snapshot word-timed captions from the SAVED edits on one explicit enabled video or audio track. The host reads each source media transcript, projects words through clip trim, excluded ranges and placement, then replaces the caption segments. This is route-materialized to setCaptions; call it AFTER persisting clip edits and call it again when those edits change. The existing caption style and depth are preserved. Missing transcripts, unsupported clips, inconsistent clip durations, and overlapping audible clips fail loud. Playback rate scales source word times and playable duration on both audio and video tracks.", + "properties": { + "trackId": { + "$ref": "#/$defs/__schema217" + }, + "type": { + "$ref": "#/$defs/__schema216" + } + }, + "required": [ + "type", + "trackId" + ], + "type": "object" +} - added
Input schema / $defs / __schema216Added value: +{ + "const": "captions.fromComposition", + "type": "string" +} - added
Input schema / $defs / __schema217Added value: +{ + "minLength": 1, + "type": "string" +} - added
Input schema / $defs / __schema218Added value: +{ + "additionalProperties": false, + "description": "Set the output format — `aspectRatio` (16:9|9:16|1:1|4:5) plus optional `fps` and `resolution`. Merges: an omitted field keeps the current value.", + "properties": { + "format": { + "$ref": "#/$defs/__schema220" + }, + "type": { + "$ref": "#/$defs/__schema219" + } + }, + "required": [ + "type", + "format" + ], + "type": "object" +} - added
Input schema / $defs / __schema219Added value: +{ + "const": "setFormat", + "type": "string" +} - added
Input schema / $defs / __schema22Added value: +{} - added
Input schema / $defs / __schema220Added value: +{ + "additionalProperties": {}, + "properties": { + "aspectRatio": { + "enum": [ + "16:9", + "9:16", + "1:1", + "4:5" + ], + "type": "string" + }, + "fps": { + "anyOf": [ + { + "const": 24, + "type": "number" + }, + { + "const": 25, + "type": "number" + }, + { + "const": 30, + "type": "number" + }, + { + "const": 60, + "type": "number" + } + ] + }, + "resolution": { + "enum": [ + "hd", + "fhd", + "4k" + ], + "type": "string" + } + }, + "required": [ + "aspectRatio" + ], + "type": "object" +} - added
Input schema / $defs / __schema221Added value: +{ + "additionalProperties": false, + "description": "Add an EMPTY track of a given family (video|audio|image|overlay|effect). Optional pinned `id`. The new track is appended, so it starts at the BACK: index 0 is the top layer and higher indices are further back (see `reorderTracks`). Track order is the paint order for every family: a card on a track behind a video or image track draws behind it.", + "properties": { + "id": { + "$ref": "#/$defs/__schema225" + }, + "kind": { + "$ref": "#/$defs/__schema223" + }, + "name": { + "$ref": "#/$defs/__schema224" + }, + "type": { + "$ref": "#/$defs/__schema222" + } + }, + "required": [ + "type", + "kind" + ], + "type": "object" +} - added
Input schema / $defs / __schema222Added value: +{ + "const": "addTrack", + "type": "string" +} - added
Input schema / $defs / __schema223Added value: +{ + "enum": [ + "video", + "audio", + "image", + "overlay", + "effect" + ], + "type": "string" +} - added
Input schema / $defs / __schema224Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema225Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema226Added value: +{ + "additionalProperties": false, + "description": "Remove a track AND all its clips by id.", + "properties": { + "trackId": { + "$ref": "#/$defs/__schema228" + }, + "type": { + "$ref": "#/$defs/__schema227" + } + }, + "required": [ + "type", + "trackId" + ], + "type": "object" +} - added
Input schema / $defs / __schema227Added value: +{ + "const": "removeTrack", + "type": "string" +} - added
Input schema / $defs / __schema228Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema229Added value: +{ + "additionalProperties": false, + "description": "Patch a track's `name` / `enabled` by id. Track volume is retired: set each clip's own volume.", + "properties": { + "trackId": { + "$ref": "#/$defs/__schema231" + }, + "type": { + "$ref": "#/$defs/__schema230" + }, + "updates": { + "$ref": "#/$defs/__schema232" + } + }, + "required": [ + "type", + "trackId", + "updates" + ], + "type": "object" +} - added
Input schema / $defs / __schema23Added value: +{ + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema24" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema24" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } + ] +} - added
Input schema / $defs / __schema230Added value: +{ + "const": "updateTrack", + "type": "string" +} - added
Input schema / $defs / __schema231Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema232Added value: +{ + "additionalProperties": false, + "properties": { + "enabled": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "volume": { + "maximum": 4, + "minimum": 0, + "type": "number" + } + }, + "type": "object" +} - added
Input schema / $defs / __schema233Added value: +{ + "additionalProperties": false, + "description": "Move a track from one index to another. ORDER: index 0 is the TOP layer, not the bottom — moving a backdrop to index 0 puts it in FRONT of everything and hides the composition. Higher index = further back. Track order is the paint order for every family, so cards, overlays, images and video interleave by index: a backdrop card, a screenshot and a foreground card on three tracks stack in that order. The one exception is `zPlane:\"behind-subject\"`, which moves the overlay inside its host clip, behind the segmented foreground.", + "properties": { + "fromIndex": { + "$ref": "#/$defs/__schema235" + }, + "toIndex": { + "$ref": "#/$defs/__schema236" + }, + "type": { + "$ref": "#/$defs/__schema234" + } + }, + "required": [ + "type", + "fromIndex", + "toIndex" + ], + "type": "object" +} - added
Input schema / $defs / __schema234Added value: +{ + "const": "reorderTracks", + "type": "string" +} - added
Input schema / $defs / __schema235Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema236Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema237Added value: +{ + "additionalProperties": false, + "description": "Move a clip to another SAME-family track, optionally at a new `newStartTime`.", + "properties": { + "clipId": { + "$ref": "#/$defs/__schema239" + }, + "newStartTime": { + "$ref": "#/$defs/__schema241" + }, + "targetTrackId": { + "$ref": "#/$defs/__schema240" + }, + "type": { + "$ref": "#/$defs/__schema238" + } + }, + "required": [ + "type", + "clipId", + "targetTrackId" + ], + "type": "object" +} - added
Input schema / $defs / __schema238Added value: +{ + "const": "moveClipToTrack", + "type": "string" +} - added
Input schema / $defs / __schema239Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema24Added value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "items": { + "$ref": "#/$defs/__schema24" + }, + "type": "array" + }, + { + "additionalProperties": { + "$ref": "#/$defs/__schema24" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + ] +} - added
Input schema / $defs / __schema240Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema241Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema242Added value: +{ + "additionalProperties": false, + "description": "Duplicate a clip by id. Pin `newClipId` to make the copy's id deterministic (required for a clean undo/inverse).", + "properties": { + "clipId": { + "$ref": "#/$defs/__schema244" + }, + "newClipId": { + "$ref": "#/$defs/__schema245" + }, + "type": { + "$ref": "#/$defs/__schema243" + } + }, + "required": [ + "type", + "clipId" + ], + "type": "object" +} - added
Input schema / $defs / __schema243Added value: +{ + "const": "duplicateClip", + "type": "string" +} - added
Input schema / $defs / __schema244Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema245Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema246Added value: +{ + "additionalProperties": false, + "description": "Server-authoritative: delete the [start,end] time window (seconds) and ripple every downstream clip/marker/caption earlier to close the gap. Cuts apply sequentially in TIMELINE seconds: each cut moves everything after it, so a later cut's coordinates go stale once an earlier one lands. Plan several cuts back to front (latest first), or send them as one `cutRanges`. To drop spans inside one clip, `addExcludedRange` takes SOURCE seconds and is order-independent.", + "properties": { + "end": { + "$ref": "#/$defs/__schema249" + }, + "start": { + "$ref": "#/$defs/__schema248" + }, + "type": { + "$ref": "#/$defs/__schema247" + } + }, + "required": [ + "type", + "start", + "end" + ], + "type": "object" +} - added
Input schema / $defs / __schema247Added value: +{ + "const": "cutAndRipple", + "type": "string" +} - added
Input schema / $defs / __schema248Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema249Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema25Added value: +{ + "minLength": 1, + "type": "string" +} - added
Input schema / $defs / __schema250Added value: +{ + "additionalProperties": false, + "description": "Server-authoritative: delete several [start,end] windows (seconds) in one atomic edit, one undo step. Every range is in timeline seconds of the composition as it is BEFORE this op, in any order; overlapping and touching ranges merge. Each must satisfy 0 <= start < end <= the timeline's end. The cuts apply back to front with exactly `cutAndRipple`'s ripple (every track, markers and derived captions move earlier), so no coordinate goes stale.", + "properties": { + "ranges": { + "$ref": "#/$defs/__schema252" + }, + "type": { + "$ref": "#/$defs/__schema251" + } + }, + "required": [ + "type", + "ranges" + ], + "type": "object" +} - added
Input schema / $defs / __schema251Added value: +{ + "const": "cutRanges", + "type": "string" +} - added
Input schema / $defs / __schema252Added value: +{ + "items": { + "$ref": "#/$defs/__schema253" + }, + "minItems": 1, + "type": "array" +} - added
Input schema / $defs / __schema253Added value: +{ + "additionalProperties": false, + "properties": { + "end": { + "type": "number" + }, + "start": { + "type": "number" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" +} - added
Input schema / $defs / __schema254Added value: +{ + "additionalProperties": false, + "description": "Server-authoritative: shift everything at/after `time` (seconds) by `amount` seconds (+ opens a gap, − closes one).", + "properties": { + "amount": { + "$ref": "#/$defs/__schema257" + }, + "time": { + "$ref": "#/$defs/__schema256" + }, + "type": { + "$ref": "#/$defs/__schema255" + } + }, + "required": [ + "type", + "time", + "amount" + ], + "type": "object" +} - added
Input schema / $defs / __schema255Added value: +{ + "const": "ripple", + "type": "string" +} - added
Input schema / $defs / __schema256Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema257Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema258Added value: +{ + "additionalProperties": false, + "description": "Server-authoritative: exclude a [sourceStart,sourceEnd] span (seconds) of a clip's SOURCE (an internal trim) and ripple downstream — the preferred way to drop a sub-range vs a source patch. Coordinates are SOURCE seconds, which a cut or another exclusion never shifts, so several exclusions on one clip can be sent in any order.", + "properties": { + "clipId": { + "$ref": "#/$defs/__schema260" + }, + "reason": { + "$ref": "#/$defs/__schema263" + }, + "sourceEnd": { + "$ref": "#/$defs/__schema262" + }, + "sourceStart": { + "$ref": "#/$defs/__schema261" + }, + "type": { + "$ref": "#/$defs/__schema259" + } + }, + "required": [ + "type", + "clipId", + "sourceStart", + "sourceEnd" + ], + "type": "object" +} - added
Input schema / $defs / __schema259Added value: +{ + "const": "addExcludedRange", + "type": "string" +} - added
Input schema / $defs / __schema26Added value: +{ + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" +} - added
Input schema / $defs / __schema260Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema261Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema262Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema263Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema264Added value: +{ + "additionalProperties": false, + "description": "Server-authoritative: remove a clip's previously-added excluded range by index (re-includes that span, ripples downstream).", + "properties": { + "clipId": { + "$ref": "#/$defs/__schema266" + }, + "rangeIdx": { + "$ref": "#/$defs/__schema267" + }, + "type": { + "$ref": "#/$defs/__schema265" + } + }, + "required": [ + "type", + "clipId", + "rangeIdx" + ], + "type": "object" +} - added
Input schema / $defs / __schema265Added value: +{ + "const": "removeExcludedRange", + "type": "string" +} - added
Input schema / $defs / __schema266Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema267Added value: +{ + "type": "number" +} - added
Input schema / $defs / __schema268Added value: +{ + "additionalProperties": false, + "description": "Atomically repin explicit version3 invocations using complete before/after execution references and an exact composition etag. Persistence must canonically admit scoped source hashes, destination input schemas and every resulting target context before applying, including replay/undo. Never infer a latest head, downgrade versions or accept an admitted flag.", + "properties": { + "changes": { + "$ref": "#/$defs/__schema274" + }, + "componentId": { + "$ref": "#/$defs/__schema270" + }, + "expectedCompositionEtag": { + "$ref": "#/$defs/__schema273" + }, + "from": { + "$ref": "#/$defs/__schema271" + }, + "to": { + "$ref": "#/$defs/__schema272" + }, + "type": { + "$ref": "#/$defs/__schema269" + } + }, + "required": [ + "type", + "componentId", + "from", + "to", + "expectedCompositionEtag", + "changes" + ], + "type": "object" +} - added
Input schema / $defs / __schema269Added value: +{ + "const": "component.repin-v3", + "type": "string" +} - added
Input schema / $defs / __schema27Added value: +{ + "maximum": 2, + "minimum": -1, + "type": "number" +} - added
Input schema / $defs / __schema270Added value: +{ + "minLength": 1, + "type": "string" +} - added
Input schema / $defs / __schema271Added value: +{ + "pattern": "^[a-f0-9]{64}$", + "type": "string" +} - added
Input schema / $defs / __schema272Added value: +{ + "pattern": "^[a-f0-9]{64}$", + "type": "string" +} - added
Input schema / $defs / __schema273Added value: +{ + "minLength": 1, + "type": "string" +} - added
Input schema / $defs / __schema274Added value: +{ + "items": { + "$ref": "#/$defs/__schema275" + }, + "maxItems": 512, + "minItems": 1, + "type": "array" +} - added
Input schema / $defs / __schema275Added value: +{ + "additionalProperties": false, + "properties": { + "after": { + "$ref": "#/$defs/__schema23" + }, + "before": { + "$ref": "#/$defs/__schema23" + }, + "placementId": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "placementId", + "before", + "after" + ], + "type": "object" +} - added
Input schema / $defs / __schema276Added value: +{ + "maxLength": 128, + "minLength": 1, + "type": "string" +} - added
Input schema / $defs / __schema28Added value: +{ + "maximum": 2, + "minimum": -1, + "type": "number" +} - added
Input schema / $defs / __schema29Added value: +{} - added
Input schema / $defs / __schema3Added value: +{ + "additionalProperties": false, + "properties": { + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "scope": { + "additionalProperties": false, + "properties": { + "collection": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "kind": { + "const": "builtin", + "type": "string" + } + }, + "required": [ + "kind", + "collection" + ], + "type": "object" + }, + "sourceVersion": { + "anyOf": [ + { + "const": 3, + "type": "number" + }, + { + "const": 4, + "type": "number" + } + ] + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + } + }, + "required": [ + "scope", + "componentId", + "sourceVersionId", + "sourceVersion" + ], + "type": "object" +} - added
Input schema / $defs / __schema30Added value: +{ + "maximum": 1, + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema31Added value: +{ + "maximum": 1, + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema32Added value: +{ + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" +} - added
Input schema / $defs / __schema33Added value: +{ + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" +} - added
Input schema / $defs / __schema34Added value: +{} - added
Input schema / $defs / __schema35Added value: +{ + "additionalProperties": false, + "properties": { + "ease": { + "type": "string" + }, + "percentage": { + "type": "number" + }, + "properties": { + "additionalProperties": { + "type": "number" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + }, + "required": [ + "percentage", + "properties" + ], + "type": "object" +} - added
Input schema / $defs / __schema36Added value: +{ + "additionalProperties": false, + "properties": { + "t": { + "type": "number" + }, + "v": { + "type": "number" + } + }, + "required": [ + "t", + "v" + ], + "type": "object" +} - added
Input schema / $defs / __schema37Added value: +{ + "additionalProperties": false, + "properties": { + "creative": { + "additionalProperties": false, + "properties": { + "enabled": { + "type": "boolean" + }, + "mediaId": { + "type": "string" + }, + "sha256": { + "type": "string" + }, + "strength": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "mediaId", + "sha256", + "enabled", + "strength" + ], + "type": "object" + }, + "display": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "enabled": { + "type": "boolean" + }, + "mediaId": { + "type": "string" + }, + "sha256": { + "type": "string" + } + }, + "required": [ + "mediaId", + "sha256", + "enabled" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "bundled": { + "enum": [ + "daylight-negative", + "tungsten-negative", + "soft-negative", + "slide", + "black-and-white" + ], + "type": "string" + }, + "enabled": { + "type": "boolean" + } + }, + "required": [ + "bundled", + "enabled" + ], + "type": "object" + } + ] + }, + "enabled": { + "type": "boolean" + }, + "grade": { + "additionalProperties": false, + "properties": { + "blacks": { + "maximum": 1, + "minimum": -1, + "type": "number" + }, + "contrast": { + "maximum": 1, + "minimum": -1, + "type": "number" + }, + "exposure": { + "maximum": 4, + "minimum": -4, + "type": "number" + }, + "highlights": { + "maximum": 1, + "minimum": -1, + "type": "number" + }, + "saturation": { + "maximum": 1, + "minimum": -1, + "type": "number" + }, + "shadows": { + "maximum": 1, + "minimum": -1, + "type": "number" + }, + "temperature": { + "maximum": 1, + "minimum": -1, + "type": "number" + }, + "tint": { + "maximum": 1, + "minimum": -1, + "type": "number" + }, + "vibrance": { + "maximum": 1, + "minimum": -1, + "type": "number" + }, + "whites": { + "maximum": 1, + "minimum": -1, + "type": "number" + } + }, + "required": [ + "exposure", + "contrast", + "highlights", + "shadows", + "whites", + "blacks", + "temperature", + "tint", + "vibrance", + "saturation" + ], + "type": "object" + }, + "grain": { + "additionalProperties": false, + "properties": { + "amount": { + "maximum": 2, + "minimum": 0, + "type": "number" + }, + "enabled": { + "type": "boolean" + }, + "gauge": { + "enum": [ + "super8", + "super16", + "super35", + "65mm" + ], + "type": "string" + }, + "profile": { + "enum": [ + "daylight-negative", + "tungsten-negative", + "soft-negative", + "slide", + "black-and-white" + ], + "type": "string" + }, + "seed": { + "maximum": 4294967295, + "minimum": 0, + "type": "integer" + }, + "size": { + "maximum": 4, + "minimum": 0.5, + "type": "number" + } + }, + "required": [ + "enabled", + "profile", + "gauge", + "amount", + "size", + "seed" + ], + "type": "object" + }, + "halation": { + "additionalProperties": false, + "properties": { + "amount": { + "maximum": 0.5, + "minimum": 0, + "type": "number" + }, + "enabled": { + "type": "boolean" + }, + "radius": { + "maximum": 0.02, + "minimum": 0.0005, + "type": "number" + }, + "threshold": { + "maximum": 16, + "minimum": 0, + "type": "number" + }, + "tint": { + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "$ref": "#/$defs/__schema39" + }, + { + "$ref": "#/$defs/__schema40" + }, + { + "$ref": "#/$defs/__schema41" + } + ], + "type": "array" + } + }, + "required": [ + "enabled", + "amount", + "radius", + "threshold", + "tint" + ], + "type": "object" + }, + "looks": { + "items": { + "$ref": "#/$defs/__schema38" + }, + "maxItems": 2, + "type": "array" + }, + "version": { + "const": 1, + "type": "number" + } + }, + "required": [ + "version", + "enabled", + "grade", + "looks" + ], + "type": "object" +} - added
Input schema / $defs / __schema38Added value: +{ + "additionalProperties": false, + "properties": { + "enabled": { + "type": "boolean" + }, + "mediaId": { + "type": "string" + }, + "sha256": { + "type": "string" + } + }, + "required": [ + "mediaId", + "sha256", + "enabled" + ], + "type": "object" +} - added
Input schema / $defs / __schema39Added value: +{ + "maximum": 1, + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema4Added value: +{ + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "expectedRevision": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "mode": { + "const": "exact", + "type": "string" + } + }, + "required": [ + "mode", + "expectedRevision" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "basis": { + "items": { + "$ref": "#/$defs/__schema5" + }, + "maxItems": 2048, + "type": "array" + }, + "compositionId": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "mode": { + "const": "guarded", + "type": "string" + }, + "observedRevision": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "mode", + "observedRevision", + "basis" + ], + "type": "object" + } + ] +} - added
Input schema / $defs / __schema40Added value: +{ + "maximum": 1, + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema41Added value: +{ + "maximum": 1, + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema42Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema43Added value: +{ + "type": "boolean" +} - added
Input schema / $defs / __schema44Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema45Added value: +{ + "additionalProperties": false, + "description": "Remove a clip by id (located across every track).", + "properties": { + "clipId": { + "$ref": "#/$defs/__schema47" + }, + "type": { + "$ref": "#/$defs/__schema46" + } + }, + "required": [ + "type", + "clipId" + ], + "type": "object" +} - added
Input schema / $defs / __schema46Added value: +{ + "const": "clip.remove", + "type": "string" +} - added
Input schema / $defs / __schema47Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema48Added value: +{ + "additionalProperties": false, + "description": "Set (or CLEAR, with `keyframes: null`) ONE keyframed channel of a clip: `opacity`, `scale`, `rotation`, `position.x`, `position.y` or `volume`, with at least two keyframes `{time, value, ease?}` in any order. `time` is seconds from the clip's own start (0 to its duration); `value` uses the property's own unit, as its scalar: opacity 0-1, scale a multiplier, rotation degrees, position.x/position.y a FRACTION of the frame (0.5 = centre, never px), volume 0-4. Each keyframe's optional `ease` shapes the segment ARRIVING at it, in HyperFrames' vocabulary: `none` (linear, the default), named eases such as `power2.out`, `back.out`, `expo.inOut`, `spring-gentle`, `hold`, or `custom(M0,0 Cx1,y1 x2,y2 1,1)` (a cubic, x in [0,1]). Before its first keyframe a channel holds its first value, after its last it holds the last; a channel OVERRIDES the clip's scalar (`opacity`, `scale`, `rotation`, `position`). The op REPLACES that property's keyframes; other channels are untouched. Volume keyframes are linear and only for a video or audio media clip. Trims and splits keep every keyframe on its content. Keyframes are stored as HyperFrames tweens (`tweens`) and automation (`automation`) on the clip; author them with this op, not `clip.update`.", + "properties": { + "clipId": { + "$ref": "#/$defs/__schema50" + }, + "keyframes": { + "$ref": "#/$defs/__schema52" + }, + "property": { + "$ref": "#/$defs/__schema51" + }, + "type": { + "$ref": "#/$defs/__schema49" + } + }, + "required": [ + "type", + "clipId", + "property", + "keyframes" + ], + "type": "object" +} - added
Input schema / $defs / __schema49Added value: +{ + "const": "clip.setKeyframes", + "type": "string" +} - added
Input schema / $defs / __schema5Added value: +{ + "additionalProperties": false, + "properties": { + "key": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "token": { + "maxLength": 65536, + "type": "string" + } + }, + "required": [ + "key", + "token" + ], + "type": "object" +} - added
Input schema / $defs / __schema50Added value: +{ + "minLength": 1, + "type": "string" +} - added
Input schema / $defs / __schema51Added value: +{ + "enum": [ + "opacity", + "scale", + "rotation", + "position.x", + "position.y", + "volume" + ], + "type": "string" +} - added
Input schema / $defs / __schema52Added value: +{ + "anyOf": [ + { + "items": { + "$ref": "#/$defs/__schema53" + }, + "minItems": 2, + "type": "array" + }, + { + "type": "null" + } + ] +} - added
Input schema / $defs / __schema53Added value: +{ + "additionalProperties": false, + "properties": { + "ease": { + "type": "string" + }, + "time": { + "minimum": 0, + "type": "number" + }, + "value": { + "type": "number" + } + }, + "required": [ + "time", + "value" + ], + "type": "object" +} - added
Input schema / $defs / __schema54Added value: +{ + "additionalProperties": false, + "description": "Patch an existing clip by id (cross-family). The patch is a partial TimelineClip. NOTE: `source` is REPLACED wholesale — the patch merges at the top level only, so a partial `source` WIPES the source fields you omit. Patch the whole source object when changing it. (To change reframe/excluded ranges, prefer setCropIntents / addExcludedRange, not a source patch.)", + "properties": { + "clipId": { + "$ref": "#/$defs/__schema56" + }, + "patch": { + "$ref": "#/$defs/__schema57" + }, + "type": { + "$ref": "#/$defs/__schema55" + } + }, + "required": [ + "type", + "clipId", + "patch" + ], + "type": "object" +} - added
Input schema / $defs / __schema55Added value: +{ + "const": "clip.update", + "type": "string" +} - added
Input schema / $defs / __schema56Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema57Added value: +{ + "additionalProperties": false, + "properties": { + "automation": { + "additionalProperties": false, + "properties": { + "lanes": { + "items": { + "additionalProperties": false, + "properties": { + "points": { + "items": { + "$ref": "#/$defs/__schema67" + }, + "minItems": 2, + "type": "array" + }, + "target": { + "const": "volume", + "type": "string" + } + }, + "required": [ + "target", + "points" + ], + "type": "object" + }, + "type": "array" + }, + "version": { + "const": 1, + "type": "number" + } + }, + "required": [ + "version", + "lanes" + ], + "type": "object" + }, + "captionVisibility": { + "description": "Video media clip only. Hide native captions while this clip is topmost and covers the lower picture, or when an opaque, effect-free clip has an explicitly full-frame region, even with fit:contain. Caption words and timings remain stored and resume when another visible clip takes over.", + "enum": [ + "visible", + "hidden" + ], + "type": "string" + }, + "color": { + "$ref": "#/$defs/__schema37" + }, + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "effects": { + "items": { + "additionalProperties": false, + "properties": { + "component": { + "$ref": "#/$defs/__schema23" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "params": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "type": "string" + }, + "window": { + "additionalProperties": false, + "properties": { + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "startTime": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "startTime", + "duration" + ], + "type": "object" + } + }, + "type": "object" + }, + "type": "array" + }, + "fit": { + "enum": [ + "cover", + "contain" + ], + "type": "string" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "kind": { + "enum": [ + "video", + "audio", + "image", + "overlay", + "effect" + ], + "type": "string" + }, + "legacyKeyframes": { + "additionalProperties": false, + "properties": { + "channels": { + "items": { + "type": "string" + }, + "type": "array" + }, + "needsUpgrade": { + "const": true, + "type": "boolean" + }, + "record": {} + }, + "required": [ + "needsUpgrade", + "channels", + "record" + ], + "type": "object" + }, + "linkGroupId": { + "minLength": 1, + "type": "string" + }, + "opacity": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "position": { + "additionalProperties": { + "$ref": "#/$defs/__schema60" + }, + "description": "Clip CENTRE as a fraction of the frame: {x:0.5,y:0.5} is dead centre, 0 to 1 is inside the frame, and a little overshoot (down to -1, up to 2) is how an entrance starts off-canvas. NOT pixels: the renderer maps x to `left: x*100%`, so `x: 180` sits 180 frame-widths away and draws nothing.", + "properties": { + "x": { + "$ref": "#/$defs/__schema58" + }, + "y": { + "$ref": "#/$defs/__schema59" + } + }, + "required": [ + "x", + "y" + ], + "type": "object" + }, + "region": { + "additionalProperties": { + "$ref": "#/$defs/__schema65" + }, + "description": "A window in the frame that the clip draws into and is clipped to (top-left corner and size, each a frame fraction). Inside a region, `position` and `scale` act relative to that window, so content moved past its edge is cut off. Omit it to place the clip against the whole frame.", + "properties": { + "h": { + "$ref": "#/$defs/__schema64" + }, + "w": { + "$ref": "#/$defs/__schema63" + }, + "x": { + "$ref": "#/$defs/__schema61" + }, + "y": { + "$ref": "#/$defs/__schema62" + } + }, + "required": [ + "x", + "y", + "w", + "h" + ], + "type": "object" + }, + "rotation": { + "type": "number" + }, + "scale": { + "exclusiveMinimum": 0, + "type": "number" + }, + "source": { + "$ref": "#/$defs/__schema10" + }, + "startTime": { + "minimum": 0, + "type": "number" + }, + "transitionIn": { + "additionalProperties": {}, + "properties": { + "component": { + "$ref": "#/$defs/__schema23" + }, + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "fromClipId": { + "minLength": 1, + "type": "string" + }, + "handlePolicy": { + "const": "outgoing-overrun-at-cut-v1", + "type": "string" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "toClipId": { + "minLength": 1, + "type": "string" + }, + "type": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "type", + "duration" + ], + "type": "object" + }, + "tweens": { + "items": { + "additionalProperties": false, + "properties": { + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "keyframes": { + "additionalProperties": false, + "properties": { + "easeEach": { + "const": "none", + "type": "string" + }, + "format": { + "const": "percentage", + "type": "string" + }, + "keyframes": { + "items": { + "$ref": "#/$defs/__schema66" + }, + "minItems": 2, + "type": "array" + } + }, + "required": [ + "format", + "easeEach", + "keyframes" + ], + "type": "object" + }, + "position": { + "type": "number" + }, + "propertyGroup": { + "enum": [ + "visual", + "scale", + "rotation", + "position" + ], + "type": "string" + } + }, + "required": [ + "id", + "propertyGroup", + "position", + "duration", + "keyframes" + ], + "type": "object" + }, + "type": "array" + } + }, + "type": "object" +} - added
Input schema / $defs / __schema58Added value: +{ + "maximum": 2, + "minimum": -1, + "type": "number" +} - added
Input schema / $defs / __schema59Added value: +{ + "maximum": 2, + "minimum": -1, + "type": "number" +} - added
Input schema / $defs / __schema6Added value: +{ + "additionalProperties": false, + "properties": { + "concurrency": { + "$ref": "#/$defs/__schema4" + }, + "operation": { + "description": "One scoped composition operation. Discriminated by `type` — `clip.add` / `clip.remove` / `clip.update` patch clips across any family; the rest cover markers, reframe, effects, captions, format, tracks, and the server-authoritative ripple recomputes. Every variant is `.strict()`: an unknown field is refused, not ignored.", + "oneOf": [ + { + "$ref": "#/$defs/__schema7" + }, + { + "$ref": "#/$defs/__schema45" + }, + { + "$ref": "#/$defs/__schema48" + }, + { + "$ref": "#/$defs/__schema54" + }, + { + "$ref": "#/$defs/__schema68" + }, + { + "$ref": "#/$defs/__schema71" + }, + { + "$ref": "#/$defs/__schema74" + }, + { + "$ref": "#/$defs/__schema77" + }, + { + "$ref": "#/$defs/__schema80" + }, + { + "$ref": "#/$defs/__schema84" + }, + { + "$ref": "#/$defs/__schema88" + }, + { + "$ref": "#/$defs/__schema92" + }, + { + "$ref": "#/$defs/__schema96" + }, + { + "$ref": "#/$defs/__schema100" + }, + { + "$ref": "#/$defs/__schema108" + }, + { + "$ref": "#/$defs/__schema111" + }, + { + "$ref": "#/$defs/__schema115" + }, + { + "$ref": "#/$defs/__schema118" + }, + { + "$ref": "#/$defs/__schema198" + }, + { + "$ref": "#/$defs/__schema206" + }, + { + "$ref": "#/$defs/__schema211" + }, + { + "$ref": "#/$defs/__schema215" + }, + { + "$ref": "#/$defs/__schema218" + }, + { + "$ref": "#/$defs/__schema221" + }, + { + "$ref": "#/$defs/__schema226" + }, + { + "$ref": "#/$defs/__schema229" + }, + { + "$ref": "#/$defs/__schema233" + }, + { + "$ref": "#/$defs/__schema237" + }, + { + "$ref": "#/$defs/__schema242" + }, + { + "$ref": "#/$defs/__schema246" + }, + { + "$ref": "#/$defs/__schema250" + }, + { + "$ref": "#/$defs/__schema254" + }, + { + "$ref": "#/$defs/__schema258" + }, + { + "$ref": "#/$defs/__schema264" + }, + { + "$ref": "#/$defs/__schema268" + } + ] + }, + "operationId": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "operationId", + "operation" + ], + "type": "object" +} - added
Input schema / $defs / __schema60Added value: +{} - added
Input schema / $defs / __schema61Added value: +{ + "maximum": 1, + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema62Added value: +{ + "maximum": 1, + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema63Added value: +{ + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" +} - added
Input schema / $defs / __schema64Added value: +{ + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" +} - added
Input schema / $defs / __schema65Added value: +{} - added
Input schema / $defs / __schema66Added value: +{ + "additionalProperties": false, + "properties": { + "ease": { + "type": "string" + }, + "percentage": { + "type": "number" + }, + "properties": { + "additionalProperties": { + "type": "number" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + }, + "required": [ + "percentage", + "properties" + ], + "type": "object" +} - added
Input schema / $defs / __schema67Added value: +{ + "additionalProperties": false, + "properties": { + "t": { + "type": "number" + }, + "v": { + "type": "number" + } + }, + "required": [ + "t", + "v" + ], + "type": "object" +} - added
Input schema / $defs / __schema68Added value: +{ + "additionalProperties": false, + "description": "Remove EVERY clip sourced from a given mediaId (e.g. after deleting that media).", + "properties": { + "mediaId": { + "$ref": "#/$defs/__schema70" + }, + "type": { + "$ref": "#/$defs/__schema69" + } + }, + "required": [ + "type", + "mediaId" + ], + "type": "object" +} - added
Input schema / $defs / __schema69Added value: +{ + "const": "removeClipsByMediaId", + "type": "string" +} - added
Input schema / $defs / __schema7Added value: +{ + "additionalProperties": false, + "description": "Add a clip to the timeline. The clip self-routes to a track by FAMILY (`clip.kind`, else derived from `source.kind`, else the target track) — a `media` clip MUST carry `kind` (video|audio|image) or a `trackId`, else it is rejected as ambiguous. `trackId` targets an existing SAME-family track; `newTrack:true` (with optional pinned `newTrackId`) creates a fresh track of that family, appended at the BACK (the highest index, painted under every other track); raise it with `reorderTracks` (index 0 is the top layer).", + "properties": { + "clip": { + "$ref": "#/$defs/__schema9" + }, + "newTrack": { + "$ref": "#/$defs/__schema43" + }, + "newTrackId": { + "$ref": "#/$defs/__schema44" + }, + "trackId": { + "$ref": "#/$defs/__schema42" + }, + "type": { + "$ref": "#/$defs/__schema8" + } + }, + "required": [ + "type", + "clip" + ], + "type": "object" +} - added
Input schema / $defs / __schema70Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema71Added value: +{ + "additionalProperties": false, + "description": "Replace the overlay channel wholesale with the given clips (bulk set, not a merge).", + "properties": { + "clips": { + "$ref": "#/$defs/__schema73" + }, + "type": { + "$ref": "#/$defs/__schema72" + } + }, + "required": [ + "type", + "clips" + ], + "type": "object" +} - added
Input schema / $defs / __schema72Added value: +{ + "const": "loadOverlays", + "type": "string" +} - added
Input schema / $defs / __schema73Added value: +{ + "items": { + "$ref": "#/$defs/__schema9" + }, + "type": "array" +} - added
Input schema / $defs / __schema74Added value: +{ + "additionalProperties": false, + "description": "Add a timeline marker (a named time point/range; carry extensions in `metadata`).", + "properties": { + "marker": { + "$ref": "#/$defs/__schema76" + }, + "type": { + "$ref": "#/$defs/__schema75" + } + }, + "required": [ + "type", + "marker" + ], + "type": "object" +} - added
Input schema / $defs / __schema75Added value: +{ + "const": "addMarker", + "type": "string" +} - added
Input schema / $defs / __schema76Added value: +{ + "additionalProperties": false, + "properties": { + "endTime": { + "minimum": 0, + "type": "number" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "kind": { + "minLength": 1, + "type": "string" + }, + "metadata": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "name": { + "type": "string" + }, + "startTime": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "id", + "startTime", + "kind" + ], + "type": "object" +} - added
Input schema / $defs / __schema77Added value: +{ + "additionalProperties": false, + "description": "Remove a marker by id.", + "properties": { + "markerId": { + "$ref": "#/$defs/__schema79" + }, + "type": { + "$ref": "#/$defs/__schema78" + } + }, + "required": [ + "type", + "markerId" + ], + "type": "object" +} - added
Input schema / $defs / __schema78Added value: +{ + "const": "removeMarker", + "type": "string" +} - added
Input schema / $defs / __schema79Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema8Added value: +{ + "const": "clip.add", + "type": "string" +} - added
Input schema / $defs / __schema80Added value: +{ + "additionalProperties": false, + "description": "Patch a marker's fields by id (partial merge).", + "properties": { + "markerId": { + "$ref": "#/$defs/__schema82" + }, + "type": { + "$ref": "#/$defs/__schema81" + }, + "updates": { + "$ref": "#/$defs/__schema83" + } + }, + "required": [ + "type", + "markerId", + "updates" + ], + "type": "object" +} - added
Input schema / $defs / __schema81Added value: +{ + "const": "updateMarker", + "type": "string" +} - added
Input schema / $defs / __schema82Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema83Added value: +{ + "additionalProperties": false, + "properties": { + "endTime": { + "minimum": 0, + "type": "number" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "kind": { + "minLength": 1, + "type": "string" + }, + "metadata": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "name": { + "type": "string" + }, + "startTime": { + "minimum": 0, + "type": "number" + } + }, + "type": "object" +} - added
Input schema / $defs / __schema84Added value: +{ + "additionalProperties": false, + "description": "Set (or CLEAR, with `segments: null`) the camera/reframe channel on a MEDIA clip — the time-aligned source→output viewport (focus, zoom, ease, bias). This is the PREFERRED way to author reframing; do NOT reframe via a whole-source `clip.update` patch. Segments tile the clip's duration.", + "properties": { + "clipId": { + "$ref": "#/$defs/__schema86" + }, + "segments": { + "$ref": "#/$defs/__schema87" + }, + "type": { + "$ref": "#/$defs/__schema85" + } + }, + "required": [ + "type", + "clipId", + "segments" + ], + "type": "object" +} - added
Input schema / $defs / __schema85Added value: +{ + "const": "setCropIntents", + "type": "string" +} - added
Input schema / $defs / __schema86Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema87Added value: +{ + "anyOf": [ + { + "items": { + "$ref": "#/$defs/__schema11" + }, + "type": "array" + }, + { + "type": "null" + } + ] +} - added
Input schema / $defs / __schema88Added value: +{ + "additionalProperties": false, + "description": "Set (or CLEAR, with `effects: []`) a clip's EFFECT channel — the pinned component clip wrappers stacked onto that clip, each `{id, component, window}`: a unique `id`, the wrapper component's execution pin as `component`, and `window: {startTime, duration}` in seconds. The built-in primitive effects were removed: a stored one reads, and save and render refuse it (`effect_retired`), so clear it with `effects: []`. WHOLESALE: the array REPLACES the clip's current effects, so send the full stack (read the clip first to add one). This is the ONLY way to change effects on an existing clip — do NOT reach for a `clip.update` patch, whose top-level merge is the source-clobbering footgun documented above.", + "properties": { + "clipId": { + "$ref": "#/$defs/__schema90" + }, + "effects": { + "$ref": "#/$defs/__schema91" + }, + "type": { + "$ref": "#/$defs/__schema89" + } + }, + "required": [ + "type", + "clipId", + "effects" + ], + "type": "object" +} - added
Input schema / $defs / __schema89Added value: +{ + "const": "setEffects", + "type": "string" +} - added
Input schema / $defs / __schema9Added value: +{ + "additionalProperties": false, + "properties": { + "automation": { + "additionalProperties": false, + "properties": { + "lanes": { + "items": { + "additionalProperties": false, + "properties": { + "points": { + "items": { + "$ref": "#/$defs/__schema36" + }, + "minItems": 2, + "type": "array" + }, + "target": { + "const": "volume", + "type": "string" + } + }, + "required": [ + "target", + "points" + ], + "type": "object" + }, + "type": "array" + }, + "version": { + "const": 1, + "type": "number" + } + }, + "required": [ + "version", + "lanes" + ], + "type": "object" + }, + "captionVisibility": { + "description": "Video media clip only. Hide native captions while this clip is topmost and covers the lower picture, or when an opaque, effect-free clip has an explicitly full-frame region, even with fit:contain. Caption words and timings remain stored and resume when another visible clip takes over.", + "enum": [ + "visible", + "hidden" + ], + "type": "string" + }, + "color": { + "$ref": "#/$defs/__schema37" + }, + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "effects": { + "items": { + "additionalProperties": false, + "properties": { + "component": { + "$ref": "#/$defs/__schema23" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "params": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "type": "string" + }, + "window": { + "additionalProperties": false, + "properties": { + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "startTime": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "startTime", + "duration" + ], + "type": "object" + } + }, + "type": "object" + }, + "type": "array" + }, + "fit": { + "enum": [ + "cover", + "contain" + ], + "type": "string" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "kind": { + "enum": [ + "video", + "audio", + "image", + "overlay", + "effect" + ], + "type": "string" + }, + "legacyKeyframes": { + "additionalProperties": false, + "properties": { + "channels": { + "items": { + "type": "string" + }, + "type": "array" + }, + "needsUpgrade": { + "const": true, + "type": "boolean" + }, + "record": {} + }, + "required": [ + "needsUpgrade", + "channels", + "record" + ], + "type": "object" + }, + "linkGroupId": { + "minLength": 1, + "type": "string" + }, + "opacity": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "position": { + "additionalProperties": { + "$ref": "#/$defs/__schema29" + }, + "description": "Clip CENTRE as a fraction of the frame: {x:0.5,y:0.5} is dead centre, 0 to 1 is inside the frame, and a little overshoot (down to -1, up to 2) is how an entrance starts off-canvas. NOT pixels: the renderer maps x to `left: x*100%`, so `x: 180` sits 180 frame-widths away and draws nothing.", + "properties": { + "x": { + "$ref": "#/$defs/__schema27" + }, + "y": { + "$ref": "#/$defs/__schema28" + } + }, + "required": [ + "x", + "y" + ], + "type": "object" + }, + "region": { + "additionalProperties": { + "$ref": "#/$defs/__schema34" + }, + "description": "A window in the frame that the clip draws into and is clipped to (top-left corner and size, each a frame fraction). Inside a region, `position` and `scale` act relative to that window, so content moved past its edge is cut off. Omit it to place the clip against the whole frame.", + "properties": { + "h": { + "$ref": "#/$defs/__schema33" + }, + "w": { + "$ref": "#/$defs/__schema32" + }, + "x": { + "$ref": "#/$defs/__schema30" + }, + "y": { + "$ref": "#/$defs/__schema31" + } + }, + "required": [ + "x", + "y", + "w", + "h" + ], + "type": "object" + }, + "rotation": { + "type": "number" + }, + "scale": { + "exclusiveMinimum": 0, + "type": "number" + }, + "source": { + "$ref": "#/$defs/__schema10" + }, + "startTime": { + "minimum": 0, + "type": "number" + }, + "transitionIn": { + "additionalProperties": {}, + "properties": { + "component": { + "$ref": "#/$defs/__schema23" + }, + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "fromClipId": { + "minLength": 1, + "type": "string" + }, + "handlePolicy": { + "const": "outgoing-overrun-at-cut-v1", + "type": "string" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "toClipId": { + "minLength": 1, + "type": "string" + }, + "type": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "type", + "duration" + ], + "type": "object" + }, + "tweens": { + "items": { + "additionalProperties": false, + "properties": { + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "keyframes": { + "additionalProperties": false, + "properties": { + "easeEach": { + "const": "none", + "type": "string" + }, + "format": { + "const": "percentage", + "type": "string" + }, + "keyframes": { + "items": { + "$ref": "#/$defs/__schema35" + }, + "minItems": 2, + "type": "array" + } + }, + "required": [ + "format", + "easeEach", + "keyframes" + ], + "type": "object" + }, + "position": { + "type": "number" + }, + "propertyGroup": { + "enum": [ + "visual", + "scale", + "rotation", + "position" + ], + "type": "string" + } + }, + "required": [ + "id", + "propertyGroup", + "position", + "duration", + "keyframes" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "id", + "startTime", + "duration", + "source" + ], + "type": "object" +} - added
Input schema / $defs / __schema90Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema91Added value: +{ + "items": { + "additionalProperties": false, + "properties": { + "component": { + "$ref": "#/$defs/__schema23" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "params": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "type": "string" + }, + "window": { + "additionalProperties": false, + "properties": { + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "startTime": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "startTime", + "duration" + ], + "type": "object" + } + }, + "type": "object" + }, + "type": "array" +} - added
Input schema / $defs / __schema92Added value: +{ + "additionalProperties": false, + "description": "Set (or CLEAR, with `inputTransform: null`) how a MEDIA's pixels are decoded into the working color space, for every clip of that media: `{version: 1, id, table?, ycbcr?}` with `id` one of rec709, insta360-ilog, custom-lut, apple-log. `custom-lut` is a camera LUT (log → Rec.709, e.g. DJI's D-Log M LUT): it requires `table: {mediaId, sha256, enabled}` naming an uploaded .cube LUT, and its output is read as Rec.709 footage; the others take no table. `ycbcr: {matrix, range}` overrides the source's signalled YCbCr matrix and range. The entry lives in the composition's `media` map; the media must be used by a clip in this composition, and removing its last clip removes the entry. To set a camera input for many media, send one `setMediaInputTransform` per media in a single `apply_composition` call.", + "properties": { + "inputTransform": { + "$ref": "#/$defs/__schema95" + }, + "mediaId": { + "$ref": "#/$defs/__schema94" + }, + "type": { + "$ref": "#/$defs/__schema93" + } + }, + "required": [ + "type", + "mediaId", + "inputTransform" + ], + "type": "object" +} - added
Input schema / $defs / __schema93Added value: +{ + "const": "setMediaInputTransform", + "type": "string" +} - added
Input schema / $defs / __schema94Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema95Added value: +{ + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "id": { + "enum": [ + "rec709", + "insta360-ilog", + "custom-lut", + "apple-log" + ], + "type": "string" + }, + "table": { + "additionalProperties": false, + "properties": { + "enabled": { + "type": "boolean" + }, + "mediaId": { + "type": "string" + }, + "sha256": { + "type": "string" + } + }, + "required": [ + "mediaId", + "sha256", + "enabled" + ], + "type": "object" + }, + "version": { + "const": 1, + "type": "number" + }, + "ycbcr": { + "additionalProperties": false, + "properties": { + "matrix": { + "enum": [ + "bt709", + "bt2020", + "bt601" + ], + "type": "string" + }, + "range": { + "enum": [ + "limited", + "full" + ], + "type": "string" + } + }, + "required": [ + "matrix", + "range" + ], + "type": "object" + } + }, + "required": [ + "version", + "id" + ], + "type": "object" + }, + { + "type": "null" + } + ] +} - added
Input schema / $defs / __schema96Added value: +{ + "additionalProperties": false, + "description": "Set (or CLEAR, with `color: null`) a video media clip's color correction, WHOLESALE: `{version: 1, enabled, grade, looks, display?, creative?}`. `grade` holds every primary control: `exposure` in stops (-4..4) and `contrast`, `highlights`, `shadows`, `whites`, `blacks`, `temperature`, `tint`, `vibrance`, `saturation` each -1..1 (0 = neutral). `looks` (at most 2), `display` and `creative` name uploaded .cube LUTs as `{mediaId, sha256, enabled}`; `creative` adds `strength` 0..1. `display` may instead name a bundled film look as `{bundled, enabled}`, `bundled` one of daylight-negative, tungsten-negative, soft-negative, slide, black-and-white. `halation?: {enabled, amount 0..0.5, radius (picture heights) 0.0005..0.02, threshold 0..16, tint [r,g,b] 0..1}`; `grain?: {enabled, profile (a film look id), gauge super8|super16|super35|65mm, amount 0..2, size 0.5..4, seed uint32}`. Film presets are whole values, applied by replacing `display`, `halation` and `grain` with exactly what the preset names (absent = removed), writing only the grade keys it names, `display` as `{bundled, enabled: true}`, `halation`/`grain` with `enabled: true`, and grain `seed` kept or any uint32. Presets: {\"id\":\"daylight-negative\",\"name\":\"Daylight Negative\",\"display\":\"daylight-negative\",\"halation\":{\"amount\":0.015,\"radius\":0.0026795284030010718,\"threshold\":0,\"tint\":[1,0.33333333333333337,0]},\"grain\":{\"profile\":\"daylight-negative\",\"gauge\":\"super35\",\"amount\":1,\"size\":1}}; {\"id\":\"tungsten-negative\",\"name\":\"Tungsten Negative\",\"display\":\"tungsten-negative\",\"halation\":{\"amount\":0.015,\"radius\":0.0026795284030010718,\"threshold\":0,\"tint\":[1,0.33333333333333337,0]},\"grain\":{\"profile\":\"tungsten-negative\",\"gauge\":\"super35\",\"amount\":1,\"size\":1}}; {\"id\":\"soft-negative\",\"name\":\"Soft Negative\",\"display\":\"soft-negative\",\"halation\":{\"amount\":0.015,\"radius\":0.0034833869239013935,\"threshold\":0,\"tint\":[1,0.33333333333333337,0]},\"grain\":{\"profile\":\"soft-negative\",\"gauge\":\"super35\",\"amount\":1,\"size\":1}}; {\"id\":\"slide\",\"name\":\"Slide\",\"display\":\"slide\",\"halation\":{\"amount\":0.015,\"radius\":0.0034833869239013935,\"threshold\":0,\"tint\":[1,0.33333333333333337,0]},\"grain\":{\"profile\":\"slide\",\"gauge\":\"super35\",\"amount\":1,\"size\":1}}; {\"id\":\"black-and-white\",\"name\":\"Black and White\",\"display\":\"black-and-white\",\"halation\":{\"amount\":0.015,\"radius\":0.0026795284030010718,\"threshold\":0,\"tint\":[1,0.33333333333333337,0]},\"grain\":{\"profile\":\"black-and-white\",\"gauge\":\"super35\",\"amount\":1,\"size\":1}}; {\"id\":\"grain-only-fine\",\"name\":\"Fine grain\",\"grain\":{\"profile\":\"daylight-negative\",\"gauge\":\"65mm\",\"amount\":1,\"size\":1}}; {\"id\":\"halation-only\",\"name\":\"Halation\",\"halation\":{\"amount\":0.08,\"radius\":0.0026795284030010718,\"threshold\":0,\"tint\":[1,0.25,0]}}. `enabled: false` bypasses the whole correction. Only a media clip on a video track takes color.", + "properties": { + "clipId": { + "$ref": "#/$defs/__schema98" + }, + "color": { + "$ref": "#/$defs/__schema99" + }, + "type": { + "$ref": "#/$defs/__schema97" + } + }, + "required": [ + "type", + "clipId", + "color" + ], + "type": "object" +} - added
Input schema / $defs / __schema97Added value: +{ + "const": "setClipColor", + "type": "string" +} - added
Input schema / $defs / __schema98Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema99Added value: +{ + "anyOf": [ + { + "$ref": "#/$defs/__schema37" + }, + { + "type": "null" + } + ] +} - added
Input schema / properties / body / properties / composition / properties / builtinSources / items / $refAdded value: +"#/$defs/__schema3" - removed
Input schema / properties / body / properties / composition / properties / builtinSources / items / additionalPropertiesRemoved value: -false - removed
Input schema / properties / body / properties / composition / properties / builtinSources / items / propertiesRemoved value: -{ - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "scope": { - "additionalProperties": false, - "properties": { - "collection": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "builtin", - "type": "string" - } - }, - "required": [ - "kind", - "collection" - ], - "type": "object" - }, - "sourceVersion": { - "anyOf": [ - { - "const": 3, - "type": "number" - }, - { - "const": 4, - "type": "number" - } - ] - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - } -} - removed
Input schema / properties / body / properties / composition / properties / builtinSources / items / requiredRemoved value: -[ - "scope", - "componentId", - "sourceVersionId", - "sourceVersion" -] - removed
Input schema / properties / body / properties / composition / properties / builtinSources / items / typeRemoved value: -"object" - changed
Input schema / properties / body / properties / composition / properties / componentExecutionVersions / anyOfPrevious value: -[ - { - "items": false, - "maxItems": 1, - "minItems": 1, - "prefixItems": [ - { - "const": 3, - "type": "number" - } - ], - "type": "array" - }, - { - "items": false, - "maxItems": 2, - "minItems": 2, - "prefixItems": [ - { - "const": 3, - "type": "number" - }, - { - "const": 4, - "type": "number" - } - ], - "type": "array" - } -]New value: +[ + { + "items": false, + "maxItems": 1, + "minItems": 1, + "prefixItems": [ + { + "$ref": "#/$defs/__schema0" + } + ], + "type": "array" + }, + { + "items": false, + "maxItems": 2, + "minItems": 2, + "prefixItems": [ + { + "$ref": "#/$defs/__schema1" + }, + { + "$ref": "#/$defs/__schema2" + } + ], + "type": "array" + } +] - added
Input schema / properties / body / properties / composition / properties / concurrency / $refAdded value: +"#/$defs/__schema4" - removed
Input schema / properties / body / properties / composition / properties / concurrency / oneOfRemoved value: -[ - { - "additionalProperties": false, - "properties": { - "expectedRevision": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "mode": { - "const": "exact", - "type": "string" - } - }, - "required": [ - "mode", - "expectedRevision" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "basis": { - "items": { - "additionalProperties": false, - "properties": { - "key": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "token": { - "maxLength": 65536, - "type": "string" - } - }, - "required": [ - "key", - "token" - ], - "type": "object" - }, - "maxItems": 2048, - "type": "array" - }, - "compositionId": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "mode": { - "const": "guarded", - "type": "string" - }, - "observedRevision": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "mode", - "observedRevision", - "basis" - ], - "type": "object" - } -] - added
Input schema / properties / body / properties / composition / properties / operations / items / $refAdded value: +"#/$defs/__schema6" - removed
Input schema / properties / body / properties / composition / properties / operations / items / additionalPropertiesRemoved value: -false - removed
Input schema / properties / body / properties / composition / properties / operations / items / propertiesRemoved value: -{ - "concurrency": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "expectedRevision": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "mode": { - "const": "exact", - "type": "string" - } - }, - "required": [ - "mode", - "expectedRevision" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "basis": { - "items": { - "additionalProperties": false, - "properties": { - "key": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "token": { - "maxLength": 65536, - "type": "string" - } - }, - "required": [ - "key", - "token" - ], - "type": "object" - }, - "maxItems": 2048, - "type": "array" - }, - "compositionId": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "mode": { - "const": "guarded", - "type": "string" - }, - "observedRevision": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "mode", - "observedRevision", - "basis" - ], - "type": "object" - } - ] - }, - "operation": { - "description": "One scoped composition operation. Discriminated by `type` — `clip.add` / `clip.remove` / `clip.update` patch clips across any family; the rest cover markers, reframe, effects, captions, format, tracks, and the server-authoritative ripple recomputes. Every variant is `.strict()`: an unknown field is refused, not ignored.", - "oneOf": [ - { - "additionalProperties": false, - "description": "Add a clip to the timeline. The clip self-routes to a track by FAMILY (`clip.kind`, else derived from `source.kind`, else the target track) — a `media` clip MUST carry `kind` (video|audio|image) or a `trackId`, else it is rejected as ambiguous. `trackId` targets an existing SAME-family track; `newTrack:true` (with optional pinned `newTrackId`) creates a fresh track of that family.", - "properties": { - "clip": { - "additionalProperties": false, - "properties": { - "automation": { - "additionalProperties": false, - "properties": { - "lanes": { - "items": { - "additionalProperties": false, - "properties": { - "points": { - "items": { - "additionalProperties": false, - "properties": { - "t": { - "type": "number" - }, - "v": { - "type": "number" - } - }, - "required": [ - "t", - "v" - ], - "type": "object" - }, - "minItems": 2, - "type": "array" - }, - "target": { - "const": "volume", - "type": "string" - } - }, - "required": [ - "target", - "points" - ], - "type": "object" - }, - "type": "array" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "lanes" - ], - "type": "object" - }, - "captionVisibility": { - "description": "Video media clip only. Hide native captions while this clip is topmost and covers the lower picture, or when an opaque, effect-free clip has an explicitly full-frame region, even with fit:contain. Caption words and timings remain stored and resume when another visible clip takes over.", - "enum": [ - "visible", - "hidden" - ], - "type": "string" - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "effects": { - "items": { - "additionalProperties": false, - "properties": { - "component": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "id": { - "minLength": 1, - "type": "string" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "window": { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "startTime": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "startTime", - "duration" - ], - "type": "object" - } - }, - "type": "object" - }, - "type": "array" - }, - "fit": { - "enum": [ - "cover", - "contain" - ], - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "kind": { - "enum": [ - "video", - "audio", - "image", - "overlay", - "effect" - ], - "type": "string" - }, - "legacyKeyframes": { - "additionalProperties": false, - "properties": { - "channels": { - "items": { - "type": "string" - }, - "type": "array" - }, - "needsUpgrade": { - "const": true, - "type": "boolean" - }, - "record": {} - }, - "required": [ - "needsUpgrade", - "channels", - "record" - ], - "type": "object" - }, - "linkGroupId": { - "minLength": 1, - "type": "string" - }, - "opacity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "position": { - "additionalProperties": {}, - "description": "Clip CENTRE as a fraction of the frame: {x:0.5,y:0.5} is dead centre, 0 to 1 is inside the frame, and a little overshoot (down to -1, up to 2) is how an entrance starts off-canvas. NOT pixels: the renderer maps x to `left: x*100%`, so `x: 180` sits 180 frame-widths away and draws nothing.", - "properties": { - "x": { - "maximum": 2, - "minimum": -1, - "type": "number" - }, - "y": { - "maximum": 2, - "minimum": -1, - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "region": { - "additionalProperties": {}, - "properties": { - "h": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "w": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "rotation": { - "type": "number" - }, - "scale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "source": { - "oneOf": [ - { - "additionalProperties": {}, - "properties": { - "anchor": { - "additionalProperties": {}, - "properties": { - "clipId": { - "minLength": 1, - "type": "string" - }, - "offsetMs": { - "type": "number" - } - }, - "required": [ - "clipId", - "offsetMs" - ], - "type": "object" - }, - "audioRole": { - "enum": [ - "sfx", - "music", - "vo", - "ambience" - ], - "type": "string" - }, - "duck": { - "additionalProperties": {}, - "properties": { - "attackMs": { - "minimum": 0, - "type": "number" - }, - "duckDb": { - "maximum": 0, - "type": "number" - }, - "releaseMs": { - "minimum": 0, - "type": "number" - }, - "windows": { - "items": { - "additionalProperties": {}, - "properties": { - "endMs": { - "type": "number" - }, - "startMs": { - "type": "number" - } - }, - "required": [ - "startMs", - "endMs" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "duckDb", - "attackMs", - "releaseMs" - ], - "type": "object" - }, - "excludedRanges": { - "items": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "reason": { - "type": "string" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "type": "array" - }, - "fadeInMs": { - "minimum": 0, - "type": "number" - }, - "fadeOutMs": { - "minimum": 0, - "type": "number" - }, - "kenBurns": { - "enum": [ - "in", - "out", - "pan-l", - "pan-r", - "none" - ], - "type": "string" - }, - "kind": { - "const": "media", - "type": "string" - }, - "loop": { - "type": "boolean" - }, - "mediaId": { - "type": "string" - }, - "muted": { - "type": "boolean" - }, - "playbackRate": { - "exclusiveMinimum": 0, - "type": "number" - }, - "reframe": { - "additionalProperties": {}, - "properties": { - "segments": { - "items": { - "additionalProperties": {}, - "properties": { - "bias": { - "additionalProperties": {}, - "description": "Optional FINE framing nudge off the focus center, source-normalized in [−0.3, 0.3]. A small correction (headroom, rule-of-thirds), NOT a reframe — use `focus`/`zoom` for the actual shot. Omit (treated as 0) to sit dead-center on the focus.", - "properties": { - "x": { - "description": "Horizontal nudge, source-normalized (+ = right).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "y": { - "description": "Vertical nudge, source-normalized (+ = down).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "ease": { - "additionalProperties": {}, - "description": "Zoom/center ramp DURATIONS in SECONDS at this segment's edges — NOT a unitless 0–1 curve. ~0.3–0.6s reads as a snappy push; >1s reads sluggish. Keep `in` + `out` ≤ the segment's duration (endSec − startSec): the two edges share the span, so to ramp across the WHOLE segment set one edge to the full duration and the other to 0. Omit for an instant cut to this framing.", - "properties": { - "in": { - "description": "Ease-IN ramp DURATION in seconds at the segment START.", - "minimum": 0, - "type": "number" - }, - "out": { - "description": "Ease-OUT ramp DURATION in seconds at the segment END.", - "minimum": 0, - "type": "number" - } - }, - "required": [ - "in", - "out" - ], - "type": "object" - }, - "endSec": { - "description": "Segment END in seconds, clip-relative. The span (endSec − startSec) is this segment's duration — the window `ease` ramps over.", - "exclusiveMinimum": 0, - "type": "number" - }, - "focus": { - "description": "WHO/WHAT the camera tracks this segment (the reframe center), selected by `mode`: `frame-center` = no tracking, hold the geometric center (static/graphic footage, or a pure zoom); `point` = lock to a fixed source-normalized {x,y} (a non-moving on-screen element); `face` = track a detected face by `faceId` (from get_media_context), with optional `shotScale` close|standard|wide for tightness; `all-faces` = frame the bounding box of every detected face (group/ensemble shots); `active-speaker` = follow whoever is speaking (diarized talking-head / podcast). Pick by what the beat is about; pair with `zoom` for how tight.", - "oneOf": [ - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "frame-center", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "point", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "mode", - "x", - "y" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "faceId": { - "minLength": 1, - "type": "string" - }, - "mode": { - "const": "face", - "type": "string" - }, - "shotScale": { - "enum": [ - "close", - "standard", - "wide" - ], - "type": "string" - } - }, - "required": [ - "mode", - "faceId" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "all-faces", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "active-speaker", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - } - ] - }, - "intent": { - "description": "Optional editorial LABEL for diff/log readability (e.g. 'speaker-tight', 'wide-context'). Cosmetic — NOT honored by the derive math and excluded from the variant cache key.", - "type": "string" - }, - "startSec": { - "description": "Segment START in seconds, clip-relative. Segments tile the clip's duration in order.", - "minimum": 0, - "type": "number" - }, - "zoom": { - "description": "How TIGHT the framing is — the fraction of the source the output viewport shows. <1 punches IN (a smaller source fraction, magnified to fill the frame); 1 = the full frame (no crop). ~0.6–0.8 is a moderate push-in, ~0.5 a tight close-up, 0.1 the maximum zoom. There is NO zoom-OUT past the full frame (max 1). Omit for the full frame. MUTUALLY EXCLUSIVE with `focus.shotScale`: a face-tracked shot is sized EITHER by the editorial scale (shotScale, calibrated to the detected face) OR by an explicit zoom — never both.", - "maximum": 1, - "minimum": 0.1, - "type": "number" - } - }, - "required": [ - "startSec", - "endSec", - "focus" - ], - "type": "object" - }, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "segments" - ], - "type": "object" - }, - "sync": { - "enum": [ - "video", - "independent" - ], - "type": "string" - }, - "trim": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "volume": { - "maximum": 4, - "minimum": 0, - "type": "number" - }, - "volumeDb": { - "type": "number" - } - }, - "required": [ - "kind", - "mediaId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "componentId": { - "minLength": 1, - "type": "string" - }, - "execution": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "kind": { - "const": "component", - "type": "string" - }, - "placement": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "clip", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "content-slots", - "type": "string" - }, - "slots": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "ownership": { - "enum": [ - "reference", - "exclusive" - ], - "type": "string" - }, - "targetClipIds": { - "items": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "targetClipIds", - "ownership" - ], - "type": "object" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind", - "slots" - ], - "type": "object" - } - ] - }, - "props": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "retired": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "componentId", - "props" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "anchor": { - "additionalProperties": {}, - "properties": { - "space": { - "const": "scene", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "space", - "x", - "y" - ], - "type": "object" - }, - "kind": { - "const": "overlay", - "type": "string" - }, - "parallax": { - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "pattern": "^(?!custom$)", - "type": "string" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "primitiveId", - "params" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "component": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "kind": { - "const": "effect", - "type": "string" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "targetTrackIds": { - "items": { - "minLength": 1, - "type": "string" - }, - "minItems": 1, - "type": "array" - }, - "wrapperOrder": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "html": { - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "card", - "type": "string" - }, - "tokens": { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "zPlane": { - "const": "front", - "type": "string" - } - }, - "required": [ - "kind", - "html" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "compositionId": { - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "composition", - "type": "string" - }, - "trim": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "compositionId" - ], - "type": "object" - } - ] - }, - "startTime": { - "minimum": 0, - "type": "number" - }, - "transitionIn": { - "additionalProperties": {}, - "properties": { - "component": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "fromClipId": { - "minLength": 1, - "type": "string" - }, - "handlePolicy": { - "const": "outgoing-overrun-at-cut-v1", - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "toClipId": { - "minLength": 1, - "type": "string" - }, - "type": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "type", - "duration" - ], - "type": "object" - }, - "tweens": { - "items": { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "keyframes": { - "additionalProperties": false, - "properties": { - "easeEach": { - "const": "none", - "type": "string" - }, - "format": { - "const": "percentage", - "type": "string" - }, - "keyframes": { - "items": { - "additionalProperties": false, - "properties": { - "ease": { - "type": "string" - }, - "percentage": { - "type": "number" - }, - "properties": { - "additionalProperties": { - "type": "number" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - }, - "required": [ - "percentage", - "properties" - ], - "type": "object" - }, - "minItems": 2, - "type": "array" - } - }, - "required": [ - "format", - "easeEach", - "keyframes" - ], - "type": "object" - }, - "position": { - "type": "number" - }, - "propertyGroup": { - "enum": [ - "visual", - "scale", - "rotation", - "position" - ], - "type": "string" - } - }, - "required": [ - "id", - "propertyGroup", - "position", - "duration", - "keyframes" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "id", - "startTime", - "duration", - "source" - ], - "type": "object" - }, - "newTrack": { - "type": "boolean" - }, - "newTrackId": { - "type": "string" - }, - "trackId": { - "type": "string" - }, - "type": { - "const": "clip.add", - "type": "string" - } - }, - "required": [ - "type", - "clip" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Remove a clip by id (located across every track).", - "properties": { - "clipId": { - "type": "string" - }, - "type": { - "const": "clip.remove", - "type": "string" - } - }, - "required": [ - "type", - "clipId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Set (or CLEAR, with `keyframes: null`) ONE keyframed channel of a clip: `opacity`, `scale`, `rotation`, `position.x`, `position.y` or `volume`, with at least two keyframes `{time, value, ease?}` in any order. `time` is seconds from the clip's own start (0 to its duration); `value` uses the property's own unit, as its scalar: opacity 0-1, scale a multiplier, rotation degrees, position.x/position.y a FRACTION of the frame (0.5 = centre, never px), volume 0-4. Each keyframe's optional `ease` shapes the segment ARRIVING at it, in HyperFrames' vocabulary: `none` (linear, the default), named eases such as `power2.out`, `back.out`, `expo.inOut`, `spring-gentle`, `hold`, or `custom(M0,0 Cx1,y1 x2,y2 1,1)` (a cubic, x in [0,1]). Before its first keyframe a channel holds its first value, after its last it holds the last; a channel OVERRIDES the clip's scalar (`opacity`, `scale`, `rotation`, `position`). The op REPLACES that property's keyframes; other channels are untouched. Volume keyframes are linear and only for a video or audio media clip. Trims and splits keep every keyframe on its content. Keyframes are stored as HyperFrames tweens (`tweens`) and automation (`automation`) on the clip; author them with this op, not `clip.update`.", - "properties": { - "clipId": { - "minLength": 1, - "type": "string" - }, - "keyframes": { - "anyOf": [ - { - "items": { - "additionalProperties": false, - "properties": { - "ease": { - "type": "string" - }, - "time": { - "minimum": 0, - "type": "number" - }, - "value": { - "type": "number" - } - }, - "required": [ - "time", - "value" - ], - "type": "object" - }, - "minItems": 2, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "property": { - "enum": [ - "opacity", - "scale", - "rotation", - "position.x", - "position.y", - "volume" - ], - "type": "string" - }, - "type": { - "const": "clip.setKeyframes", - "type": "string" - } - }, - "required": [ - "type", - "clipId", - "property", - "keyframes" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Patch an existing clip by id (cross-family). The patch is a partial TimelineClip. NOTE: `source` is REPLACED wholesale — the patch merges at the top level only, so a partial `source` WIPES the source fields you omit. Patch the whole source object when changing it. (To change reframe/excluded ranges, prefer setCropIntents / addExcludedRange, not a source patch.)", - "properties": { - "clipId": { - "type": "string" - }, - "patch": { - "additionalProperties": false, - "properties": { - "automation": { - "additionalProperties": false, - "properties": { - "lanes": { - "items": { - "additionalProperties": false, - "properties": { - "points": { - "items": { - "additionalProperties": false, - "properties": { - "t": { - "type": "number" - }, - "v": { - "type": "number" - } - }, - "required": [ - "t", - "v" - ], - "type": "object" - }, - "minItems": 2, - "type": "array" - }, - "target": { - "const": "volume", - "type": "string" - } - }, - "required": [ - "target", - "points" - ], - "type": "object" - }, - "type": "array" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "lanes" - ], - "type": "object" - }, - "captionVisibility": { - "description": "Video media clip only. Hide native captions while this clip is topmost and covers the lower picture, or when an opaque, effect-free clip has an explicitly full-frame region, even with fit:contain. Caption words and timings remain stored and resume when another visible clip takes over.", - "enum": [ - "visible", - "hidden" - ], - "type": "string" - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "effects": { - "items": { - "additionalProperties": false, - "properties": { - "component": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "id": { - "minLength": 1, - "type": "string" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "window": { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "startTime": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "startTime", - "duration" - ], - "type": "object" - } - }, - "type": "object" - }, - "type": "array" - }, - "fit": { - "enum": [ - "cover", - "contain" - ], - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "kind": { - "enum": [ - "video", - "audio", - "image", - "overlay", - "effect" - ], - "type": "string" - }, - "legacyKeyframes": { - "additionalProperties": false, - "properties": { - "channels": { - "items": { - "type": "string" - }, - "type": "array" - }, - "needsUpgrade": { - "const": true, - "type": "boolean" - }, - "record": {} - }, - "required": [ - "needsUpgrade", - "channels", - "record" - ], - "type": "object" - }, - "linkGroupId": { - "minLength": 1, - "type": "string" - }, - "opacity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "position": { - "additionalProperties": {}, - "description": "Clip CENTRE as a fraction of the frame: {x:0.5,y:0.5} is dead centre, 0 to 1 is inside the frame, and a little overshoot (down to -1, up to 2) is how an entrance starts off-canvas. NOT pixels: the renderer maps x to `left: x*100%`, so `x: 180` sits 180 frame-widths away and draws nothing.", - "properties": { - "x": { - "maximum": 2, - "minimum": -1, - "type": "number" - }, - "y": { - "maximum": 2, - "minimum": -1, - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "region": { - "additionalProperties": {}, - "properties": { - "h": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "w": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "rotation": { - "type": "number" - }, - "scale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "source": { - "oneOf": [ - { - "additionalProperties": {}, - "properties": { - "anchor": { - "additionalProperties": {}, - "properties": { - "clipId": { - "minLength": 1, - "type": "string" - }, - "offsetMs": { - "type": "number" - } - }, - "required": [ - "clipId", - "offsetMs" - ], - "type": "object" - }, - "audioRole": { - "enum": [ - "sfx", - "music", - "vo", - "ambience" - ], - "type": "string" - }, - "duck": { - "additionalProperties": {}, - "properties": { - "attackMs": { - "minimum": 0, - "type": "number" - }, - "duckDb": { - "maximum": 0, - "type": "number" - }, - "releaseMs": { - "minimum": 0, - "type": "number" - }, - "windows": { - "items": { - "additionalProperties": {}, - "properties": { - "endMs": { - "type": "number" - }, - "startMs": { - "type": "number" - } - }, - "required": [ - "startMs", - "endMs" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "duckDb", - "attackMs", - "releaseMs" - ], - "type": "object" - }, - "excludedRanges": { - "items": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "reason": { - "type": "string" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "type": "array" - }, - "fadeInMs": { - "minimum": 0, - "type": "number" - }, - "fadeOutMs": { - "minimum": 0, - "type": "number" - }, - "kenBurns": { - "enum": [ - "in", - "out", - "pan-l", - "pan-r", - "none" - ], - "type": "string" - }, - "kind": { - "const": "media", - "type": "string" - }, - "loop": { - "type": "boolean" - }, - "mediaId": { - "type": "string" - }, - "muted": { - "type": "boolean" - }, - "playbackRate": { - "exclusiveMinimum": 0, - "type": "number" - }, - "reframe": { - "additionalProperties": {}, - "properties": { - "segments": { - "items": { - "additionalProperties": {}, - "properties": { - "bias": { - "additionalProperties": {}, - "description": "Optional FINE framing nudge off the focus center, source-normalized in [−0.3, 0.3]. A small correction (headroom, rule-of-thirds), NOT a reframe — use `focus`/`zoom` for the actual shot. Omit (treated as 0) to sit dead-center on the focus.", - "properties": { - "x": { - "description": "Horizontal nudge, source-normalized (+ = right).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "y": { - "description": "Vertical nudge, source-normalized (+ = down).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "ease": { - "additionalProperties": {}, - "description": "Zoom/center ramp DURATIONS in SECONDS at this segment's edges — NOT a unitless 0–1 curve. ~0.3–0.6s reads as a snappy push; >1s reads sluggish. Keep `in` + `out` ≤ the segment's duration (endSec − startSec): the two edges share the span, so to ramp across the WHOLE segment set one edge to the full duration and the other to 0. Omit for an instant cut to this framing.", - "properties": { - "in": { - "description": "Ease-IN ramp DURATION in seconds at the segment START.", - "minimum": 0, - "type": "number" - }, - "out": { - "description": "Ease-OUT ramp DURATION in seconds at the segment END.", - "minimum": 0, - "type": "number" - } - }, - "required": [ - "in", - "out" - ], - "type": "object" - }, - "endSec": { - "description": "Segment END in seconds, clip-relative. The span (endSec − startSec) is this segment's duration — the window `ease` ramps over.", - "exclusiveMinimum": 0, - "type": "number" - }, - "focus": { - "description": "WHO/WHAT the camera tracks this segment (the reframe center), selected by `mode`: `frame-center` = no tracking, hold the geometric center (static/graphic footage, or a pure zoom); `point` = lock to a fixed source-normalized {x,y} (a non-moving on-screen element); `face` = track a detected face by `faceId` (from get_media_context), with optional `shotScale` close|standard|wide for tightness; `all-faces` = frame the bounding box of every detected face (group/ensemble shots); `active-speaker` = follow whoever is speaking (diarized talking-head / podcast). Pick by what the beat is about; pair with `zoom` for how tight.", - "oneOf": [ - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "frame-center", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "point", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "mode", - "x", - "y" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "faceId": { - "minLength": 1, - "type": "string" - }, - "mode": { - "const": "face", - "type": "string" - }, - "shotScale": { - "enum": [ - "close", - "standard", - "wide" - ], - "type": "string" - } - }, - "required": [ - "mode", - "faceId" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "all-faces", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "active-speaker", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - } - ] - }, - "intent": { - "description": "Optional editorial LABEL for diff/log readability (e.g. 'speaker-tight', 'wide-context'). Cosmetic — NOT honored by the derive math and excluded from the variant cache key.", - "type": "string" - }, - "startSec": { - "description": "Segment START in seconds, clip-relative. Segments tile the clip's duration in order.", - "minimum": 0, - "type": "number" - }, - "zoom": { - "description": "How TIGHT the framing is — the fraction of the source the output viewport shows. <1 punches IN (a smaller source fraction, magnified to fill the frame); 1 = the full frame (no crop). ~0.6–0.8 is a moderate push-in, ~0.5 a tight close-up, 0.1 the maximum zoom. There is NO zoom-OUT past the full frame (max 1). Omit for the full frame. MUTUALLY EXCLUSIVE with `focus.shotScale`: a face-tracked shot is sized EITHER by the editorial scale (shotScale, calibrated to the detected face) OR by an explicit zoom — never both.", - "maximum": 1, - "minimum": 0.1, - "type": "number" - } - }, - "required": [ - "startSec", - "endSec", - "focus" - ], - "type": "object" - }, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "segments" - ], - "type": "object" - }, - "sync": { - "enum": [ - "video", - "independent" - ], - "type": "string" - }, - "trim": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "volume": { - "maximum": 4, - "minimum": 0, - "type": "number" - }, - "volumeDb": { - "type": "number" - } - }, - "required": [ - "kind", - "mediaId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "componentId": { - "minLength": 1, - "type": "string" - }, - "execution": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "kind": { - "const": "component", - "type": "string" - }, - "placement": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "clip", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "content-slots", - "type": "string" - }, - "slots": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "ownership": { - "enum": [ - "reference", - "exclusive" - ], - "type": "string" - }, - "targetClipIds": { - "items": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "targetClipIds", - "ownership" - ], - "type": "object" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind", - "slots" - ], - "type": "object" - } - ] - }, - "props": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "retired": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "componentId", - "props" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "anchor": { - "additionalProperties": {}, - "properties": { - "space": { - "const": "scene", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "space", - "x", - "y" - ], - "type": "object" - }, - "kind": { - "const": "overlay", - "type": "string" - }, - "parallax": { - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "pattern": "^(?!custom$)", - "type": "string" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "primitiveId", - "params" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "component": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "kind": { - "const": "effect", - "type": "string" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "targetTrackIds": { - "items": { - "minLength": 1, - "type": "string" - }, - "minItems": 1, - "type": "array" - }, - "wrapperOrder": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "html": { - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "card", - "type": "string" - }, - "tokens": { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "zPlane": { - "const": "front", - "type": "string" - } - }, - "required": [ - "kind", - "html" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "compositionId": { - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "composition", - "type": "string" - }, - "trim": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "compositionId" - ], - "type": "object" - } - ] - }, - "startTime": { - "minimum": 0, - "type": "number" - }, - "transitionIn": { - "additionalProperties": {}, - "properties": { - "component": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "fromClipId": { - "minLength": 1, - "type": "string" - }, - "handlePolicy": { - "const": "outgoing-overrun-at-cut-v1", - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "toClipId": { - "minLength": 1, - "type": "string" - }, - "type": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "type", - "duration" - ], - "type": "object" - }, - "tweens": { - "items": { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "keyframes": { - "additionalProperties": false, - "properties": { - "easeEach": { - "const": "none", - "type": "string" - }, - "format": { - "const": "percentage", - "type": "string" - }, - "keyframes": { - "items": { - "additionalProperties": false, - "properties": { - "ease": { - "type": "string" - }, - "percentage": { - "type": "number" - }, - "properties": { - "additionalProperties": { - "type": "number" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - }, - "required": [ - "percentage", - "properties" - ], - "type": "object" - }, - "minItems": 2, - "type": "array" - } - }, - "required": [ - "format", - "easeEach", - "keyframes" - ], - "type": "object" - }, - "position": { - "type": "number" - }, - "propertyGroup": { - "enum": [ - "visual", - "scale", - "rotation", - "position" - ], - "type": "string" - } - }, - "required": [ - "id", - "propertyGroup", - "position", - "duration", - "keyframes" - ], - "type": "object" - }, - "type": "array" - } - }, - "type": "object" - }, - "type": { - "const": "clip.update", - "type": "string" - } - }, - "required": [ - "type", - "clipId", - "patch" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Remove EVERY clip sourced from a given mediaId (e.g. after deleting that media).", - "properties": { - "mediaId": { - "type": "string" - }, - "type": { - "const": "removeClipsByMediaId", - "type": "string" - } - }, - "required": [ - "type", - "mediaId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Replace the overlay channel wholesale with the given clips (bulk set, not a merge).", - "properties": { - "clips": { - "items": { - "additionalProperties": false, - "properties": { - "automation": { - "additionalProperties": false, - "properties": { - "lanes": { - "items": { - "additionalProperties": false, - "properties": { - "points": { - "items": { - "additionalProperties": false, - "properties": { - "t": { - "type": "number" - }, - "v": { - "type": "number" - } - }, - "required": [ - "t", - "v" - ], - "type": "object" - }, - "minItems": 2, - "type": "array" - }, - "target": { - "const": "volume", - "type": "string" - } - }, - "required": [ - "target", - "points" - ], - "type": "object" - }, - "type": "array" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "lanes" - ], - "type": "object" - }, - "captionVisibility": { - "description": "Video media clip only. Hide native captions while this clip is topmost and covers the lower picture, or when an opaque, effect-free clip has an explicitly full-frame region, even with fit:contain. Caption words and timings remain stored and resume when another visible clip takes over.", - "enum": [ - "visible", - "hidden" - ], - "type": "string" - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "effects": { - "items": { - "additionalProperties": false, - "properties": { - "component": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "id": { - "minLength": 1, - "type": "string" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "window": { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "startTime": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "startTime", - "duration" - ], - "type": "object" - } - }, - "type": "object" - }, - "type": "array" - }, - "fit": { - "enum": [ - "cover", - "contain" - ], - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "kind": { - "enum": [ - "video", - "audio", - "image", - "overlay", - "effect" - ], - "type": "string" - }, - "legacyKeyframes": { - "additionalProperties": false, - "properties": { - "channels": { - "items": { - "type": "string" - }, - "type": "array" - }, - "needsUpgrade": { - "const": true, - "type": "boolean" - }, - "record": {} - }, - "required": [ - "needsUpgrade", - "channels", - "record" - ], - "type": "object" - }, - "linkGroupId": { - "minLength": 1, - "type": "string" - }, - "opacity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "position": { - "additionalProperties": {}, - "description": "Clip CENTRE as a fraction of the frame: {x:0.5,y:0.5} is dead centre, 0 to 1 is inside the frame, and a little overshoot (down to -1, up to 2) is how an entrance starts off-canvas. NOT pixels: the renderer maps x to `left: x*100%`, so `x: 180` sits 180 frame-widths away and draws nothing.", - "properties": { - "x": { - "maximum": 2, - "minimum": -1, - "type": "number" - }, - "y": { - "maximum": 2, - "minimum": -1, - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "region": { - "additionalProperties": {}, - "properties": { - "h": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "w": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "rotation": { - "type": "number" - }, - "scale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "source": { - "oneOf": [ - { - "additionalProperties": {}, - "properties": { - "anchor": { - "additionalProperties": {}, - "properties": { - "clipId": { - "minLength": 1, - "type": "string" - }, - "offsetMs": { - "type": "number" - } - }, - "required": [ - "clipId", - "offsetMs" - ], - "type": "object" - }, - "audioRole": { - "enum": [ - "sfx", - "music", - "vo", - "ambience" - ], - "type": "string" - }, - "duck": { - "additionalProperties": {}, - "properties": { - "attackMs": { - "minimum": 0, - "type": "number" - }, - "duckDb": { - "maximum": 0, - "type": "number" - }, - "releaseMs": { - "minimum": 0, - "type": "number" - }, - "windows": { - "items": { - "additionalProperties": {}, - "properties": { - "endMs": { - "type": "number" - }, - "startMs": { - "type": "number" - } - }, - "required": [ - "startMs", - "endMs" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "duckDb", - "attackMs", - "releaseMs" - ], - "type": "object" - }, - "excludedRanges": { - "items": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "reason": { - "type": "string" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "type": "array" - }, - "fadeInMs": { - "minimum": 0, - "type": "number" - }, - "fadeOutMs": { - "minimum": 0, - "type": "number" - }, - "kenBurns": { - "enum": [ - "in", - "out", - "pan-l", - "pan-r", - "none" - ], - "type": "string" - }, - "kind": { - "const": "media", - "type": "string" - }, - "loop": { - "type": "boolean" - }, - "mediaId": { - "type": "string" - }, - "muted": { - "type": "boolean" - }, - "playbackRate": { - "exclusiveMinimum": 0, - "type": "number" - }, - "reframe": { - "additionalProperties": {}, - "properties": { - "segments": { - "items": { - "additionalProperties": {}, - "properties": { - "bias": { - "additionalProperties": {}, - "description": "Optional FINE framing nudge off the focus center, source-normalized in [−0.3, 0.3]. A small correction (headroom, rule-of-thirds), NOT a reframe — use `focus`/`zoom` for the actual shot. Omit (treated as 0) to sit dead-center on the focus.", - "properties": { - "x": { - "description": "Horizontal nudge, source-normalized (+ = right).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "y": { - "description": "Vertical nudge, source-normalized (+ = down).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "ease": { - "additionalProperties": {}, - "description": "Zoom/center ramp DURATIONS in SECONDS at this segment's edges — NOT a unitless 0–1 curve. ~0.3–0.6s reads as a snappy push; >1s reads sluggish. Keep `in` + `out` ≤ the segment's duration (endSec − startSec): the two edges share the span, so to ramp across the WHOLE segment set one edge to the full duration and the other to 0. Omit for an instant cut to this framing.", - "properties": { - "in": { - "description": "Ease-IN ramp DURATION in seconds at the segment START.", - "minimum": 0, - "type": "number" - }, - "out": { - "description": "Ease-OUT ramp DURATION in seconds at the segment END.", - "minimum": 0, - "type": "number" - } - }, - "required": [ - "in", - "out" - ], - "type": "object" - }, - "endSec": { - "description": "Segment END in seconds, clip-relative. The span (endSec − startSec) is this segment's duration — the window `ease` ramps over.", - "exclusiveMinimum": 0, - "type": "number" - }, - "focus": { - "description": "WHO/WHAT the camera tracks this segment (the reframe center), selected by `mode`: `frame-center` = no tracking, hold the geometric center (static/graphic footage, or a pure zoom); `point` = lock to a fixed source-normalized {x,y} (a non-moving on-screen element); `face` = track a detected face by `faceId` (from get_media_context), with optional `shotScale` close|standard|wide for tightness; `all-faces` = frame the bounding box of every detected face (group/ensemble shots); `active-speaker` = follow whoever is speaking (diarized talking-head / podcast). Pick by what the beat is about; pair with `zoom` for how tight.", - "oneOf": [ - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "frame-center", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "point", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "mode", - "x", - "y" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "faceId": { - "minLength": 1, - "type": "string" - }, - "mode": { - "const": "face", - "type": "string" - }, - "shotScale": { - "enum": [ - "close", - "standard", - "wide" - ], - "type": "string" - } - }, - "required": [ - "mode", - "faceId" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "all-faces", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "active-speaker", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - } - ] - }, - "intent": { - "description": "Optional editorial LABEL for diff/log readability (e.g. 'speaker-tight', 'wide-context'). Cosmetic — NOT honored by the derive math and excluded from the variant cache key.", - "type": "string" - }, - "startSec": { - "description": "Segment START in seconds, clip-relative. Segments tile the clip's duration in order.", - "minimum": 0, - "type": "number" - }, - "zoom": { - "description": "How TIGHT the framing is — the fraction of the source the output viewport shows. <1 punches IN (a smaller source fraction, magnified to fill the frame); 1 = the full frame (no crop). ~0.6–0.8 is a moderate push-in, ~0.5 a tight close-up, 0.1 the maximum zoom. There is NO zoom-OUT past the full frame (max 1). Omit for the full frame. MUTUALLY EXCLUSIVE with `focus.shotScale`: a face-tracked shot is sized EITHER by the editorial scale (shotScale, calibrated to the detected face) OR by an explicit zoom — never both.", - "maximum": 1, - "minimum": 0.1, - "type": "number" - } - }, - "required": [ - "startSec", - "endSec", - "focus" - ], - "type": "object" - }, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "segments" - ], - "type": "object" - }, - "sync": { - "enum": [ - "video", - "independent" - ], - "type": "string" - }, - "trim": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "volume": { - "maximum": 4, - "minimum": 0, - "type": "number" - }, - "volumeDb": { - "type": "number" - } - }, - "required": [ - "kind", - "mediaId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "componentId": { - "minLength": 1, - "type": "string" - }, - "execution": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "kind": { - "const": "component", - "type": "string" - }, - "placement": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "clip", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "content-slots", - "type": "string" - }, - "slots": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "ownership": { - "enum": [ - "reference", - "exclusive" - ], - "type": "string" - }, - "targetClipIds": { - "items": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "targetClipIds", - "ownership" - ], - "type": "object" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind", - "slots" - ], - "type": "object" - } - ] - }, - "props": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "retired": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "componentId", - "props" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "anchor": { - "additionalProperties": {}, - "properties": { - "space": { - "const": "scene", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "space", - "x", - "y" - ], - "type": "object" - }, - "kind": { - "const": "overlay", - "type": "string" - }, - "parallax": { - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "pattern": "^(?!custom$)", - "type": "string" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "primitiveId", - "params" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "component": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "kind": { - "const": "effect", - "type": "string" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "targetTrackIds": { - "items": { - "minLength": 1, - "type": "string" - }, - "minItems": 1, - "type": "array" - }, - "wrapperOrder": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "html": { - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "card", - "type": "string" - }, - "tokens": { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "zPlane": { - "const": "front", - "type": "string" - } - }, - "required": [ - "kind", - "html" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "compositionId": { - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "composition", - "type": "string" - }, - "trim": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "compositionId" - ], - "type": "object" - } - ] - }, - "startTime": { - "minimum": 0, - "type": "number" - }, - "transitionIn": { - "additionalProperties": {}, - "properties": { - "component": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "fromClipId": { - "minLength": 1, - "type": "string" - }, - "handlePolicy": { - "const": "outgoing-overrun-at-cut-v1", - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "toClipId": { - "minLength": 1, - "type": "string" - }, - "type": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "type", - "duration" - ], - "type": "object" - }, - "tweens": { - "items": { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "keyframes": { - "additionalProperties": false, - "properties": { - "easeEach": { - "const": "none", - "type": "string" - }, - "format": { - "const": "percentage", - "type": "string" - }, - "keyframes": { - "items": { - "additionalProperties": false, - "properties": { - "ease": { - "type": "string" - }, - "percentage": { - "type": "number" - }, - "properties": { - "additionalProperties": { - "type": "number" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - }, - "required": [ - "percentage", - "properties" - ], - "type": "object" - }, - "minItems": 2, - "type": "array" - } - }, - "required": [ - "format", - "easeEach", - "keyframes" - ], - "type": "object" - }, - "position": { - "type": "number" - }, - "propertyGroup": { - "enum": [ - "visual", - "scale", - "rotation", - "position" - ], - "type": "string" - } - }, - "required": [ - "id", - "propertyGroup", - "position", - "duration", - "keyframes" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "id", - "startTime", - "duration", - "source" - ], - "type": "object" - }, - "type": "array" - }, - "type": { - "const": "loadOverlays", - "type": "string" - } - }, - "required": [ - "type", - "clips" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Add a timeline marker (a named time point/range; carry extensions in `metadata`).", - "properties": { - "marker": { - "additionalProperties": false, - "properties": { - "endTime": { - "minimum": 0, - "type": "number" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "kind": { - "minLength": 1, - "type": "string" - }, - "metadata": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "name": { - "type": "string" - }, - "startTime": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "id", - "startTime", - "kind" - ], - "type": "object" - }, - "type": { - "const": "addMarker", - "type": "string" - } - }, - "required": [ - "type", - "marker" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Remove a marker by id.", - "properties": { - "markerId": { - "type": "string" - }, - "type": { - "const": "removeMarker", - "type": "string" - } - }, - "required": [ - "type", - "markerId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Patch a marker's fields by id (partial merge).", - "properties": { - "markerId": { - "type": "string" - }, - "type": { - "const": "updateMarker", - "type": "string" - }, - "updates": { - "additionalProperties": false, - "properties": { - "endTime": { - "minimum": 0, - "type": "number" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "kind": { - "minLength": 1, - "type": "string" - }, - "metadata": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "name": { - "type": "string" - }, - "startTime": { - "minimum": 0, - "type": "number" - } - }, - "type": "object" - } - }, - "required": [ - "type", - "markerId", - "updates" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Set (or CLEAR, with `segments: null`) the camera/reframe channel on a MEDIA clip — the time-aligned source→output viewport (focus, zoom, ease, bias). This is the PREFERRED way to author reframing; do NOT reframe via a whole-source `clip.update` patch. Segments tile the clip's duration.", - "properties": { - "clipId": { - "type": "string" - }, - "segments": { - "anyOf": [ - { - "items": { - "additionalProperties": {}, - "properties": { - "bias": { - "additionalProperties": {}, - "description": "Optional FINE framing nudge off the focus center, source-normalized in [−0.3, 0.3]. A small correction (headroom, rule-of-thirds), NOT a reframe — use `focus`/`zoom` for the actual shot. Omit (treated as 0) to sit dead-center on the focus.", - "properties": { - "x": { - "description": "Horizontal nudge, source-normalized (+ = right).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "y": { - "description": "Vertical nudge, source-normalized (+ = down).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "ease": { - "additionalProperties": {}, - "description": "Zoom/center ramp DURATIONS in SECONDS at this segment's edges — NOT a unitless 0–1 curve. ~0.3–0.6s reads as a snappy push; >1s reads sluggish. Keep `in` + `out` ≤ the segment's duration (endSec − startSec): the two edges share the span, so to ramp across the WHOLE segment set one edge to the full duration and the other to 0. Omit for an instant cut to this framing.", - "properties": { - "in": { - "description": "Ease-IN ramp DURATION in seconds at the segment START.", - "minimum": 0, - "type": "number" - }, - "out": { - "description": "Ease-OUT ramp DURATION in seconds at the segment END.", - "minimum": 0, - "type": "number" - } - }, - "required": [ - "in", - "out" - ], - "type": "object" - }, - "endSec": { - "description": "Segment END in seconds, clip-relative. The span (endSec − startSec) is this segment's duration — the window `ease` ramps over.", - "exclusiveMinimum": 0, - "type": "number" - }, - "focus": { - "description": "WHO/WHAT the camera tracks this segment (the reframe center), selected by `mode`: `frame-center` = no tracking, hold the geometric center (static/graphic footage, or a pure zoom); `point` = lock to a fixed source-normalized {x,y} (a non-moving on-screen element); `face` = track a detected face by `faceId` (from get_media_context), with optional `shotScale` close|standard|wide for tightness; `all-faces` = frame the bounding box of every detected face (group/ensemble shots); `active-speaker` = follow whoever is speaking (diarized talking-head / podcast). Pick by what the beat is about; pair with `zoom` for how tight.", - "oneOf": [ - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "frame-center", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "point", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "mode", - "x", - "y" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "faceId": { - "minLength": 1, - "type": "string" - }, - "mode": { - "const": "face", - "type": "string" - }, - "shotScale": { - "enum": [ - "close", - "standard", - "wide" - ], - "type": "string" - } - }, - "required": [ - "mode", - "faceId" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "all-faces", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "active-speaker", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - } - ] - }, - "intent": { - "description": "Optional editorial LABEL for diff/log readability (e.g. 'speaker-tight', 'wide-context'). Cosmetic — NOT honored by the derive math and excluded from the variant cache key.", - "type": "string" - }, - "startSec": { - "description": "Segment START in seconds, clip-relative. Segments tile the clip's duration in order.", - "minimum": 0, - "type": "number" - }, - "zoom": { - "description": "How TIGHT the framing is — the fraction of the source the output viewport shows. <1 punches IN (a smaller source fraction, magnified to fill the frame); 1 = the full frame (no crop). ~0.6–0.8 is a moderate push-in, ~0.5 a tight close-up, 0.1 the maximum zoom. There is NO zoom-OUT past the full frame (max 1). Omit for the full frame. MUTUALLY EXCLUSIVE with `focus.shotScale`: a face-tracked shot is sized EITHER by the editorial scale (shotScale, calibrated to the detected face) OR by an explicit zoom — never both.", - "maximum": 1, - "minimum": 0.1, - "type": "number" - } - }, - "required": [ - "startSec", - "endSec", - "focus" - ], - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "type": { - "const": "setCropIntents", - "type": "string" - } - }, - "required": [ - "type", - "clipId", - "segments" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Set (or CLEAR, with `effects: []`) a clip's EFFECT channel — the pinned component clip wrappers stacked onto that clip, each `{id, component, window}`: a unique `id`, the wrapper component's execution pin as `component`, and `window: {startTime, duration}` in seconds. The built-in primitive effects were removed: a stored one reads, and save and render refuse it (`effect_retired`), so clear it with `effects: []`. WHOLESALE: the array REPLACES the clip's current effects, so send the full stack (read the clip first to add one). This is the ONLY way to change effects on an existing clip — do NOT reach for a `clip.update` patch, whose top-level merge is the source-clobbering footgun documented above.", - "properties": { - "clipId": { - "type": "string" - }, - "effects": { - "items": { - "additionalProperties": false, - "properties": { - "component": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "id": { - "minLength": 1, - "type": "string" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "window": { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "startTime": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "startTime", - "duration" - ], - "type": "object" - } - }, - "type": "object" - }, - "type": "array" - }, - "type": { - "const": "setEffects", - "type": "string" - } - }, - "required": [ - "type", - "clipId", - "effects" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Merge style overrides (font/color/position/emphasis) onto the composition's caption layer. Partial — omitted fields keep their current value; creates the caption container if absent.", - "properties": { - "style": { - "additionalProperties": {}, - "properties": { - "annotationColor": { - "type": "string" - }, - "annotationStrokeWidth": { - "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.", - "maximum": 12, - "minimum": 0.5, - "type": "number" - }, - "annotationTexture": { - "description": "Native annotation stroke finish; default clean.", - "enum": [ - "clean", - "pencil" - ], - "type": "string" - }, - "backgroundColor": { - "type": "string" - }, - "color": { - "minLength": 1, - "type": "string" - }, - "emphasisColor": { - "type": "string" - }, - "emphasisFontFamily": { - "type": "string" - }, - "emphasisFontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "emphasisFontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "emphasisGradient": { - "type": "string" - }, - "emphasisLetterSpacing": { - "type": "number" - }, - "emphasisPlate": { - "type": "boolean" - }, - "emphasisPlateAltColor": { - "type": "string" - }, - "emphasisPlateAltTextColor": { - "type": "string" - }, - "emphasisPlateColor": { - "type": "string" - }, - "emphasisPlatePadX": { - "type": "number" - }, - "emphasisPlatePadY": { - "type": "number" - }, - "emphasisPlateRadius": { - "minimum": 0, - "type": "number" - }, - "emphasisPlateReveal": { - "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.", - "type": "boolean" - }, - "emphasisPlateTextColor": { - "type": "string" - }, - "emphasisScale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "emphasisTextTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "entrance": { - "enum": [ - "none", - "fade", - "word-pop", - "stagger-up" - ], - "type": "string" - }, - "entranceMs": { - "minimum": 0, - "type": "number" - }, - "entranceStaggerMs": { - "minimum": 0, - "type": "number" - }, - "exitMs": { - "minimum": 0, - "type": "number" - }, - "fontFamily": { - "minLength": 1, - "type": "string" - }, - "fontSize": { - "description": "Font size as % of composition height (1-15, default 5). NOT px.", - "maximum": 15, - "minimum": 1, - "type": "number" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "highlightColor": { - "minLength": 1, - "type": "string" - }, - "letterSpacing": { - "description": "Base caption glyph spacing in pixels.", - "maximum": 20, - "minimum": -5, - "type": "number" - }, - "lineGapEm": { - "description": "Gap between caption lines as a multiple of base font size; default 0.25.", - "maximum": 2, - "minimum": 0, - "type": "number" - }, - "maxWidthPercent": { - "exclusiveMinimum": 0, - "maximum": 100, - "type": "number" - }, - "plate": { - "enum": [ - "glass", - "solid", - "none" - ], - "type": "string" - }, - "position": { - "enum": [ - "top", - "center", - "bottom" - ], - "type": "string" - }, - "region": { - "additionalProperties": {}, - "description": "Optional caption layout box {x,y,w,h} in normalized output-frame coordinates. Overrides position; text starts at its top edge and wraps/pages within its width and height.", - "properties": { - "h": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "w": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "textTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "wordGapEm": { - "description": "Gap between caption runs as a multiple of base font size; default 0.35.", - "maximum": 2, - "minimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "type": { - "const": "setCaptionStyle", - "type": "string" - } - }, - "required": [ - "type", - "style" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Set the caption compositing plane. Use `behind-subject` to place captions behind the segmented foreground subject; use `front` for conventional captions above all video layers.", - "properties": { - "type": { - "const": "setCaptionDepth", - "type": "string" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "type", - "zPlane" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Replace the caption SEGMENTS wholesale — author the word-timed caption layer directly (each segment = one sentence/page of `words` with timeline-ms `startMs`/`endMs`, optional `emphasis`). This is how a client with its OWN word timings (e.g. a generated VO take) gets word-synced captions without a source transcript; the compose lane's transcript slice writes the same layer. `style`, when given, merges with setCaptionStyle semantics; an omitted style keeps the existing one. Renderer paginates within a segment and never pools words across two — keep segments sentence-bounded.", - "properties": { - "segments": { - "items": { - "additionalProperties": {}, - "properties": { - "words": { - "items": { - "additionalProperties": {}, - "properties": { - "annotate": { - "enum": [ - "circle", - "underline" - ], - "type": "string" - }, - "emphasis": { - "type": "boolean" - }, - "endMs": { - "description": "Word end on the composition timeline, in milliseconds.", - "minimum": 0, - "type": "number" - }, - "startMs": { - "description": "Word start on the composition timeline, in milliseconds.", - "minimum": 0, - "type": "number" - }, - "text": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "text", - "startMs", - "endMs" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "words" - ], - "type": "object" - }, - "type": "array" - }, - "style": { - "additionalProperties": {}, - "properties": { - "annotationColor": { - "type": "string" - }, - "annotationStrokeWidth": { - "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.", - "maximum": 12, - "minimum": 0.5, - "type": "number" - }, - "annotationTexture": { - "description": "Native annotation stroke finish; default clean.", - "enum": [ - "clean", - "pencil" - ], - "type": "string" - }, - "backgroundColor": { - "type": "string" - }, - "color": { - "minLength": 1, - "type": "string" - }, - "emphasisColor": { - "type": "string" - }, - "emphasisFontFamily": { - "type": "string" - }, - "emphasisFontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "emphasisFontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "emphasisGradient": { - "type": "string" - }, - "emphasisLetterSpacing": { - "type": "number" - }, - "emphasisPlate": { - "type": "boolean" - }, - "emphasisPlateAltColor": { - "type": "string" - }, - "emphasisPlateAltTextColor": { - "type": "string" - }, - "emphasisPlateColor": { - "type": "string" - }, - "emphasisPlatePadX": { - "type": "number" - }, - "emphasisPlatePadY": { - "type": "number" - }, - "emphasisPlateRadius": { - "minimum": 0, - "type": "number" - }, - "emphasisPlateReveal": { - "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.", - "type": "boolean" - }, - "emphasisPlateTextColor": { - "type": "string" - }, - "emphasisScale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "emphasisTextTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "entrance": { - "enum": [ - "none", - "fade", - "word-pop", - "stagger-up" - ], - "type": "string" - }, - "entranceMs": { - "minimum": 0, - "type": "number" - }, - "entranceStaggerMs": { - "minimum": 0, - "type": "number" - }, - "exitMs": { - "minimum": 0, - "type": "number" - }, - "fontFamily": { - "minLength": 1, - "type": "string" - }, - "fontSize": { - "description": "Font size as % of composition height (1-15, default 5). NOT px.", - "maximum": 15, - "minimum": 1, - "type": "number" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "highlightColor": { - "minLength": 1, - "type": "string" - }, - "letterSpacing": { - "description": "Base caption glyph spacing in pixels.", - "maximum": 20, - "minimum": -5, - "type": "number" - }, - "lineGapEm": { - "description": "Gap between caption lines as a multiple of base font size; default 0.25.", - "maximum": 2, - "minimum": 0, - "type": "number" - }, - "maxWidthPercent": { - "exclusiveMinimum": 0, - "maximum": 100, - "type": "number" - }, - "plate": { - "enum": [ - "glass", - "solid", - "none" - ], - "type": "string" - }, - "position": { - "enum": [ - "top", - "center", - "bottom" - ], - "type": "string" - }, - "region": { - "additionalProperties": {}, - "description": "Optional caption layout box {x,y,w,h} in normalized output-frame coordinates. Overrides position; text starts at its top edge and wraps/pages within its width and height.", - "properties": { - "h": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "w": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "textTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "wordGapEm": { - "description": "Gap between caption runs as a multiple of base font size; default 0.35.", - "maximum": 2, - "minimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "type": { - "const": "setCaptions", - "type": "string" - } - }, - "required": [ - "type", - "segments" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Replace native caption placements without changing transcript words or timings. Each layout references a half-open word-index range in one saved segment; a one-word range is valid. region places that group independently, optional bounded scale/rotation/style changes its look, and holdThroughWordIndex keeps it visible through a later saved word in the same segment. All words in a placed range occupy one page; rendering refuses a range that cannot fit its box, so enlarge region or split the range. The box reserves horizontal space of 1.6 font sizes and vertical space of 0.8 font sizes for padding, with at most three lines. Unreferenced words keep the default caption layout. Word ranges must not overlap. Reapply after caption regeneration or timeline cuts.", - "properties": { - "layouts": { - "items": { - "additionalProperties": false, - "properties": { - "holdThroughWordIndex": { - "description": "Inclusive saved-word index in this segment. The layout stays visible until that word ends.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "region": { - "additionalProperties": {}, - "properties": { - "h": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "w": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "rotation": { - "maximum": 45, - "minimum": -45, - "type": "number" - }, - "scale": { - "maximum": 4, - "minimum": 0.25, - "type": "number" - }, - "segmentIndex": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "style": { - "additionalProperties": false, - "properties": { - "annotationColor": { - "type": "string" - }, - "annotationStrokeWidth": { - "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.", - "maximum": 12, - "minimum": 0.5, - "type": "number" - }, - "annotationTexture": { - "description": "Native annotation stroke finish; default clean.", - "enum": [ - "clean", - "pencil" - ], - "type": "string" - }, - "backgroundColor": { - "type": "string" - }, - "color": { - "minLength": 1, - "type": "string" - }, - "emphasisColor": { - "type": "string" - }, - "emphasisFontFamily": { - "type": "string" - }, - "emphasisFontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "emphasisFontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "emphasisLetterSpacing": { - "type": "number" - }, - "emphasisPlate": { - "type": "boolean" - }, - "emphasisPlateAltColor": { - "type": "string" - }, - "emphasisPlateAltTextColor": { - "type": "string" - }, - "emphasisPlateColor": { - "type": "string" - }, - "emphasisPlatePadX": { - "type": "number" - }, - "emphasisPlatePadY": { - "type": "number" - }, - "emphasisPlateRadius": { - "minimum": 0, - "type": "number" - }, - "emphasisPlateReveal": { - "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.", - "type": "boolean" - }, - "emphasisPlateTextColor": { - "type": "string" - }, - "emphasisScale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "emphasisTextTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "entrance": { - "enum": [ - "none", - "fade", - "word-pop", - "stagger-up" - ], - "type": "string" - }, - "entranceMs": { - "minimum": 0, - "type": "number" - }, - "entranceStaggerMs": { - "minimum": 0, - "type": "number" - }, - "exitMs": { - "minimum": 0, - "type": "number" - }, - "fontFamily": { - "minLength": 1, - "type": "string" - }, - "fontSize": { - "description": "Font size as % of composition height (1-15, default 5). NOT px.", - "maximum": 15, - "minimum": 1, - "type": "number" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "highlightColor": { - "minLength": 1, - "type": "string" - }, - "letterSpacing": { - "description": "Base caption glyph spacing in pixels.", - "maximum": 20, - "minimum": -5, - "type": "number" - }, - "lineGapEm": { - "description": "Gap between caption lines as a multiple of base font size; default 0.25.", - "maximum": 2, - "minimum": 0, - "type": "number" - }, - "plate": { - "enum": [ - "glass", - "solid", - "none" - ], - "type": "string" - }, - "textTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "wordGapEm": { - "description": "Gap between caption runs as a multiple of base font size; default 0.35.", - "maximum": 2, - "minimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "wordEndIndex": { - "description": "Exclusive word index in the saved caption segment.", - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "wordMarks": { - "items": { - "additionalProperties": false, - "properties": { - "annotate": { - "anyOf": [ - { - "enum": [ - "circle", - "underline" - ], - "type": "string" - }, - { - "type": "null" - } - ] - }, - "emphasis": { - "type": "boolean" - }, - "wordIndex": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "wordIndex" - ], - "type": "object" - }, - "type": "array" - }, - "wordStartIndex": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "segmentIndex", - "wordStartIndex", - "wordEndIndex", - "region" - ], - "type": "object" - }, - "type": "array" - }, - "type": { - "const": "setCaptionLayouts", - "type": "string" - } - }, - "required": [ - "type", - "layouts" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Author a scene shot and place it on a dedicated overlay track. The host validates the scene, generates and registers an immutable wrapper component source, and emits the ordinary track/clip operations carrying `props.componentRef` — you edit a scene SPEC, never wrapper TSX or a source hash. Registration and the composition update are ONE undoable edit; a failure publishes nothing and leaves no clip pointing at an unresolved source. Pass EXACTLY ONE of `trackId` (an existing dedicated scene track) or `newTrack: true` (mint one). That track holds scene-shot clips and gaps only — no generic component/primitive/media clips in v1 — and existing generic overlay tracks are unaffected. Scene clips use front zPlane and full-frame placement: outer per-clip `region`, `position`, `scale`, `rotation`, `fit`, `effects`, keyframes (`tweens`/`automation`), `params.transition`, `params.sequenceGroup` and internal fadeIn/fadeOut are REFUSED with a path, because the shot's own layer transforms are the single transform owner. TEXT: `space: \"screen\"` text is composed above the world result, stays fixed in the frame and stays sharp through focus; `space: \"world\"` text is rasterized into the 3D scene, moves with the camera and is occluded by geometry. Screenshots and world text are UNLIT and colour-managed so product UI colours are not tinted by the studio lighting, while device bodies are lit and cast shadows; an unlit surface still occludes. SCOPE GAP (pre-existing, neither closed nor changed by scene shots): global wrap effects — composition-level grades and camera effects — do not reach front-overlay clips, so they do not affect a scene shot. Author the look INSIDE the shot (`post.grain`, `post.vignette`, `post.focus`, `backdrop`, `environment`) instead. DISCOVERY: there is no built-in scene primitive to look up in list_catalog; the wrapper this operation registers appears afterwards as an ordinary INSTALLED component under the existing catalog rules. ASSETS: `assets` binds each slot name a layer references to a media id in the same project, and the slot's declared KIND decides what it admits — an image slot takes PNG, JPEG or WebP, a video slot MP4 or WebM. Binding the wrong kind is refused with the slot's path.", - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "clipId": { - "minLength": 1, - "type": "string" - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "newTrack": { - "type": "boolean" - }, - "newTrackId": { - "minLength": 1, - "type": "string" - }, - "scene": { - "additionalProperties": false, - "description": "A version-2 scene shot: a self-contained 3D world-object shot that scene.add / scene.update materializes into an ordinary component clip. The shot owns its layers, camera, lighting, backdrop and normalized local animation; the composition owns start, duration, ordering, cuts and transitions. Coordinates are REFERENCE PIXELS: origin at frame centre, +X right, +Y down, +Z toward the viewer. referenceSize must have the SAME aspect ratio as the composition format; mismatch fails instead of cropping. At equal aspect ratio the shot scales uniformly by outputWidth/referenceWidth. A segment's easing belongs to the keyframe it ARRIVES at; the first keyframe has no easing. Authoring limits: 32 layers, 4 devices, 16 distinct image slots, 256 keyframes per channel, 2048 keyframes per shot. Version 2 supports nested groups, procedural slab/page/phone/laptop objects, screen- and world-space text, admitted image/component/video surfaces, fixed photographic and generated studio environments, transparent/solid/linear/radial backdrops, constraints, focus, grain and vignette. Raw HTML, custom shader props, imported GLB models, arbitrary external HDR environments, skeletal animation and physics are refused with an exact field path.", - "properties": { - "animation": { - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "keyframes": { - "items": { - "additionalProperties": false, - "properties": { - "at": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "easing": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "linear", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "hold", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "bezier", - "type": "string" - }, - "x1": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "x2": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y1": { - "maximum": 5, - "minimum": -4, - "type": "number" - }, - "y2": { - "maximum": 5, - "minimum": -4, - "type": "number" - } - }, - "required": [ - "kind", - "x1", - "y1", - "x2", - "y2" - ], - "type": "object" - } - ] - }, - "value": { - "type": "number" - } - }, - "required": [ - "at", - "value" - ], - "type": "object" - }, - "maxItems": 256, - "minItems": 1, - "type": "array" - }, - "property": { - "enum": [ - "positionX", - "positionY", - "positionZ", - "rotationX", - "rotationY", - "rotationZ", - "fov", - "scale", - "opacity", - "openAngle", - "x", - "y", - "rotation", - "intensity", - "distance", - "range", - "maxBlur" - ], - "type": "string" - }, - "target": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "camera", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "layer", - "type": "string" - }, - "layerId": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - } - }, - "required": [ - "kind", - "layerId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "environment", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "focus", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - } - ] - } - }, - "required": [ - "target", - "property", - "keyframes" - ], - "type": "object" - }, - "type": "array" - }, - "backdrop": { - "default": { - "kind": "transparent" - }, - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "transparent", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "kind": { - "const": "solid", - "type": "string" - } - }, - "required": [ - "kind", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "angle": { - "default": 0, - "type": "number" - }, - "kind": { - "const": "linear", - "type": "string" - }, - "stops": { - "items": { - "additionalProperties": false, - "properties": { - "at": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - } - }, - "required": [ - "at", - "color" - ], - "type": "object" - }, - "maxItems": 8, - "minItems": 2, - "type": "array" - } - }, - "required": [ - "kind", - "stops" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "at": { - "default": [ - 0.5, - 0.5 - ], - "items": false, - "maxItems": 2, - "minItems": 2, - "prefixItems": [ - { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - { - "maximum": 1, - "minimum": 0, - "type": "number" - } - ], - "type": "array" - }, - "kind": { - "const": "radial", - "type": "string" - }, - "stops": { - "items": { - "additionalProperties": false, - "properties": { - "at": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - } - }, - "required": [ - "at", - "color" - ], - "type": "object" - }, - "maxItems": 8, - "minItems": 2, - "type": "array" - } - }, - "required": [ - "kind", - "stops" - ], - "type": "object" - } - ] - }, - "camera": { - "additionalProperties": false, - "properties": { - "fov": { - "maximum": 1.3962634015954636, - "minimum": 0.3141592653589793, - "type": "number" - }, - "position": { - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - } - }, - "type": "object" - }, - "constraints": { - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "gap": { - "exclusiveMinimum": 0, - "type": "number" - }, - "kind": { - "const": "minSeparation", - "type": "string" - }, - "objects": { - "items": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "minItems": 2, - "type": "array" - } - }, - "required": [ - "kind", - "objects", - "gap" - ], - "type": "object" - }, - "type": "array" - }, - "environment": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "floorY": { - "default": -420, - "type": "number" - }, - "intensity": { - "default": 1, - "minimum": 0, - "type": "number" - }, - "kind": { - "const": "studio", - "type": "string" - }, - "lightingProfile": { - "default": "studio", - "enum": [ - "studio", - "studio-edge" - ], - "type": "string" - }, - "preset": { - "default": "soft", - "enum": [ - "soft", - "key", - "rim" - ], - "type": "string" - }, - "shadowOpacity": { - "default": 0.5, - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "photographic-studio-v1", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - } - ], - "default": { - "floorY": -420, - "intensity": 1, - "lightingProfile": "studio", - "preset": "soft", - "shadowOpacity": 0.5 - } - }, - "layers": { - "items": { - "$ref": "#/$defs/__schema1" - }, - "minItems": 1, - "type": "array" - }, - "post": { - "additionalProperties": false, - "default": { - "focus": null, - "grain": 0, - "vignette": 0 - }, - "properties": { - "focus": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "distance": { - "exclusiveMinimum": 0, - "type": "number" - }, - "maxBlur": { - "maximum": 64, - "minimum": 0, - "type": "number" - }, - "range": { - "exclusiveMinimum": 0, - "type": "number" - } - }, - "required": [ - "distance", - "range", - "maxBlur" - ], - "type": "object" - }, - { - "type": "null" - } - ], - "default": null - }, - "grain": { - "default": 0, - "maximum": 0.5, - "minimum": 0, - "type": "number" - }, - "vignette": { - "default": 0, - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "referenceSize": { - "additionalProperties": false, - "properties": { - "height": { - "maximum": 8192, - "minimum": 16, - "type": "integer" - }, - "width": { - "maximum": 8192, - "minimum": 16, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "version": { - "const": 2, - "type": "number" - } - }, - "required": [ - "version", - "referenceSize", - "layers" - ], - "type": "object" - }, - "startTime": { - "minimum": 0, - "type": "number" - }, - "trackId": { - "minLength": 1, - "type": "string" - }, - "transitionIn": { - "additionalProperties": {}, - "properties": { - "component": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "fromClipId": { - "minLength": 1, - "type": "string" - }, - "handlePolicy": { - "const": "outgoing-overrun-at-cut-v1", - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "toClipId": { - "minLength": 1, - "type": "string" - }, - "type": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "type", - "duration" - ], - "type": "object" - }, - "type": { - "const": "scene.add", - "type": "string" - } - }, - "required": [ - "type", - "clipId", - "startTime", - "duration", - "scene", - "assets" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Revise a scene shot in place by clip id. Send a replacement `scene` and/or `assets`; timing changes use the ordinary clip timing fields (`startTime`, `duration`, `transitionIn`). Omitted fields keep their persisted values and the MERGED result is re-validated as a whole, so a partial edit cannot leave the shot invalid. Changing only values or asset IDs updates props and bindings and REUSES the pinned source; changing the referenced SLOT SET regenerates the wrapper manifest and registers a new immutable source version atomically. Undo restores the source reference, spec, bindings and timing together. Topology, asset bindings, text content, font properties, device kind and colours are STATIC within a shot's animation — change them here (a revised spec) rather than trying to animate them. This is not a source trim or slip: a shortened or extended clip resamples the SAME normalized animation over its new duration, and trim/slip requests on generated animation are rejected rather than reinterpreted as media trims. In one batch, `scene.update` may target a shot added by an earlier `scene.add`. ASSETS: `assets` binds each slot name a layer references to a media id in the same project, and the slot's declared KIND decides what it admits — an image slot takes PNG, JPEG or WebP, a video slot MP4 or WebM. Binding the wrong kind is refused with the slot's path.", - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "clipId": { - "minLength": 1, - "type": "string" - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "scene": { - "additionalProperties": false, - "description": "A version-2 scene shot: a self-contained 3D world-object shot that scene.add / scene.update materializes into an ordinary component clip. The shot owns its layers, camera, lighting, backdrop and normalized local animation; the composition owns start, duration, ordering, cuts and transitions. Coordinates are REFERENCE PIXELS: origin at frame centre, +X right, +Y down, +Z toward the viewer. referenceSize must have the SAME aspect ratio as the composition format; mismatch fails instead of cropping. At equal aspect ratio the shot scales uniformly by outputWidth/referenceWidth. A segment's easing belongs to the keyframe it ARRIVES at; the first keyframe has no easing. Authoring limits: 32 layers, 4 devices, 16 distinct image slots, 256 keyframes per channel, 2048 keyframes per shot. Version 2 supports nested groups, procedural slab/page/phone/laptop objects, screen- and world-space text, admitted image/component/video surfaces, fixed photographic and generated studio environments, transparent/solid/linear/radial backdrops, constraints, focus, grain and vignette. Raw HTML, custom shader props, imported GLB models, arbitrary external HDR environments, skeletal animation and physics are refused with an exact field path.", - "properties": { - "animation": { - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "keyframes": { - "items": { - "additionalProperties": false, - "properties": { - "at": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "easing": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "linear", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "hold", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "bezier", - "type": "string" - }, - "x1": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "x2": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y1": { - "maximum": 5, - "minimum": -4, - "type": "number" - }, - "y2": { - "maximum": 5, - "minimum": -4, - "type": "number" - } - }, - "required": [ - "kind", - "x1", - "y1", - "x2", - "y2" - ], - "type": "object" - } - ] - }, - "value": { - "type": "number" - } - }, - "required": [ - "at", - "value" - ], - "type": "object" - }, - "maxItems": 256, - "minItems": 1, - "type": "array" - }, - "property": { - "enum": [ - "positionX", - "positionY", - "positionZ", - "rotationX", - "rotationY", - "rotationZ", - "fov", - "scale", - "opacity", - "openAngle", - "x", - "y", - "rotation", - "intensity", - "distance", - "range", - "maxBlur" - ], - "type": "string" - }, - "target": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "camera", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "layer", - "type": "string" - }, - "layerId": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - } - }, - "required": [ - "kind", - "layerId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "environment", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "focus", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - } - ] - } - }, - "required": [ - "target", - "property", - "keyframes" - ], - "type": "object" - }, - "type": "array" - }, - "backdrop": { - "default": { - "kind": "transparent" - }, - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "transparent", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "kind": { - "const": "solid", - "type": "string" - } - }, - "required": [ - "kind", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "angle": { - "default": 0, - "type": "number" - }, - "kind": { - "const": "linear", - "type": "string" - }, - "stops": { - "items": { - "additionalProperties": false, - "properties": { - "at": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - } - }, - "required": [ - "at", - "color" - ], - "type": "object" - }, - "maxItems": 8, - "minItems": 2, - "type": "array" - } - }, - "required": [ - "kind", - "stops" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "at": { - "default": [ - 0.5, - 0.5 - ], - "items": false, - "maxItems": 2, - "minItems": 2, - "prefixItems": [ - { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - { - "maximum": 1, - "minimum": 0, - "type": "number" - } - ], - "type": "array" - }, - "kind": { - "const": "radial", - "type": "string" - }, - "stops": { - "items": { - "additionalProperties": false, - "properties": { - "at": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - } - }, - "required": [ - "at", - "color" - ], - "type": "object" - }, - "maxItems": 8, - "minItems": 2, - "type": "array" - } - }, - "required": [ - "kind", - "stops" - ], - "type": "object" - } - ] - }, - "camera": { - "additionalProperties": false, - "properties": { - "fov": { - "maximum": 1.3962634015954636, - "minimum": 0.3141592653589793, - "type": "number" - }, - "position": { - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - } - }, - "type": "object" - }, - "constraints": { - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "gap": { - "exclusiveMinimum": 0, - "type": "number" - }, - "kind": { - "const": "minSeparation", - "type": "string" - }, - "objects": { - "items": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "minItems": 2, - "type": "array" - } - }, - "required": [ - "kind", - "objects", - "gap" - ], - "type": "object" - }, - "type": "array" - }, - "environment": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "floorY": { - "default": -420, - "type": "number" - }, - "intensity": { - "default": 1, - "minimum": 0, - "type": "number" - }, - "kind": { - "const": "studio", - "type": "string" - }, - "lightingProfile": { - "default": "studio", - "enum": [ - "studio", - "studio-edge" - ], - "type": "string" - }, - "preset": { - "default": "soft", - "enum": [ - "soft", - "key", - "rim" - ], - "type": "string" - }, - "shadowOpacity": { - "default": 0.5, - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "photographic-studio-v1", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - } - ], - "default": { - "floorY": -420, - "intensity": 1, - "lightingProfile": "studio", - "preset": "soft", - "shadowOpacity": 0.5 - } - }, - "layers": { - "items": { - "$ref": "#/$defs/__schema1" - }, - "minItems": 1, - "type": "array" - }, - "post": { - "additionalProperties": false, - "default": { - "focus": null, - "grain": 0, - "vignette": 0 - }, - "properties": { - "focus": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "distance": { - "exclusiveMinimum": 0, - "type": "number" - }, - "maxBlur": { - "maximum": 64, - "minimum": 0, - "type": "number" - }, - "range": { - "exclusiveMinimum": 0, - "type": "number" - } - }, - "required": [ - "distance", - "range", - "maxBlur" - ], - "type": "object" - }, - { - "type": "null" - } - ], - "default": null - }, - "grain": { - "default": 0, - "maximum": 0.5, - "minimum": 0, - "type": "number" - }, - "vignette": { - "default": 0, - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "referenceSize": { - "additionalProperties": false, - "properties": { - "height": { - "maximum": 8192, - "minimum": 16, - "type": "integer" - }, - "width": { - "maximum": 8192, - "minimum": 16, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "version": { - "const": 2, - "type": "number" - } - }, - "required": [ - "version", - "referenceSize", - "layers" - ], - "type": "object" - }, - "startTime": { - "minimum": 0, - "type": "number" - }, - "transitionIn": { - "additionalProperties": {}, - "properties": { - "component": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "fromClipId": { - "minLength": 1, - "type": "string" - }, - "handlePolicy": { - "const": "outgoing-overrun-at-cut-v1", - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "toClipId": { - "minLength": 1, - "type": "string" - }, - "type": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "type", - "duration" - ], - "type": "object" - }, - "type": { - "const": "scene.update", - "type": "string" - } - }, - "required": [ - "type", - "clipId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Materialize a clip's SOURCE-media temporal GRID as timeline markers — the rhythm authority you cut to. `grid:\"beat\"` reads a MUSIC bed's beat map (get_media_context.beatGrid), `grid:\"word\"` the VO word onsets (wordGrid); each grid point is projected from media time to TIMELINE time through the clip's placement (startTime, trim, playbackRate, excludedRanges) and written as a `kind:\"beat\"|\"word\"` marker (`metadata.sourceClipId` set). Points outside the clip's visible window are skipped. Re-running REPLACES the prior markers from the same clip+grid (idempotent). Land cuts and transition MIDPOINTS on the markers (a 0.5s transition starts 0.25s before its marker). `maxMarkers` (default 500, ceiling 2000) — exceeding it fails loud with the count. `grid:\"shot\"` is not yet exposed (shot_grid_unavailable). The target must be a media clip; absent evidence fails loud (grid_unavailable) naming how to get it (declare audioRole:\"music\" at ingest / transcribe).", - "properties": { - "clipId": { - "type": "string" - }, - "grid": { - "enum": [ - "beat", - "word", - "shot" - ], - "type": "string" - }, - "maxMarkers": { - "exclusiveMinimum": 0, - "maximum": 2000, - "type": "integer" - }, - "type": { - "const": "materializeGrid", - "type": "string" - } - }, - "required": [ - "type", - "clipId", - "grid" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Attach caption CONTENT from the media's cached transcript — no pasting words. ROUTE-MATERIALIZED like materializeGrid: the server slices the word-timed transcript to `window` (source seconds; absent = the whole media), rebases times, sentence-splits into segments, and applies it as `setCaptions`. 422 media_no_transcript when the media has no transcript or no words in the window. For your OWN word timings use setCaptions directly. For edited multi-clip timelines, use captions.fromComposition after saving the edits; that operation projects all selected track clips, trims, exclusions, and placements.", - "properties": { - "mediaId": { - "minLength": 1, - "type": "string" - }, - "type": { - "const": "captions.fromTranscript", - "type": "string" - }, - "window": { - "additionalProperties": false, - "properties": { - "endSec": { - "exclusiveMinimum": 0, - "type": "number" - }, - "startSec": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "startSec", - "endSec" - ], - "type": "object" - } - }, - "required": [ - "type", - "mediaId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Snapshot word-timed captions from the SAVED edits on one explicit enabled video or audio track. The host reads each source media transcript, projects words through clip trim, excluded ranges and placement, then replaces the caption segments. This is route-materialized to setCaptions; call it AFTER persisting clip edits and call it again when those edits change. The existing caption style and depth are preserved. Missing transcripts, unsupported clips, inconsistent clip durations, and overlapping audible clips fail loud. Playback rate scales source word times and playable duration on both audio and video tracks.", - "properties": { - "trackId": { - "minLength": 1, - "type": "string" - }, - "type": { - "const": "captions.fromComposition", - "type": "string" - } - }, - "required": [ - "type", - "trackId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Set the output format — `aspectRatio` (16:9|9:16|1:1|4:5) plus optional `fps` and `resolution`. Merges: an omitted field keeps the current value.", - "properties": { - "format": { - "additionalProperties": {}, - "properties": { - "aspectRatio": { - "enum": [ - "16:9", - "9:16", - "1:1", - "4:5" - ], - "type": "string" - }, - "fps": { - "anyOf": [ - { - "const": 24, - "type": "number" - }, - { - "const": 25, - "type": "number" - }, - { - "const": 30, - "type": "number" - }, - { - "const": 60, - "type": "number" - } - ] - }, - "resolution": { - "enum": [ - "hd", - "fhd", - "4k" - ], - "type": "string" - } - }, - "required": [ - "aspectRatio" - ], - "type": "object" - }, - "type": { - "const": "setFormat", - "type": "string" - } - }, - "required": [ - "type", - "format" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Add an EMPTY track of a given family (video|audio|image|overlay|effect). Optional pinned `id`. The new track is appended, so it starts at the BACK: index 0 is the top layer and higher indices are further back (see `reorderTracks`). Track order only ranks clips on the same plane — every overlay draws above the video lane unless its `zPlane` is `behind-subject`, whatever its track index.", - "properties": { - "id": { - "type": "string" - }, - "kind": { - "enum": [ - "video", - "audio", - "image", - "overlay", - "effect" - ], - "type": "string" - }, - "name": { - "type": "string" - }, - "type": { - "const": "addTrack", - "type": "string" - } - }, - "required": [ - "type", - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Remove a track AND all its clips by id.", - "properties": { - "trackId": { - "type": "string" - }, - "type": { - "const": "removeTrack", - "type": "string" - } - }, - "required": [ - "type", - "trackId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Patch a track's `name` / `enabled` by id. Track volume is retired: set each clip's own volume.", - "properties": { - "trackId": { - "type": "string" - }, - "type": { - "const": "updateTrack", - "type": "string" - }, - "updates": { - "additionalProperties": false, - "properties": { - "enabled": { - "type": "boolean" - }, - "name": { - "type": "string" - }, - "volume": { - "maximum": 4, - "minimum": 0, - "type": "number" - } - }, - "type": "object" - } - }, - "required": [ - "type", - "trackId", - "updates" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Move a track from one index to another. ORDER: index 0 is the TOP layer, not the bottom — moving a backdrop to index 0 puts it in FRONT of everything and hides the composition. Higher index = further back. PRECEDENCE: track order decides compositing only among clips on the same plane. Overlays are composited in a lane ABOVE the video lane whatever their track index; the one exception is `zPlane:\"behind-subject\"`, which moves the overlay inside its host clip, behind the segmented foreground. So if reordering tracks does not change what you see, the plane split already decided it.", - "properties": { - "fromIndex": { - "type": "number" - }, - "toIndex": { - "type": "number" - }, - "type": { - "const": "reorderTracks", - "type": "string" - } - }, - "required": [ - "type", - "fromIndex", - "toIndex" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Move a clip to another SAME-family track, optionally at a new `newStartTime`.", - "properties": { - "clipId": { - "type": "string" - }, - "newStartTime": { - "type": "number" - }, - "targetTrackId": { - "type": "string" - }, - "type": { - "const": "moveClipToTrack", - "type": "string" - } - }, - "required": [ - "type", - "clipId", - "targetTrackId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Duplicate a clip by id. Pin `newClipId` to make the copy's id deterministic (required for a clean undo/inverse).", - "properties": { - "clipId": { - "type": "string" - }, - "newClipId": { - "type": "string" - }, - "type": { - "const": "duplicateClip", - "type": "string" - } - }, - "required": [ - "type", - "clipId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Server-authoritative: delete the [start,end] time window (seconds) and ripple every downstream clip/marker/caption earlier to close the gap.", - "properties": { - "end": { - "type": "number" - }, - "start": { - "type": "number" - }, - "type": { - "const": "cutAndRipple", - "type": "string" - } - }, - "required": [ - "type", - "start", - "end" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Server-authoritative: shift everything at/after `time` (seconds) by `amount` seconds (+ opens a gap, − closes one).", - "properties": { - "amount": { - "type": "number" - }, - "time": { - "type": "number" - }, - "type": { - "const": "ripple", - "type": "string" - } - }, - "required": [ - "type", - "time", - "amount" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Server-authoritative: exclude a [sourceStart,sourceEnd] span (seconds) of a clip's SOURCE (an internal trim) and ripple downstream — the preferred way to drop a sub-range vs a source patch.", - "properties": { - "clipId": { - "type": "string" - }, - "reason": { - "type": "string" - }, - "sourceEnd": { - "type": "number" - }, - "sourceStart": { - "type": "number" - }, - "type": { - "const": "addExcludedRange", - "type": "string" - } - }, - "required": [ - "type", - "clipId", - "sourceStart", - "sourceEnd" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Server-authoritative: remove a clip's previously-added excluded range by index (re-includes that span, ripples downstream).", - "properties": { - "clipId": { - "type": "string" - }, - "rangeIdx": { - "type": "number" - }, - "type": { - "const": "removeExcludedRange", - "type": "string" - } - }, - "required": [ - "type", - "clipId", - "rangeIdx" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Atomically repin explicit version3 invocations using complete before/after execution references and an exact composition etag. Persistence must canonically admit scoped source hashes, destination input schemas and every resulting target context before applying, including replay/undo. Never infer a latest head, downgrade versions or accept an admitted flag.", - "properties": { - "changes": { - "items": { - "additionalProperties": false, - "properties": { - "after": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "before": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "placementId": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "placementId", - "before", - "after" - ], - "type": "object" - }, - "maxItems": 512, - "minItems": 1, - "type": "array" - }, - "componentId": { - "minLength": 1, - "type": "string" - }, - "expectedCompositionEtag": { - "minLength": 1, - "type": "string" - }, - "from": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "to": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "type": { - "const": "component.repin-v3", - "type": "string" - } - }, - "required": [ - "type", - "componentId", - "from", - "to", - "expectedCompositionEtag", - "changes" - ], - "type": "object" - } - ] - }, - "operationId": { - "maxLength": 128, - "minLength": 1, - "type": "string" - } -} - removed
Input schema / properties / body / properties / composition / properties / operations / items / requiredRemoved value: -[ - "operationId", - "operation" -] - removed
Input schema / properties / body / properties / composition / properties / operations / items / typeRemoved value: -"object" - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema276" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
editorial_create_brief29 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "maxLength": 1000, + "minLength": 1, + "type": "string" + }, + "__schema1": { + "maxLength": 1000, + "minLength": 1, + "type": "string" + }, + "__schema10": { + "anyOf": [ + { + "maxLength": 100000, + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "__schema11": { + "anyOf": [ + { + "maxLength": 100000, + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "__schema12": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "__schema2": { + "anyOf": [ + { + "anyOf": [ + { + "maxLength": 100000, + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + { + "items": { + "$ref": "#/$defs/__schema3" + }, + "maxItems": 100, + "type": "array" + }, + { + "additionalProperties": { + "$ref": "#/$defs/__schema3" + }, + "properties": {}, + "propertyNames": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "type": "object" + } + ] + }, + "__schema3": { + "anyOf": [ + { + "anyOf": [ + { + "maxLength": 100000, + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + { + "items": { + "$ref": "#/$defs/__schema4" + }, + "maxItems": 100, + "type": "array" + }, + { + "additionalProperties": { + "$ref": "#/$defs/__schema4" + }, + "properties": {}, + "propertyNames": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "type": "object" + } + ] + }, + "__schema4": { + "anyOf": [ + { + "anyOf": [ + { + "maxLength": 100000, + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + { + "items": { + "$ref": "#/$defs/__schema5" + }, + "maxItems": 100, + "type": "array" + }, + { + "additionalProperties": { + "$ref": "#/$defs/__schema5" + }, + "properties": {}, + "propertyNames": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "type": "object" + } + ] + }, + "__schema5": { + "anyOf": [ + { + "anyOf": [ + { + "maxLength": 100000, + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + { + "items": { + "$ref": "#/$defs/__schema6" + }, + "maxItems": 100, + "type": "array" + }, + { + "additionalProperties": { + "$ref": "#/$defs/__schema6" + }, + "properties": {}, + "propertyNames": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "type": "object" + } + ] + }, + "__schema6": { + "anyOf": [ + { + "anyOf": [ + { + "maxLength": 100000, + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + { + "items": { + "$ref": "#/$defs/__schema7" + }, + "maxItems": 100, + "type": "array" + }, + { + "additionalProperties": { + "$ref": "#/$defs/__schema7" + }, + "properties": {}, + "propertyNames": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "type": "object" + } + ] + }, + "__schema7": { + "anyOf": [ + { + "anyOf": [ + { + "maxLength": 100000, + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + { + "items": { + "$ref": "#/$defs/__schema8" + }, + "maxItems": 100, + "type": "array" + }, + { + "additionalProperties": { + "$ref": "#/$defs/__schema8" + }, + "properties": {}, + "propertyNames": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "type": "object" + } + ] + }, + "__schema8": { + "anyOf": [ + { + "anyOf": [ + { + "maxLength": 100000, + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + { + "items": { + "$ref": "#/$defs/__schema9" + }, + "maxItems": 100, + "type": "array" + }, + { + "additionalProperties": { + "anyOf": [ + { + "anyOf": [ + { + "maxLength": 100000, + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + { + "items": { + "$ref": "#/$defs/__schema11" + }, + "maxItems": 100, + "type": "array" + }, + { + "additionalProperties": { + "anyOf": [ + { + "maxLength": 100000, + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "properties": {}, + "propertyNames": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "type": "object" + } + ] + }, + "properties": {}, + "propertyNames": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "type": "object" + } + ] + }, + "__schema9": { + "anyOf": [ + { + "anyOf": [ + { + "maxLength": 100000, + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + { + "items": { + "$ref": "#/$defs/__schema10" + }, + "maxItems": 100, + "type": "array" + }, + { + "additionalProperties": { + "anyOf": [ + { + "maxLength": 100000, + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "null" + } + ] + }, + "properties": {}, + "propertyNames": { + "maxLength": 255, + "minLength": 1, + "type": "string" + }, + "type": "object" + } + ] + } +} - added
Input schema / properties / body / properties / brief / properties / audio / $refAdded value: +"#/$defs/__schema2" - removed
Input schema / properties / body / properties / brief / properties / audio / anyOfRemoved value: -[ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } -] - added
Input schema / properties / body / properties / brief / properties / beats / $refAdded value: +"#/$defs/__schema2" - removed
Input schema / properties / body / properties / brief / properties / beats / anyOfRemoved value: -[ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } -] - added
Input schema / properties / body / properties / brief / properties / captions / $refAdded value: +"#/$defs/__schema2" - removed
Input schema / properties / body / properties / brief / properties / captions / anyOfRemoved value: -[ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } -] - added
Input schema / properties / body / properties / brief / properties / exclusions / $refAdded value: +"#/$defs/__schema2" - removed
Input schema / properties / body / properties / brief / properties / exclusions / anyOfRemoved value: -[ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } -] - added
Input schema / properties / body / properties / brief / properties / format / $refAdded value: +"#/$defs/__schema2" - removed
Input schema / properties / body / properties / brief / properties / format / anyOfRemoved value: -[ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } -] - added
Input schema / properties / body / properties / brief / properties / gates / $refAdded value: +"#/$defs/__schema2" - removed
Input schema / properties / body / properties / brief / properties / gates / anyOfRemoved value: -[ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } -] - added
Input schema / properties / body / properties / brief / properties / motionStyle / $refAdded value: +"#/$defs/__schema2" - removed
Input schema / properties / body / properties / brief / properties / motionStyle / anyOfRemoved value: -[ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } -] - added
Input schema / properties / body / properties / brief / properties / mustIncludes / items / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / body / properties / brief / properties / mustIncludes / items / maxLengthRemoved value: -1000 - removed
Input schema / properties / body / properties / brief / properties / mustIncludes / items / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / brief / properties / mustIncludes / items / typeRemoved value: -"string" - added
Input schema / properties / body / properties / brief / properties / references / items / $refAdded value: +"#/$defs/__schema1" - removed
Input schema / properties / body / properties / brief / properties / references / items / maxLengthRemoved value: -1000 - removed
Input schema / properties / body / properties / brief / properties / references / items / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / brief / properties / references / items / typeRemoved value: -"string" - added
Input schema / properties / body / properties / brief / properties / seededGraphics / $refAdded value: +"#/$defs/__schema2" - removed
Input schema / properties / body / properties / brief / properties / seededGraphics / anyOfRemoved value: -[ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - { - "items": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "maxItems": 100, - "type": "array" - }, - { - "additionalProperties": { - "anyOf": [ - { - "maxLength": 100000, - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 255, - "minLength": 1, - "type": "string" - }, - "type": "object" - } -] - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema12" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
editorial_create_run15 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "additionalProperties": false, + "properties": { + "range": { + "additionalProperties": false, + "properties": { + "frames": { + "items": false, + "maxItems": 2, + "minItems": 2, + "prefixItems": [ + { + "$ref": "#/$defs/__schema1" + }, + { + "$ref": "#/$defs/__schema2" + } + ], + "type": "array" + }, + "mediaId": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "representationIdentity": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "representationRevision": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "timebaseDen": { + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + }, + "timebaseNum": { + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + } + }, + "required": [ + "mediaId", + "representationIdentity", + "representationRevision", + "frames", + "timebaseNum", + "timebaseDen" + ], + "type": "object" + } + }, + "required": [ + "range" + ], + "type": "object" + }, + "__schema1": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "__schema2": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "__schema3": { + "additionalProperties": false, + "properties": { + "id": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "order": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "purpose": { + "maxLength": 1000, + "minLength": 1, + "type": "string" + }, + "targetDurationSec": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "id", + "purpose", + "order", + "targetDurationSec" + ], + "type": "object" + }, + "__schema4": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / body / properties / inputs / items / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / body / properties / inputs / items / additionalPropertiesRemoved value: -false - removed
Input schema / properties / body / properties / inputs / items / propertiesRemoved value: -{ - "range": { - "additionalProperties": false, - "properties": { - "frames": { - "items": false, - "maxItems": 2, - "minItems": 2, - "prefixItems": [ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - ], - "type": "array" - }, - "mediaId": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "representationIdentity": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "representationRevision": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "timebaseDen": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "timebaseNum": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "mediaId", - "representationIdentity", - "representationRevision", - "frames", - "timebaseNum", - "timebaseDen" - ], - "type": "object" - } -} - removed
Input schema / properties / body / properties / inputs / items / requiredRemoved value: -[ - "range" -] - removed
Input schema / properties / body / properties / inputs / items / typeRemoved value: -"object" - added
Input schema / properties / body / properties / outline / items / $refAdded value: +"#/$defs/__schema3" - removed
Input schema / properties / body / properties / outline / items / additionalPropertiesRemoved value: -false - removed
Input schema / properties / body / properties / outline / items / propertiesRemoved value: -{ - "id": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "order": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "purpose": { - "maxLength": 1000, - "minLength": 1, - "type": "string" - }, - "targetDurationSec": { - "minimum": 0, - "type": "number" - } -} - removed
Input schema / properties / body / properties / outline / items / requiredRemoved value: -[ - "id", - "purpose", - "order", - "targetDurationSec" -] - removed
Input schema / properties / body / properties / outline / items / typeRemoved value: -"object" - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema4" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
editorial_findings_append10 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "__schema1": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "__schema2": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "__schema3": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / body / properties / evidenceIds / items / $refAdded value: +"#/$defs/__schema2" - removed
Input schema / properties / body / properties / evidenceIds / items / maxLengthRemoved value: -128 - removed
Input schema / properties / body / properties / evidenceIds / items / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / evidenceIds / items / typeRemoved value: -"string" - changed
Input schema / properties / body / properties / range / properties / frames / prefixItemsPrevious value: -[ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } -]New value: +[ + { + "$ref": "#/$defs/__schema0" + }, + { + "$ref": "#/$defs/__schema1" + } +] - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema3" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
editorial_inspect_audio6 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "__schema1": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "__schema2": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - changed
Input schema / properties / body / properties / range / properties / frames / prefixItemsPrevious value: -[ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } -]New value: +[ + { + "$ref": "#/$defs/__schema0" + }, + { + "$ref": "#/$defs/__schema1" + } +] - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema2" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
editorial_inspect_source5 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
editorial_inspect_transcript7 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "__schema1": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "__schema2": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "__schema3": { + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + }, + "__schema4": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - changed
Input schema / properties / body / properties / range / properties / frames / prefixItemsPrevious value: -[ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } -]New value: +[ + { + "$ref": "#/$defs/__schema0" + }, + { + "$ref": "#/$defs/__schema1" + } +] - changed
Input schema / properties / body / properties / wordSpan / prefixItemsPrevious value: -[ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } -]New value: +[ + { + "$ref": "#/$defs/__schema2" + }, + { + "$ref": "#/$defs/__schema3" + } +] - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema4" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
editorial_integrate18 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "__schema1": { + "additionalProperties": false, + "properties": { + "findingId": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "reason": { + "maxLength": 1000, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "findingId", + "reason" + ], + "type": "object" + }, + "__schema2": { + "maxLength": 1000, + "minLength": 1, + "type": "string" + }, + "__schema3": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / body / properties / integration / properties / omittedReasons / items / $refAdded value: +"#/$defs/__schema1" - removed
Input schema / properties / body / properties / integration / properties / omittedReasons / items / additionalPropertiesRemoved value: -false - removed
Input schema / properties / body / properties / integration / properties / omittedReasons / items / propertiesRemoved value: -{ - "findingId": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "reason": { - "maxLength": 1000, - "minLength": 1, - "type": "string" - } -} - removed
Input schema / properties / body / properties / integration / properties / omittedReasons / items / requiredRemoved value: -[ - "findingId", - "reason" -] - removed
Input schema / properties / body / properties / integration / properties / omittedReasons / items / typeRemoved value: -"object" - added
Input schema / properties / body / properties / integration / properties / selectedFindingIds / items / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / body / properties / integration / properties / selectedFindingIds / items / maxLengthRemoved value: -128 - removed
Input schema / properties / body / properties / integration / properties / selectedFindingIds / items / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / integration / properties / selectedFindingIds / items / typeRemoved value: -"string" - added
Input schema / properties / body / properties / integration / properties / unresolvedGaps / items / $refAdded value: +"#/$defs/__schema2" - removed
Input schema / properties / body / properties / integration / properties / unresolvedGaps / items / maxLengthRemoved value: -1000 - removed
Input schema / properties / body / properties / integration / properties / unresolvedGaps / items / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / integration / properties / unresolvedGaps / items / typeRemoved value: -"string" - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema3" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
editorial_sample_motion6 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "__schema1": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "__schema2": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - changed
Input schema / properties / body / properties / range / properties / frames / prefixItemsPrevious value: -[ - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } -]New value: +[ + { + "$ref": "#/$defs/__schema0" + }, + { + "$ref": "#/$defs/__schema1" + } +] - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema2" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
extract_brand_kit8 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "format": "uri", + "type": "string" + }, + "__schema1": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / body / properties / url / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / body / properties / url / formatRemoved value: -"uri" - removed
Input schema / properties / body / properties / url / typeRemoved value: -"string" - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema1" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
finalize_upload9 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "description": "Declared audio role: 'vo' (narration), 'music' (bed that ducks under speech), 'sfx' (one-shot hit), 'ambience' (a bed that HOLDS under VO — never ducks).", + "enum": [ + "vo", + "music", + "sfx", + "ambience" + ], + "type": "string" + }, + "__schema1": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / body / properties / audioRole / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / body / properties / audioRole / descriptionRemoved value: -"Declared audio role: 'vo' (narration), 'music' (bed that ducks under speech), 'sfx' (one-shot hit), 'ambience' (a bed that HOLDS under VO — never ducks)." - removed
Input schema / properties / body / properties / audioRole / enumRemoved value: -[ - "vo", - "music", - "sfx", - "ambience" -] - removed
Input schema / properties / body / properties / audioRole / typeRemoved value: -"string" - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema1" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
forget_taste5 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
generate_media22 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "enum": [ + "text-to-video", + "text-to-image", + "image-to-video", + "text-to-music", + "text-to-speech", + "text-to-sfx", + "auto" + ], + "type": "string" + }, + "__schema1": { + "maxLength": 10000, + "minLength": 1, + "type": "string" + }, + "__schema2": { + "$ref": "#/$defs/__schema3", + "description": "Free-form generation parameters, read per generator. All generators honor `aspect` (string) + `durationSec` (number) where applicable. text-to-speech honors `voice` (string; default voice when omitted), `speed` (number 0.7-1.2), `stability` (number 0-1), and `styleExaggeration` (number 0-1 → the endpoint's style exaggeration). Provider and model selection are server-owned and cannot be overridden.", + "propertyNames": { + "type": "string" + } + }, + "__schema3": { + "additionalProperties": {}, + "properties": {}, + "type": "object" + }, + "__schema4": { + "additionalProperties": false, + "properties": { + "firstFrameMediaId": { + "type": "string" + }, + "imageMediaIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "lastFrameMediaId": { + "type": "string" + } + }, + "type": "object" + }, + "__schema5": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / body / properties / generator / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / body / properties / generator / enumRemoved value: -[ - "text-to-video", - "text-to-image", - "image-to-video", - "text-to-music", - "text-to-speech", - "text-to-sfx", - "auto" -] - removed
Input schema / properties / body / properties / generator / typeRemoved value: -"string" - added
Input schema / properties / body / properties / prompt / $refAdded value: +"#/$defs/__schema1" - removed
Input schema / properties / body / properties / prompt / maxLengthRemoved value: -10000 - removed
Input schema / properties / body / properties / prompt / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / prompt / typeRemoved value: -"string" - added
Input schema / properties / body / properties / refs / $refAdded value: +"#/$defs/__schema4" - removed
Input schema / properties / body / properties / refs / additionalPropertiesRemoved value: -false - removed
Input schema / properties / body / properties / refs / propertiesRemoved value: -{ - "firstFrameMediaId": { - "type": "string" - }, - "imageMediaIds": { - "items": { - "type": "string" - }, - "type": "array" - }, - "lastFrameMediaId": { - "type": "string" - } -} - removed
Input schema / properties / body / properties / refs / typeRemoved value: -"object" - added
Input schema / properties / body / properties / style / $refAdded value: +"#/$defs/__schema2" - removed
Input schema / properties / body / properties / style / additionalPropertiesRemoved value: -{} - removed
Input schema / properties / body / properties / style / descriptionRemoved value: -"Free-form generation parameters, read per generator. All generators honor `aspect` (string) + `durationSec` (number) where applicable. text-to-speech honors `voice` (string; default voice when omitted), `speed` (number 0.7-1.2), `stability` (number 0-1), and `styleExaggeration` (number 0-1 → the endpoint's style exaggeration). Provider and model selection are server-owned and cannot be overridden." - removed
Input schema / properties / body / properties / style / propertiesRemoved value: -{} - removed
Input schema / properties / body / properties / style / propertyNamesRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / body / properties / style / typeRemoved value: -"object" - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema5" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
get_composition8 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "anyOf": [ + { + "const": "3", + "type": "string" + }, + { + "items": false, + "maxItems": 2, + "minItems": 2, + "prefixItems": [ + { + "$ref": "#/$defs/__schema1" + }, + { + "$ref": "#/$defs/__schema2" + } + ], + "type": "array" + } + ] + }, + "__schema1": { + "const": "3", + "type": "string" + }, + "__schema2": { + "const": "4", + "type": "string" + }, + "__schema3": { + "items": { + "$ref": "#/$defs/__schema4" + }, + "minItems": 1, + "type": "array" + }, + "__schema4": { + "minLength": 1, + "type": "string" + }, + "__schema5": { + "enum": [ + "compact", + "full" + ], + "type": "string" + }, + "__schema6": { + "items": { + "$ref": "#/$defs/__schema7" + }, + "maxItems": 2048, + "minItems": 1, + "type": "array" + }, + "__schema7": { + "maxLength": 256, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / clipIdsAdded value: +{ + "$ref": "#/$defs/__schema3", + "description": "Read only these exact clip IDs. With response full their complete sources are returned. Unknown and duplicate IDs are refused. Omit for all clips." +} - added
Input schema / properties / componentExecutionVersions / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / componentExecutionVersions / anyOfRemoved value: -[ - { - "const": "3", - "type": "string" - }, - { - "items": false, - "maxItems": 2, - "minItems": 2, - "prefixItems": [ - { - "const": "3", - "type": "string" - }, - { - "const": "4", - "type": "string" - } - ], - "type": "array" - } -] - added
Input schema / properties / componentExecutionVersions / defaultAdded value: +[ + "3", + "4" +] - added
Input schema / properties / dependencyKeysAdded value: +{ + "$ref": "#/$defs/__schema6", + "description": "Select these exact existing dependency keys from includeDependencies=true. Tokens are returned byte-for-byte; unknown or duplicate keys are refused. This selection does not establish that the basis is sufficient for an operation." +} - added
Input schema / properties / responseAdded value: +{ + "$ref": "#/$defs/__schema5", + "description": "MCP response view. Default compact omits repeated source bodies. Full returns the complete backend receipt or requested sources. This does not change the saved composition." +} - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "anyOf": [ + { + "additionalProperties": {}, + "properties": { + "response": { + "const": "compact", + "type": "string" + } + }, + "required": [ + "response" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "description": "Verbatim backend JSON object, or an explicitly identified full selected-clip view.", + "propertyNames": { + "type": "string" + }, + "type": "object" + } + ], + "type": "object" +}
- Changed
get_template3 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "type": "boolean" + } +} - added
Input schema / properties / full / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / full / typeRemoved value: -"boolean"
- Changed
get_transcript5 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "maximum": 100, + "minimum": 1, + "type": "integer" + } +} - added
Input schema / properties / limit / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / limit / maximumRemoved value: -100 - removed
Input schema / properties / limit / minimumRemoved value: -1 - removed
Input schema / properties / limit / typeRemoved value: -"integer"
- Changed
import_media24 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "format": "uri", + "maxLength": 2048, + "type": "string" + }, + "__schema1": { + "maxLength": 500, + "minLength": 1, + "type": "string" + }, + "__schema2": { + "enum": [ + "video/mp4", + "video/quicktime", + "video/x-matroska", + "video/webm", + "audio/mpeg", + "audio/wav", + "audio/x-wav", + "audio/mp4", + "audio/aac", + "image/png", + "image/jpeg", + "image/webp", + "image/gif", + "image/svg+xml", + "application/json", + "font/ttf", + "font/otf", + "font/woff", + "font/woff2" + ], + "type": "string" + }, + "__schema3": { + "exclusiveMinimum": 0, + "maximum": 10737418240, + "type": "integer" + }, + "__schema4": { + "description": "Declared audio role: 'vo' (narration), 'music' (bed that ducks under speech), 'sfx' (one-shot hit), 'ambience' (a bed that HOLDS under VO — never ducks).", + "enum": [ + "vo", + "music", + "sfx", + "ambience" + ], + "type": "string" + }, + "__schema5": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / body / properties / audioRole / $refAdded value: +"#/$defs/__schema4" - removed
Input schema / properties / body / properties / audioRole / descriptionRemoved value: -"Declared audio role: 'vo' (narration), 'music' (bed that ducks under speech), 'sfx' (one-shot hit), 'ambience' (a bed that HOLDS under VO — never ducks)." - removed
Input schema / properties / body / properties / audioRole / enumRemoved value: -[ - "vo", - "music", - "sfx", - "ambience" -] - removed
Input schema / properties / body / properties / audioRole / typeRemoved value: -"string" - added
Input schema / properties / body / properties / contentType / $refAdded value: +"#/$defs/__schema2" - removed
Input schema / properties / body / properties / contentType / enumRemoved value: -[ - "video/mp4", - "video/quicktime", - "video/x-matroska", - "video/webm", - "audio/mpeg", - "audio/wav", - "audio/x-wav", - "audio/mp4", - "audio/aac", - "image/png", - "image/jpeg", - "image/webp", - "image/gif", - "image/svg+xml", - "application/json", - "font/ttf", - "font/otf", - "font/woff", - "font/woff2" -] - removed
Input schema / properties / body / properties / contentType / typeRemoved value: -"string" - added
Input schema / properties / body / properties / filename / $refAdded value: +"#/$defs/__schema1" - removed
Input schema / properties / body / properties / filename / maxLengthRemoved value: -500 - removed
Input schema / properties / body / properties / filename / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / filename / typeRemoved value: -"string" - added
Input schema / properties / body / properties / size / $refAdded value: +"#/$defs/__schema3" - removed
Input schema / properties / body / properties / size / exclusiveMinimumRemoved value: -0 - removed
Input schema / properties / body / properties / size / maximumRemoved value: -10737418240 - removed
Input schema / properties / body / properties / size / typeRemoved value: -"integer" - added
Input schema / properties / body / properties / url / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / body / properties / url / formatRemoved value: -"uri" - removed
Input schema / properties / body / properties / url / maxLengthRemoved value: -2048 - removed
Input schema / properties / body / properties / url / typeRemoved value: -"string" - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema5" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
import_resource17 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "enum": [ + "sfx-pack", + "music-pack" + ], + "type": "string" + }, + "__schema1": { + "minLength": 1, + "type": "string" + }, + "__schema2": { + "minLength": 1, + "type": "string" + }, + "__schema3": { + "minLength": 1, + "type": "string" + }, + "__schema4": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / body / properties / candidateId / $refAdded value: +"#/$defs/__schema3" - removed
Input schema / properties / body / properties / candidateId / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / candidateId / typeRemoved value: -"string" - added
Input schema / properties / body / properties / id / $refAdded value: +"#/$defs/__schema1" - removed
Input schema / properties / body / properties / id / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / id / typeRemoved value: -"string" - added
Input schema / properties / body / properties / kind / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / body / properties / kind / enumRemoved value: -[ - "sfx-pack", - "music-pack" -] - removed
Input schema / properties / body / properties / kind / typeRemoved value: -"string" - added
Input schema / properties / body / properties / projectId / $refAdded value: +"#/$defs/__schema2" - removed
Input schema / properties / body / properties / projectId / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / projectId / typeRemoved value: -"string" - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema4" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
list_catalog5 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "maximum": 100, + "minimum": 1, + "type": "integer" + } +} - added
Input schema / properties / limit / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / limit / maximumRemoved value: -100 - removed
Input schema / properties / limit / minimumRemoved value: -1 - removed
Input schema / properties / limit / typeRemoved value: -"integer"
- Changed
list_templates5 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "maximum": 100, + "minimum": 1, + "type": "integer" + } +} - added
Input schema / properties / limit / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / limit / maximumRemoved value: -100 - removed
Input schema / properties / limit / minimumRemoved value: -1 - removed
Input schema / properties / limit / typeRemoved value: -"integer"
- Changed
new_composition14 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "__schema1": { + "additionalProperties": {}, + "properties": { + "aspectRatio": { + "enum": [ + "16:9", + "9:16", + "1:1", + "4:5" + ], + "type": "string" + }, + "fps": { + "anyOf": [ + { + "const": 24, + "type": "number" + }, + { + "const": 25, + "type": "number" + }, + { + "const": 30, + "type": "number" + }, + { + "const": 60, + "type": "number" + } + ] + }, + "platform": { + "type": "string" + }, + "resolution": { + "enum": [ + "hd", + "fhd", + "4k" + ], + "type": "string" + } + }, + "required": [ + "aspectRatio" + ], + "type": "object" + }, + "__schema2": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / body / properties / format / $refAdded value: +"#/$defs/__schema1" - removed
Input schema / properties / body / properties / format / additionalPropertiesRemoved value: -{} - removed
Input schema / properties / body / properties / format / propertiesRemoved value: -{ - "aspectRatio": { - "enum": [ - "16:9", - "9:16", - "1:1", - "4:5" - ], - "type": "string" - }, - "fps": { - "anyOf": [ - { - "const": 24, - "type": "number" - }, - { - "const": 25, - "type": "number" - }, - { - "const": 30, - "type": "number" - }, - { - "const": 60, - "type": "number" - } - ] - }, - "platform": { - "type": "string" - }, - "resolution": { - "enum": [ - "hd", - "fhd", - "4k" - ], - "type": "string" - } -} - removed
Input schema / properties / body / properties / format / requiredRemoved value: -[ - "aspectRatio" -] - removed
Input schema / properties / body / properties / format / typeRemoved value: -"object" - added
Input schema / properties / body / properties / name / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / body / properties / name / maxLengthRemoved value: -200 - removed
Input schema / properties / body / properties / name / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / name / typeRemoved value: -"string" - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema2" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
prepare_media15 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "description": "Which enhancement to buy. `transcript` is NOT purchasable here — it is delivered by the transcription pipeline.", + "enum": [ + "subjectTrack", + "matte" + ], + "type": "string" + }, + "__schema1": { + "additionalProperties": false, + "description": "The SOURCE window. REQUIRED for `matte` (its cost scales with duration). OPTIONAL for `subjectTrack`: give a clip's source window to buy the track the render looks up for THAT clip, and pay only for its duration; omit it to detect the whole source.", + "properties": { + "endSec": { + "$ref": "#/$defs/__schema3" + }, + "startSec": { + "$ref": "#/$defs/__schema2" + } + }, + "required": [ + "startSec", + "endSec" + ], + "type": "object" + }, + "__schema2": { + "minimum": 0, + "type": "number" + }, + "__schema3": { + "exclusiveMinimum": 0, + "type": "number" + }, + "__schema4": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / body / properties / intent / $refAdded value: +"#/$defs/__schema1" - removed
Input schema / properties / body / properties / intent / additionalPropertiesRemoved value: -false - removed
Input schema / properties / body / properties / intent / descriptionRemoved value: -"The SOURCE window. REQUIRED for `matte` (its cost scales with duration). OPTIONAL for `subjectTrack`: give a clip's source window to buy the track the render looks up for THAT clip, and pay only for its duration; omit it to detect the whole source." - removed
Input schema / properties / body / properties / intent / propertiesRemoved value: -{ - "endSec": { - "exclusiveMinimum": 0, - "type": "number" - }, - "startSec": { - "minimum": 0, - "type": "number" - } -} - removed
Input schema / properties / body / properties / intent / requiredRemoved value: -[ - "startSec", - "endSec" -] - removed
Input schema / properties / body / properties / intent / typeRemoved value: -"object" - added
Input schema / properties / body / properties / kind / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / body / properties / kind / descriptionRemoved value: -"Which enhancement to buy. `transcript` is NOT purchasable here — it is delivered by the transcription pipeline." - removed
Input schema / properties / body / properties / kind / enumRemoved value: -[ - "subjectTrack", - "matte" -] - removed
Input schema / properties / body / properties / kind / typeRemoved value: -"string" - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema4" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
preview_card12 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "__schema1": { + "enum": [ + "16:9", + "9:16", + "1:1", + "4:5" + ], + "type": "string" + }, + "__schema2": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / aspectRatio / $refAdded value: +"#/$defs/__schema1" - removed
Input schema / properties / aspectRatio / enumRemoved value: -[ - "16:9", - "9:16", - "1:1", - "4:5" -] - removed
Input schema / properties / aspectRatio / typeRemoved value: -"string" - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema2" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string" - added
Input schema / properties / tokens / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / tokens / additionalPropertiesRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / tokens / propertyNamesRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / tokens / typeRemoved value: -"object"
- Changed
preview_clip17 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "description": "Window start, seconds into the composition.", + "minimum": 0, + "type": "number" + }, + "__schema1": { + "description": "Window end (exclusive), seconds.", + "exclusiveMinimum": 0, + "type": "number" + }, + "__schema2": { + "description": "Target a specific composition; defaults to the project's active composition.", + "minLength": 1, + "type": "string" + }, + "__schema3": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / body / properties / compositionId / $refAdded value: +"#/$defs/__schema2" - removed
Input schema / properties / body / properties / compositionId / descriptionRemoved value: -"Target a specific composition; defaults to the project's active composition." - removed
Input schema / properties / body / properties / compositionId / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / compositionId / typeRemoved value: -"string" - added
Input schema / properties / body / properties / fromSec / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / body / properties / fromSec / descriptionRemoved value: -"Window start, seconds into the composition." - removed
Input schema / properties / body / properties / fromSec / minimumRemoved value: -0 - removed
Input schema / properties / body / properties / fromSec / typeRemoved value: -"number" - added
Input schema / properties / body / properties / toSec / $refAdded value: +"#/$defs/__schema1" - removed
Input schema / properties / body / properties / toSec / descriptionRemoved value: -"Window end (exclusive), seconds." - removed
Input schema / properties / body / properties / toSec / exclusiveMinimumRemoved value: -0 - removed
Input schema / properties / body / properties / toSec / typeRemoved value: -"number" - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema3" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
preview_component10 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "type": "object" + }, + "__schema1": { + "const": 24, + "type": "number" + }, + "__schema2": { + "const": 25, + "type": "number" + }, + "__schema3": { + "const": 30, + "type": "number" + }, + "__schema4": { + "const": 60, + "type": "number" + }, + "__schema5": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / body / properties / assets / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / body / properties / assets / additionalPropertiesRemoved value: -{ - "minLength": 1, - "type": "string" -} - removed
Input schema / properties / body / properties / assets / propertiesRemoved value: -{} - removed
Input schema / properties / body / properties / assets / typeRemoved value: -"object" - changed
Input schema / properties / body / properties / fps / anyOfPrevious value: -[ - { - "const": 24, - "type": "number" - }, - { - "const": 25, - "type": "number" - }, - { - "const": 30, - "type": "number" - }, - { - "const": 60, - "type": "number" - } -]New value: +[ + { + "$ref": "#/$defs/__schema1" + }, + { + "$ref": "#/$defs/__schema2" + }, + { + "$ref": "#/$defs/__schema3" + }, + { + "$ref": "#/$defs/__schema4" + } +] - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema5" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
preview_frame7 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "type": "number" + }, + "__schema1": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / body / properties / timestamps / items / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / body / properties / timestamps / items / typeRemoved value: -"number" - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema1" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
refresh_render_url5 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
register_critic36 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "description": "Stable client id; re-registering the same id UPSERTS.", + "minLength": 1, + "type": "string" + }, + "__schema1": { + "minLength": 1, + "type": "string" + }, + "__schema10": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "__schema2": { + "enum": [ + "rules", + "rubric", + "evaluator" + ], + "type": "string" + }, + "__schema3": { + "description": "Score below this routes a refine like a built-in criterion. Defaults to 6.", + "maximum": 10, + "minimum": 0, + "type": "number" + }, + "__schema4": { + "description": "tier \"rules\": declarative ClientRule[] (data).", + "items": { + "$ref": "#/$defs/__schema5" + }, + "type": "array" + }, + "__schema5": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "__schema6": { + "description": "tier \"rubric\": your criterion + description; scored as an extra column.", + "type": "string" + }, + "__schema7": { + "description": "tier \"rubric\"/\"evaluator\": up to 6 org media ids whose thumbnails the judge sees as YOUR reference standard — \"looks like mine\" becomes a machine check. Each must be an org-owned media item with a visual thumbnail (422 names any that is not).", + "items": { + "$ref": "#/$defs/__schema8" + }, + "maxItems": 6, + "type": "array" + }, + "__schema8": { + "type": "string" + }, + "__schema9": { + "description": "tier \"evaluator\": your HTTPS webhook; CueFrame POSTs the artifact.", + "format": "uri", + "type": "string" + } +} - added
Input schema / properties / body / properties / criticId / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / body / properties / criticId / descriptionRemoved value: -"Stable client id; re-registering the same id UPSERTS." - removed
Input schema / properties / body / properties / criticId / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / criticId / typeRemoved value: -"string" - added
Input schema / properties / body / properties / floor / $refAdded value: +"#/$defs/__schema3" - removed
Input schema / properties / body / properties / floor / descriptionRemoved value: -"Score below this routes a refine like a built-in criterion. Defaults to 6." - removed
Input schema / properties / body / properties / floor / maximumRemoved value: -10 - removed
Input schema / properties / body / properties / floor / minimumRemoved value: -0 - removed
Input schema / properties / body / properties / floor / typeRemoved value: -"number" - added
Input schema / properties / body / properties / label / $refAdded value: +"#/$defs/__schema1" - removed
Input schema / properties / body / properties / label / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / label / typeRemoved value: -"string" - added
Input schema / properties / body / properties / referenceMediaIds / $refAdded value: +"#/$defs/__schema7" - removed
Input schema / properties / body / properties / referenceMediaIds / descriptionRemoved value: -"tier \"rubric\"/\"evaluator\": up to 6 org media ids whose thumbnails the judge sees as YOUR reference standard — \"looks like mine\" becomes a machine check. Each must be an org-owned media item with a visual thumbnail (422 names any that is not)." - removed
Input schema / properties / body / properties / referenceMediaIds / itemsRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / body / properties / referenceMediaIds / maxItemsRemoved value: -6 - removed
Input schema / properties / body / properties / referenceMediaIds / typeRemoved value: -"array" - added
Input schema / properties / body / properties / rubric / $refAdded value: +"#/$defs/__schema6" - removed
Input schema / properties / body / properties / rubric / descriptionRemoved value: -"tier \"rubric\": your criterion + description; scored as an extra column." - removed
Input schema / properties / body / properties / rubric / typeRemoved value: -"string" - added
Input schema / properties / body / properties / rules / $refAdded value: +"#/$defs/__schema4" - removed
Input schema / properties / body / properties / rules / descriptionRemoved value: -"tier \"rules\": declarative ClientRule[] (data)." - removed
Input schema / properties / body / properties / rules / itemsRemoved value: -{ - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" -} - removed
Input schema / properties / body / properties / rules / typeRemoved value: -"array" - added
Input schema / properties / body / properties / tier / $refAdded value: +"#/$defs/__schema2" - removed
Input schema / properties / body / properties / tier / enumRemoved value: -[ - "rules", - "rubric", - "evaluator" -] - removed
Input schema / properties / body / properties / tier / typeRemoved value: -"string" - added
Input schema / properties / body / properties / url / $refAdded value: +"#/$defs/__schema9" - removed
Input schema / properties / body / properties / url / descriptionRemoved value: -"tier \"evaluator\": your HTTPS webhook; CueFrame POSTs the artifact." - removed
Input schema / properties / body / properties / url / formatRemoved value: -"uri" - removed
Input schema / properties / body / properties / url / typeRemoved value: -"string" - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema10" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
remember_taste14 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "description": "One durable style preference, at most 2048 bytes. An org's entries together hold at most 4000 characters.", + "minLength": 1, + "type": "string" + }, + "__schema1": { + "description": "Where it came from: the job, checkpoint or chat, plus a date.", + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "__schema2": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / body / properties / source / $refAdded value: +"#/$defs/__schema1" - removed
Input schema / properties / body / properties / source / descriptionRemoved value: -"Where it came from: the job, checkpoint or chat, plus a date." - removed
Input schema / properties / body / properties / source / maxLengthRemoved value: -256 - removed
Input schema / properties / body / properties / source / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / source / typeRemoved value: -"string" - added
Input schema / properties / body / properties / text / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / body / properties / text / descriptionRemoved value: -"One durable style preference, at most 2048 bytes. An org's entries together hold at most 4000 characters." - removed
Input schema / properties / body / properties / text / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / text / typeRemoved value: -"string" - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema2" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
repin_component8 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "minLength": 1, + "type": "string" + }, + "__schema1": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / body / properties / clip_ids / items / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / body / properties / clip_ids / items / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / clip_ids / items / typeRemoved value: -"string" - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema1" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
resume18 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "description": "The ONE verdict for this gate (GitHub review grammar). approve = proceed (comments allowed — they record as taste signal without gating); revise = the director revises per comments/edits and RE-PRESENTS this same gate (in-job, no re-meter); abandon = end the run.", + "enum": [ + "approve", + "revise", + "abandon" + ], + "type": "string" + }, + "__schema1": { + "items": { + "$ref": "#/$defs/__schema2" + }, + "maxItems": 24, + "type": "array" + }, + "__schema2": { + "additionalProperties": false, + "properties": { + "anchor": { + "anyOf": [ + { + "$ref": "#/$defs/__schema3" + }, + { + "$ref": "#/$defs/__schema4" + } + ], + "description": "What the comment is about: a plan beat (content gate) or a timecode on the artifact (layout/motion gates)." + }, + "note": { + "maxLength": 2000, + "type": "string" + }, + "verdict": { + "description": "Per-anchor verdict under the single gate decision. `lock` = contractually frozen — the director touching a locked element is a defect, surfaced as a lock_violation verdict on the next packet (the no-discard machinery).", + "enum": [ + "approve", + "revise", + "lock" + ], + "type": "string" + } + }, + "required": [ + "anchor", + "verdict" + ], + "type": "object" + }, + "__schema3": { + "additionalProperties": false, + "properties": { + "beatId": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "beatId" + ], + "type": "object" + }, + "__schema4": { + "additionalProperties": false, + "properties": { + "timecodeMs": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "timecodeMs" + ], + "type": "object" + }, + "__schema5": { + "description": "Your edited stage artifact (the power path). With edits the re-presented packet carries exactly what you supplied; with comments alone the director re-authors scoped by them." + }, + "__schema6": { + "maxLength": 4000, + "type": "string" + }, + "__schema7": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / body / properties / comments / $refAdded value: +"#/$defs/__schema1" - removed
Input schema / properties / body / properties / comments / itemsRemoved value: -{ - "additionalProperties": false, - "properties": { - "anchor": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "beatId": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "beatId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "timecodeMs": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "timecodeMs" - ], - "type": "object" - } - ], - "description": "What the comment is about: a plan beat (content gate) or a timecode on the artifact (layout/motion gates)." - }, - "note": { - "maxLength": 2000, - "type": "string" - }, - "verdict": { - "description": "Per-anchor verdict under the single gate decision. `lock` = contractually frozen — the director touching a locked element is a defect, surfaced as a lock_violation verdict on the next packet (the no-discard machinery).", - "enum": [ - "approve", - "revise", - "lock" - ], - "type": "string" - } - }, - "required": [ - "anchor", - "verdict" - ], - "type": "object" -} - removed
Input schema / properties / body / properties / comments / maxItemsRemoved value: -24 - removed
Input schema / properties / body / properties / comments / typeRemoved value: -"array" - added
Input schema / properties / body / properties / decision / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / body / properties / decision / descriptionRemoved value: -"The ONE verdict for this gate (GitHub review grammar). approve = proceed (comments allowed — they record as taste signal without gating); revise = the director revises per comments/edits and RE-PRESENTS this same gate (in-job, no re-meter); abandon = end the run." - removed
Input schema / properties / body / properties / decision / enumRemoved value: -[ - "approve", - "revise", - "abandon" -] - removed
Input schema / properties / body / properties / decision / typeRemoved value: -"string" - added
Input schema / properties / body / properties / edits / $refAdded value: +"#/$defs/__schema5" - removed
Input schema / properties / body / properties / edits / descriptionRemoved value: -"Your edited stage artifact (the power path). With edits the re-presented packet carries exactly what you supplied; with comments alone the director re-authors scoped by them." - added
Input schema / properties / body / properties / globalNote / $refAdded value: +"#/$defs/__schema6" - removed
Input schema / properties / body / properties / globalNote / maxLengthRemoved value: -4000 - removed
Input schema / properties / body / properties / globalNote / typeRemoved value: -"string" - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema7" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
retry_render5 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
score_composition5 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
search_fonts9 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "__schema1": { + "exclusiveMinimum": 0, + "maximum": 50, + "type": "integer" + } +} - added
Input schema / properties / body / properties / perPage / $refAdded value: +"#/$defs/__schema1" - removed
Input schema / properties / body / properties / perPage / exclusiveMinimumRemoved value: -0 - removed
Input schema / properties / body / properties / perPage / maximumRemoved value: -50 - removed
Input schema / properties / body / properties / perPage / typeRemoved value: -"integer" - added
Input schema / properties / body / properties / query / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / body / properties / query / maxLengthRemoved value: -200 - removed
Input schema / properties / body / properties / query / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / query / typeRemoved value: -"string"
- Changed
search_resources35 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "__schema1": { + "items": { + "$ref": "#/$defs/__schema2" + }, + "maxItems": 10, + "minItems": 1, + "type": "array" + }, + "__schema10": { + "exclusiveMinimum": 0, + "type": "number" + }, + "__schema2": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "__schema3": { + "enum": [ + "video", + "photo", + "sfx", + "gif" + ], + "type": "string" + }, + "__schema4": { + "enum": [ + "pexels", + "pixabay", + "freesound", + "klipy" + ], + "type": "string" + }, + "__schema5": { + "exclusiveMinimum": 0, + "maximum": 50, + "type": "integer" + }, + "__schema6": { + "description": "Video-only minimum selected-rendition width in pixels; smaller results are excluded.", + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + }, + "__schema7": { + "description": "Video-only minimum selected-rendition height in pixels; smaller results are excluded.", + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + }, + "__schema8": { + "additionalProperties": false, + "description": "sfx-only clip-length bound in seconds → Freesound native filter.", + "properties": { + "max": { + "$ref": "#/$defs/__schema10" + }, + "min": { + "$ref": "#/$defs/__schema9" + } + }, + "type": "object" + }, + "__schema9": { + "minimum": 0, + "type": "number" + } +} - added
Input schema / properties / body / properties / durationSec / $refAdded value: +"#/$defs/__schema8" - removed
Input schema / properties / body / properties / durationSec / additionalPropertiesRemoved value: -false - removed
Input schema / properties / body / properties / durationSec / descriptionRemoved value: -"sfx-only clip-length bound in seconds → Freesound native filter." - removed
Input schema / properties / body / properties / durationSec / propertiesRemoved value: -{ - "max": { - "exclusiveMinimum": 0, - "type": "number" - }, - "min": { - "minimum": 0, - "type": "number" - } -} - removed
Input schema / properties / body / properties / durationSec / typeRemoved value: -"object" - added
Input schema / properties / body / properties / kind / $refAdded value: +"#/$defs/__schema3" - removed
Input schema / properties / body / properties / kind / enumRemoved value: -[ - "video", - "photo", - "sfx", - "gif" -] - removed
Input schema / properties / body / properties / kind / typeRemoved value: -"string" - added
Input schema / properties / body / properties / limit / $refAdded value: +"#/$defs/__schema5" - removed
Input schema / properties / body / properties / limit / exclusiveMinimumRemoved value: -0 - removed
Input schema / properties / body / properties / limit / maximumRemoved value: -50 - removed
Input schema / properties / body / properties / limit / typeRemoved value: -"integer" - added
Input schema / properties / body / properties / minHeight / $refAdded value: +"#/$defs/__schema7" - removed
Input schema / properties / body / properties / minHeight / descriptionRemoved value: -"Video-only minimum selected-rendition height in pixels; smaller results are excluded." - removed
Input schema / properties / body / properties / minHeight / exclusiveMinimumRemoved value: -0 - removed
Input schema / properties / body / properties / minHeight / maximumRemoved value: -9007199254740991 - removed
Input schema / properties / body / properties / minHeight / typeRemoved value: -"integer" - added
Input schema / properties / body / properties / minWidth / $refAdded value: +"#/$defs/__schema6" - removed
Input schema / properties / body / properties / minWidth / descriptionRemoved value: -"Video-only minimum selected-rendition width in pixels; smaller results are excluded." - removed
Input schema / properties / body / properties / minWidth / exclusiveMinimumRemoved value: -0 - removed
Input schema / properties / body / properties / minWidth / maximumRemoved value: -9007199254740991 - removed
Input schema / properties / body / properties / minWidth / typeRemoved value: -"integer" - added
Input schema / properties / body / properties / provider / $refAdded value: +"#/$defs/__schema4" - removed
Input schema / properties / body / properties / provider / enumRemoved value: -[ - "pexels", - "pixabay", - "freesound", - "klipy" -] - removed
Input schema / properties / body / properties / provider / typeRemoved value: -"string" - added
Input schema / properties / body / properties / queries / $refAdded value: +"#/$defs/__schema1" - removed
Input schema / properties / body / properties / queries / itemsRemoved value: -{ - "maxLength": 200, - "minLength": 1, - "type": "string" -} - removed
Input schema / properties / body / properties / queries / maxItemsRemoved value: -10 - removed
Input schema / properties / body / properties / queries / minItemsRemoved value: -1 - removed
Input schema / properties / body / properties / queries / typeRemoved value: -"array" - added
Input schema / properties / body / properties / query / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / body / properties / query / maxLengthRemoved value: -200 - removed
Input schema / properties / body / properties / query / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / query / typeRemoved value: -"string"
- Changed
select_candidate14 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "__schema1": { + "enum": [ + "agent-authoritative", + "editor-merge", + "editor-replace" + ], + "type": "string" + }, + "__schema2": { + "type": "string" + }, + "__schema3": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / body / properties / candidateIndex / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / body / properties / candidateIndex / maximumRemoved value: -9007199254740991 - removed
Input schema / properties / body / properties / candidateIndex / minimumRemoved value: -0 - removed
Input schema / properties / body / properties / candidateIndex / typeRemoved value: -"integer" - added
Input schema / properties / body / properties / ifMatch / $refAdded value: +"#/$defs/__schema2" - removed
Input schema / properties / body / properties / ifMatch / typeRemoved value: -"string" - added
Input schema / properties / body / properties / selectStrategy / $refAdded value: +"#/$defs/__schema1" - removed
Input schema / properties / body / properties / selectStrategy / enumRemoved value: -[ - "agent-authoritative", - "editor-merge", - "editor-replace" -] - removed
Input schema / properties / body / properties / selectStrategy / typeRemoved value: -"string" - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema3" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
start_template5 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
suggest_briefs5 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
update_brief76 fields changed- added
Input schema / $defs / __schema0 / additionalPropertiesAdded value: +false - removed
Input schema / $defs / __schema0 / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - }, - { - "items": { - "$ref": "#/$defs/__schema0" - }, - "type": "array" - }, - { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } -] - added
Input schema / $defs / __schema0 / propertiesAdded value: +{ + "durationSec": { + "exclusiveMinimum": 0, + "type": "number" + }, + "graphic": { + "additionalProperties": false, + "description": "GRAPHICS MANDATE: the plan MUST carry a graphics request of this role overlapping this beat's window — enforced at the plan gate (honor-or-refuse, like moment pinning). Prose mustIncludes reaches only the judge; this is the checkable form.", + "properties": { + "items": { + "$ref": "#/$defs/__schema5" + }, + "role": { + "$ref": "#/$defs/__schema4" + } + }, + "required": [ + "role" + ], + "type": "object" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "intent": { + "description": "What this beat DOES editorially (hook the claim, prove it, CTA…).", + "minLength": 1, + "type": "string" + }, + "source": { + "additionalProperties": false, + "description": "MOMENT PINNING: this beat uses EXACTLY this window of this media item — honored to-the-frame or refused. v1: every sourced beat must reference the SAME mediaId (multi-source briefs are refused loudly, not silently merged).", + "properties": { + "endSec": { + "$ref": "#/$defs/__schema3" + }, + "mediaId": { + "$ref": "#/$defs/__schema1" + }, + "startSec": { + "$ref": "#/$defs/__schema2" + } + }, + "required": [ + "mediaId", + "startSec", + "endSec" + ], + "type": "object" + } +} - added
Input schema / $defs / __schema0 / requiredAdded value: +[ + "id", + "intent" +] - added
Input schema / $defs / __schema0 / typeAdded value: +"object" - added
Input schema / $defs / __schema1Added value: +{ + "minLength": 1, + "type": "string" +} - added
Input schema / $defs / __schema10Added value: +{ + "additionalProperties": false, + "properties": { + "automation": { + "additionalProperties": false, + "properties": { + "lanes": { + "items": { + "additionalProperties": false, + "properties": { + "points": { + "items": { + "$ref": "#/$defs/__schema36" + }, + "minItems": 2, + "type": "array" + }, + "target": { + "const": "volume", + "type": "string" + } + }, + "required": [ + "target", + "points" + ], + "type": "object" + }, + "type": "array" + }, + "version": { + "const": 1, + "type": "number" + } + }, + "required": [ + "version", + "lanes" + ], + "type": "object" + }, + "captionVisibility": { + "description": "Video media clip only. Hide native captions while this clip is topmost and covers the lower picture, or when an opaque, effect-free clip has an explicitly full-frame region, even with fit:contain. Caption words and timings remain stored and resume when another visible clip takes over.", + "enum": [ + "visible", + "hidden" + ], + "type": "string" + }, + "color": { + "additionalProperties": false, + "properties": { + "creative": { + "additionalProperties": false, + "properties": { + "enabled": { + "type": "boolean" + }, + "mediaId": { + "type": "string" + }, + "sha256": { + "type": "string" + }, + "strength": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "mediaId", + "sha256", + "enabled", + "strength" + ], + "type": "object" + }, + "display": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "enabled": { + "type": "boolean" + }, + "mediaId": { + "type": "string" + }, + "sha256": { + "type": "string" + } + }, + "required": [ + "mediaId", + "sha256", + "enabled" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "bundled": { + "enum": [ + "daylight-negative", + "tungsten-negative", + "soft-negative", + "slide", + "black-and-white" + ], + "type": "string" + }, + "enabled": { + "type": "boolean" + } + }, + "required": [ + "bundled", + "enabled" + ], + "type": "object" + } + ] + }, + "enabled": { + "type": "boolean" + }, + "grade": { + "additionalProperties": false, + "properties": { + "blacks": { + "maximum": 1, + "minimum": -1, + "type": "number" + }, + "contrast": { + "maximum": 1, + "minimum": -1, + "type": "number" + }, + "exposure": { + "maximum": 4, + "minimum": -4, + "type": "number" + }, + "highlights": { + "maximum": 1, + "minimum": -1, + "type": "number" + }, + "saturation": { + "maximum": 1, + "minimum": -1, + "type": "number" + }, + "shadows": { + "maximum": 1, + "minimum": -1, + "type": "number" + }, + "temperature": { + "maximum": 1, + "minimum": -1, + "type": "number" + }, + "tint": { + "maximum": 1, + "minimum": -1, + "type": "number" + }, + "vibrance": { + "maximum": 1, + "minimum": -1, + "type": "number" + }, + "whites": { + "maximum": 1, + "minimum": -1, + "type": "number" + } + }, + "required": [ + "exposure", + "contrast", + "highlights", + "shadows", + "whites", + "blacks", + "temperature", + "tint", + "vibrance", + "saturation" + ], + "type": "object" + }, + "grain": { + "additionalProperties": false, + "properties": { + "amount": { + "maximum": 2, + "minimum": 0, + "type": "number" + }, + "enabled": { + "type": "boolean" + }, + "gauge": { + "enum": [ + "super8", + "super16", + "super35", + "65mm" + ], + "type": "string" + }, + "profile": { + "enum": [ + "daylight-negative", + "tungsten-negative", + "soft-negative", + "slide", + "black-and-white" + ], + "type": "string" + }, + "seed": { + "maximum": 4294967295, + "minimum": 0, + "type": "integer" + }, + "size": { + "maximum": 4, + "minimum": 0.5, + "type": "number" + } + }, + "required": [ + "enabled", + "profile", + "gauge", + "amount", + "size", + "seed" + ], + "type": "object" + }, + "halation": { + "additionalProperties": false, + "properties": { + "amount": { + "maximum": 0.5, + "minimum": 0, + "type": "number" + }, + "enabled": { + "type": "boolean" + }, + "radius": { + "maximum": 0.02, + "minimum": 0.0005, + "type": "number" + }, + "threshold": { + "maximum": 16, + "minimum": 0, + "type": "number" + }, + "tint": { + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "$ref": "#/$defs/__schema38" + }, + { + "$ref": "#/$defs/__schema39" + }, + { + "$ref": "#/$defs/__schema40" + } + ], + "type": "array" + } + }, + "required": [ + "enabled", + "amount", + "radius", + "threshold", + "tint" + ], + "type": "object" + }, + "looks": { + "items": { + "$ref": "#/$defs/__schema37" + }, + "maxItems": 2, + "type": "array" + }, + "version": { + "const": 1, + "type": "number" + } + }, + "required": [ + "version", + "enabled", + "grade", + "looks" + ], + "type": "object" + }, + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "effects": { + "items": { + "additionalProperties": false, + "properties": { + "component": { + "$ref": "#/$defs/__schema23" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "params": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "type": "string" + }, + "window": { + "additionalProperties": false, + "properties": { + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "startTime": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "startTime", + "duration" + ], + "type": "object" + } + }, + "type": "object" + }, + "type": "array" + }, + "fit": { + "enum": [ + "cover", + "contain" + ], + "type": "string" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "kind": { + "enum": [ + "video", + "audio", + "image", + "overlay", + "effect" + ], + "type": "string" + }, + "legacyKeyframes": { + "additionalProperties": false, + "properties": { + "channels": { + "items": { + "type": "string" + }, + "type": "array" + }, + "needsUpgrade": { + "const": true, + "type": "boolean" + }, + "record": {} + }, + "required": [ + "needsUpgrade", + "channels", + "record" + ], + "type": "object" + }, + "linkGroupId": { + "minLength": 1, + "type": "string" + }, + "opacity": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "position": { + "additionalProperties": { + "$ref": "#/$defs/__schema29" + }, + "description": "Clip CENTRE as a fraction of the frame: {x:0.5,y:0.5} is dead centre, 0 to 1 is inside the frame, and a little overshoot (down to -1, up to 2) is how an entrance starts off-canvas. NOT pixels: the renderer maps x to `left: x*100%`, so `x: 180` sits 180 frame-widths away and draws nothing.", + "properties": { + "x": { + "$ref": "#/$defs/__schema27" + }, + "y": { + "$ref": "#/$defs/__schema28" + } + }, + "required": [ + "x", + "y" + ], + "type": "object" + }, + "region": { + "additionalProperties": { + "$ref": "#/$defs/__schema34" + }, + "description": "A window in the frame that the clip draws into and is clipped to (top-left corner and size, each a frame fraction). Inside a region, `position` and `scale` act relative to that window, so content moved past its edge is cut off. Omit it to place the clip against the whole frame.", + "properties": { + "h": { + "$ref": "#/$defs/__schema33" + }, + "w": { + "$ref": "#/$defs/__schema32" + }, + "x": { + "$ref": "#/$defs/__schema30" + }, + "y": { + "$ref": "#/$defs/__schema31" + } + }, + "required": [ + "x", + "y", + "w", + "h" + ], + "type": "object" + }, + "rotation": { + "type": "number" + }, + "scale": { + "exclusiveMinimum": 0, + "type": "number" + }, + "source": { + "oneOf": [ + { + "additionalProperties": {}, + "properties": { + "anchor": { + "additionalProperties": {}, + "properties": { + "clipId": { + "minLength": 1, + "type": "string" + }, + "offsetMs": { + "type": "number" + } + }, + "required": [ + "clipId", + "offsetMs" + ], + "type": "object" + }, + "audioRole": { + "description": "Mix role. A role sets the clip's default gain when it has no `volume` or `volumeDb`: vo 0 dB, sfx -6 dB, music -8 dB (-16 dB when any vo clip exists), ambience -22 dB. Set `volumeDb: 0` to keep a role and play the source at its own level.", + "enum": [ + "sfx", + "music", + "vo", + "ambience" + ], + "type": "string" + }, + "duck": { + "additionalProperties": {}, + "properties": { + "attackMs": { + "minimum": 0, + "type": "number" + }, + "duckDb": { + "maximum": 0, + "type": "number" + }, + "releaseMs": { + "minimum": 0, + "type": "number" + }, + "windows": { + "items": { + "additionalProperties": {}, + "properties": { + "endMs": { + "type": "number" + }, + "startMs": { + "type": "number" + } + }, + "required": [ + "startMs", + "endMs" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "duckDb", + "attackMs", + "releaseMs" + ], + "type": "object" + }, + "excludedRanges": { + "items": { + "additionalProperties": {}, + "properties": { + "end": { + "minimum": 0, + "type": "number" + }, + "reason": { + "type": "string" + }, + "start": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "type": "array" + }, + "fadeInMs": { + "minimum": 0, + "type": "number" + }, + "fadeOutMs": { + "minimum": 0, + "type": "number" + }, + "kenBurns": { + "description": "Still-image motion. When unset, an image clip slowly pushes in (`in`) unless its fit is `contain` or it keyframes scale, position or rotation, so a keyframed clip renders exactly its keyframed values; set `none` for a still that holds.", + "enum": [ + "in", + "out", + "pan-l", + "pan-r", + "none" + ], + "type": "string" + }, + "kind": { + "const": "media", + "type": "string" + }, + "loop": { + "type": "boolean" + }, + "mediaId": { + "type": "string" + }, + "muted": { + "type": "boolean" + }, + "playbackRate": { + "exclusiveMinimum": 0, + "type": "number" + }, + "reframe": { + "additionalProperties": {}, + "properties": { + "segments": { + "items": { + "$ref": "#/$defs/__schema11" + }, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "segments" + ], + "type": "object" + }, + "sync": { + "enum": [ + "video", + "independent" + ], + "type": "string" + }, + "trim": { + "additionalProperties": {}, + "properties": { + "end": { + "minimum": 0, + "type": "number" + }, + "start": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "volume": { + "maximum": 4, + "minimum": 0, + "type": "number" + }, + "volumeDb": { + "type": "number" + } + }, + "required": [ + "kind", + "mediaId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "componentId": { + "minLength": 1, + "type": "string" + }, + "execution": { + "$ref": "#/$defs/__schema23" + }, + "kind": { + "const": "component", + "type": "string" + }, + "placement": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "clip", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "content-slots", + "type": "string" + }, + "slots": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "ownership": { + "enum": [ + "reference", + "exclusive" + ], + "type": "string" + }, + "targetClipIds": { + "items": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "targetClipIds", + "ownership" + ], + "type": "object" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "kind", + "slots" + ], + "type": "object" + } + ] + }, + "props": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "retired": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "zPlane": { + "enum": [ + "front", + "behind-subject" + ], + "type": "string" + } + }, + "required": [ + "kind", + "componentId", + "props" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "anchor": { + "additionalProperties": {}, + "properties": { + "space": { + "const": "scene", + "type": "string" + }, + "x": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "space", + "x", + "y" + ], + "type": "object" + }, + "kind": { + "const": "overlay", + "type": "string" + }, + "parallax": { + "maximum": 0.3, + "minimum": -0.3, + "type": "number" + }, + "params": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "pattern": "^(?!custom$)", + "type": "string" + }, + "zPlane": { + "enum": [ + "front", + "behind-subject" + ], + "type": "string" + } + }, + "required": [ + "kind", + "primitiveId", + "params" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "component": { + "$ref": "#/$defs/__schema23" + }, + "kind": { + "const": "effect", + "type": "string" + }, + "params": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "type": "string" + }, + "targetTrackIds": { + "items": { + "$ref": "#/$defs/__schema25" + }, + "minItems": 1, + "type": "array" + }, + "wrapperOrder": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "html": { + "description": "Self-contained card markup sized to the format's pixel frame. Motion comes from frame-driven vars, never @keyframes or transition: --cf-frame, --cf-t (seconds), --cf-fps, --cf-duration, --cf-progress, --cf-ease, --cf-enter, --cf-exit. Visible copy goes in the html as plain text. Wrap a run in <span data-cf-split=\"words\"> or \"chars\" and each unit becomes its own span carrying --cf-i (its index, the group carries --cf-n), so one rule staggers it (in chars, spaces count as units), e.g. opacity:clamp(0,calc(var(--cf-t)*4 - var(--cf-i)*.3),1). save_as_template binds that copy with textParams match.", + "minLength": 1, + "type": "string" + }, + "kind": { + "const": "card", + "type": "string" + }, + "tokens": { + "$ref": "#/$defs/__schema26", + "description": "Style values the html reads as CSS custom properties: key x becomes --cf-x, so never put dashes in a key. Use tokens for colours and sizes, not visible copy.", + "propertyNames": { + "type": "string" + } + }, + "zPlane": { + "const": "front", + "type": "string" + } + }, + "required": [ + "kind", + "html" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "compositionId": { + "minLength": 1, + "type": "string" + }, + "kind": { + "const": "composition", + "type": "string" + }, + "trim": { + "additionalProperties": {}, + "properties": { + "end": { + "minimum": 0, + "type": "number" + }, + "start": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "compositionId" + ], + "type": "object" + } + ] + }, + "startTime": { + "minimum": 0, + "type": "number" + }, + "transitionIn": { + "additionalProperties": {}, + "properties": { + "component": { + "$ref": "#/$defs/__schema23" + }, + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "fromClipId": { + "minLength": 1, + "type": "string" + }, + "handlePolicy": { + "const": "outgoing-overrun-at-cut-v1", + "type": "string" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "toClipId": { + "minLength": 1, + "type": "string" + }, + "type": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "type", + "duration" + ], + "type": "object" + }, + "tweens": { + "items": { + "additionalProperties": false, + "properties": { + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "keyframes": { + "additionalProperties": false, + "properties": { + "easeEach": { + "const": "none", + "type": "string" + }, + "format": { + "const": "percentage", + "type": "string" + }, + "keyframes": { + "items": { + "$ref": "#/$defs/__schema35" + }, + "minItems": 2, + "type": "array" + } + }, + "required": [ + "format", + "easeEach", + "keyframes" + ], + "type": "object" + }, + "position": { + "type": "number" + }, + "propertyGroup": { + "enum": [ + "visual", + "scale", + "rotation", + "position" + ], + "type": "string" + } + }, + "required": [ + "id", + "propertyGroup", + "position", + "duration", + "keyframes" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "id", + "startTime", + "duration", + "source" + ], + "type": "object" +} - added
Input schema / $defs / __schema11Added value: +{ + "additionalProperties": {}, + "properties": { + "bias": { + "additionalProperties": { + "$ref": "#/$defs/__schema22" + }, + "description": "Optional FINE framing nudge off the focus center, source-normalized in [−0.3, 0.3]. A small correction (headroom, rule-of-thirds), NOT a reframe — use `focus`/`zoom` for the actual shot. Omit (treated as 0) to sit dead-center on the focus.", + "properties": { + "x": { + "$ref": "#/$defs/__schema20" + }, + "y": { + "$ref": "#/$defs/__schema21" + } + }, + "required": [ + "x", + "y" + ], + "type": "object" + }, + "ease": { + "additionalProperties": { + "$ref": "#/$defs/__schema19" + }, + "description": "Zoom/center ramp DURATIONS in SECONDS at this segment's edges — NOT a unitless 0–1 curve. ~0.3–0.6s reads as a snappy push; >1s reads sluggish. Keep `in` + `out` ≤ the segment's duration (endSec − startSec): the two edges share the span, so to ramp across the WHOLE segment set one edge to the full duration and the other to 0. Omit for an instant cut to this framing.", + "properties": { + "in": { + "$ref": "#/$defs/__schema17" + }, + "out": { + "$ref": "#/$defs/__schema18" + } + }, + "required": [ + "in", + "out" + ], + "type": "object" + }, + "endSec": { + "description": "Segment END in seconds, clip-relative. The span (endSec − startSec) is this segment's duration — the window `ease` ramps over.", + "exclusiveMinimum": 0, + "type": "number" + }, + "focus": { + "description": "WHO/WHAT the camera tracks this segment (the reframe center), selected by `mode`: `frame-center` = no tracking, hold the geometric center (static/graphic footage, or a pure zoom); `point` = lock to a fixed source-normalized {x,y} (a non-moving on-screen element); `face` = track a detected face by `faceId` (from get_media_context), with optional `shotScale` close|standard|wide for tightness; `all-faces` = frame the bounding box of every detected face (group/ensemble shots); `active-speaker` = follow whoever is speaking (diarized talking-head / podcast). Pick by what the beat is about; pair with `zoom` for how tight.", + "oneOf": [ + { + "$ref": "#/$defs/__schema12" + }, + { + "$ref": "#/$defs/__schema13" + }, + { + "$ref": "#/$defs/__schema14" + }, + { + "$ref": "#/$defs/__schema15" + }, + { + "$ref": "#/$defs/__schema16" + } + ] + }, + "intent": { + "description": "Optional editorial LABEL for diff/log readability (e.g. 'speaker-tight', 'wide-context'). Cosmetic — NOT honored by the derive math and excluded from the variant cache key.", + "type": "string" + }, + "startSec": { + "description": "Segment START in seconds, clip-relative. Segments tile the clip's duration in order.", + "minimum": 0, + "type": "number" + }, + "zoom": { + "description": "How TIGHT the framing is — the fraction of the source the output viewport shows. <1 punches IN (a smaller source fraction, magnified to fill the frame); 1 = the full frame (no crop). ~0.6–0.8 is a moderate push-in, ~0.5 a tight close-up, 0.1 the maximum zoom. There is NO zoom-OUT past the full frame (max 1). Omit for the full frame. MUTUALLY EXCLUSIVE with `focus.shotScale`: a face-tracked shot is sized EITHER by the editorial scale (shotScale, calibrated to the detected face) OR by an explicit zoom — never both.", + "maximum": 1, + "minimum": 0.1, + "type": "number" + } + }, + "required": [ + "startSec", + "endSec", + "focus" + ], + "type": "object" +} - added
Input schema / $defs / __schema12Added value: +{ + "additionalProperties": {}, + "properties": { + "mode": { + "const": "frame-center", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" +} - added
Input schema / $defs / __schema13Added value: +{ + "additionalProperties": {}, + "properties": { + "mode": { + "const": "point", + "type": "string" + }, + "x": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "mode", + "x", + "y" + ], + "type": "object" +} - added
Input schema / $defs / __schema14Added value: +{ + "additionalProperties": {}, + "properties": { + "faceId": { + "minLength": 1, + "type": "string" + }, + "mode": { + "const": "face", + "type": "string" + }, + "shotScale": { + "enum": [ + "close", + "standard", + "wide" + ], + "type": "string" + } + }, + "required": [ + "mode", + "faceId" + ], + "type": "object" +} - added
Input schema / $defs / __schema15Added value: +{ + "additionalProperties": {}, + "properties": { + "mode": { + "const": "all-faces", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" +} - added
Input schema / $defs / __schema16Added value: +{ + "additionalProperties": {}, + "properties": { + "mode": { + "const": "active-speaker", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" +} - added
Input schema / $defs / __schema17Added value: +{ + "description": "Ease-IN ramp DURATION in seconds at the segment START.", + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema18Added value: +{ + "description": "Ease-OUT ramp DURATION in seconds at the segment END.", + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema19Added value: +{} - added
Input schema / $defs / __schema2Added value: +{ + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema20Added value: +{ + "description": "Horizontal nudge, source-normalized (+ = right).", + "maximum": 0.3, + "minimum": -0.3, + "type": "number" +} - added
Input schema / $defs / __schema21Added value: +{ + "description": "Vertical nudge, source-normalized (+ = down).", + "maximum": 0.3, + "minimum": -0.3, + "type": "number" +} - added
Input schema / $defs / __schema22Added value: +{} - added
Input schema / $defs / __schema23Added value: +{ + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema24" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema24" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } + ] +} - added
Input schema / $defs / __schema24Added value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "items": { + "$ref": "#/$defs/__schema24" + }, + "type": "array" + }, + { + "additionalProperties": { + "$ref": "#/$defs/__schema24" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + ] +} - added
Input schema / $defs / __schema25Added value: +{ + "minLength": 1, + "type": "string" +} - added
Input schema / $defs / __schema26Added value: +{ + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" +} - added
Input schema / $defs / __schema27Added value: +{ + "maximum": 2, + "minimum": -1, + "type": "number" +} - added
Input schema / $defs / __schema28Added value: +{ + "maximum": 2, + "minimum": -1, + "type": "number" +} - added
Input schema / $defs / __schema29Added value: +{} - added
Input schema / $defs / __schema3Added value: +{ + "exclusiveMinimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema30Added value: +{ + "maximum": 1, + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema31Added value: +{ + "maximum": 1, + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema32Added value: +{ + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" +} - added
Input schema / $defs / __schema33Added value: +{ + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" +} - added
Input schema / $defs / __schema34Added value: +{} - added
Input schema / $defs / __schema35Added value: +{ + "additionalProperties": false, + "properties": { + "ease": { + "type": "string" + }, + "percentage": { + "type": "number" + }, + "properties": { + "additionalProperties": { + "type": "number" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + }, + "required": [ + "percentage", + "properties" + ], + "type": "object" +} - added
Input schema / $defs / __schema36Added value: +{ + "additionalProperties": false, + "properties": { + "t": { + "type": "number" + }, + "v": { + "type": "number" + } + }, + "required": [ + "t", + "v" + ], + "type": "object" +} - added
Input schema / $defs / __schema37Added value: +{ + "additionalProperties": false, + "properties": { + "enabled": { + "type": "boolean" + }, + "mediaId": { + "type": "string" + }, + "sha256": { + "type": "string" + } + }, + "required": [ + "mediaId", + "sha256", + "enabled" + ], + "type": "object" +} - added
Input schema / $defs / __schema38Added value: +{ + "maximum": 1, + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema39Added value: +{ + "maximum": 1, + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema4Added value: +{ + "description": "The mandated graphic's editorial role (the graphics-plan GraphicRole vocabulary).", + "enum": [ + "title-card", + "stat", + "lower-third", + "pull-quote", + "hero", + "logo-tag", + "enumeration", + "sequence", + "comparison" + ], + "type": "string" +} - added
Input schema / $defs / __schema40Added value: +{ + "maximum": 1, + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema41Added value: +{ + "enum": [ + "overlay", + "component", + "card", + "no-transitions" + ], + "type": "string" +} - added
Input schema / $defs / __schema42Added value: +{ + "enum": [ + "content", + "layout", + "motion" + ], + "type": "string" +} - added
Input schema / $defs / __schema43Added value: +{ + "maxLength": 128, + "minLength": 1, + "type": "string" +} - added
Input schema / $defs / __schema5Added value: +{ + "description": "Mandated list items (enumeration/sequence) — carried VERBATIM into the plan's copy.items.", + "items": { + "$ref": "#/$defs/__schema6" + }, + "maxItems": 8, + "type": "array" +} - added
Input schema / $defs / __schema6Added value: +{ + "maxLength": 80, + "minLength": 1, + "type": "string" +} - added
Input schema / $defs / __schema7Added value: +{ + "minLength": 1, + "type": "string" +} - added
Input schema / $defs / __schema8Added value: +{ + "type": "string" +} - added
Input schema / $defs / __schema9Added value: +{ + "minLength": 1, + "type": "string" +} - added
Input schema / properties / body / properties / beats / items / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / body / properties / beats / items / additionalPropertiesRemoved value: -false - removed
Input schema / properties / body / properties / beats / items / propertiesRemoved value: -{ - "durationSec": { - "exclusiveMinimum": 0, - "type": "number" - }, - "graphic": { - "additionalProperties": false, - "description": "GRAPHICS MANDATE: the plan MUST carry a graphics request of this role overlapping this beat's window — enforced at the plan gate (honor-or-refuse, like moment pinning). Prose mustIncludes reaches only the judge; this is the checkable form.", - "properties": { - "items": { - "description": "Mandated list items (enumeration/sequence) — carried VERBATIM into the plan's copy.items.", - "items": { - "maxLength": 80, - "minLength": 1, - "type": "string" - }, - "maxItems": 8, - "type": "array" - }, - "role": { - "description": "The mandated graphic's editorial role (the graphics-plan GraphicRole vocabulary).", - "enum": [ - "title-card", - "stat", - "lower-third", - "pull-quote", - "hero", - "logo-tag", - "enumeration", - "sequence", - "comparison" - ], - "type": "string" - } - }, - "required": [ - "role" - ], - "type": "object" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "intent": { - "description": "What this beat DOES editorially (hook the claim, prove it, CTA…).", - "minLength": 1, - "type": "string" - }, - "source": { - "additionalProperties": false, - "description": "MOMENT PINNING: this beat uses EXACTLY this window of this media item — honored to-the-frame or refused. v1: every sourced beat must reference the SAME mediaId (multi-source briefs are refused loudly, not silently merged).", - "properties": { - "endSec": { - "exclusiveMinimum": 0, - "type": "number" - }, - "mediaId": { - "minLength": 1, - "type": "string" - }, - "startSec": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "mediaId", - "startSec", - "endSec" - ], - "type": "object" - } -} - removed
Input schema / properties / body / properties / beats / items / requiredRemoved value: -[ - "id", - "intent" -] - removed
Input schema / properties / body / properties / beats / items / typeRemoved value: -"object" - added
Input schema / properties / body / properties / captions / properties / emphasisPhrases / items / $refAdded value: +"#/$defs/__schema9" - removed
Input schema / properties / body / properties / captions / properties / emphasisPhrases / items / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / captions / properties / emphasisPhrases / items / typeRemoved value: -"string" - added
Input schema / properties / body / properties / exclusions / items / $refAdded value: +"#/$defs/__schema41" - removed
Input schema / properties / body / properties / exclusions / items / enumRemoved value: -[ - "overlay", - "component", - "card", - "no-transitions" -] - removed
Input schema / properties / body / properties / exclusions / items / typeRemoved value: -"string" - added
Input schema / properties / body / properties / gates / properties / holdAt / items / $refAdded value: +"#/$defs/__schema42" - removed
Input schema / properties / body / properties / gates / properties / holdAt / items / enumRemoved value: -[ - "content", - "layout", - "motion" -] - removed
Input schema / properties / body / properties / gates / properties / holdAt / items / typeRemoved value: -"string" - added
Input schema / properties / body / properties / mustIncludes / items / $refAdded value: +"#/$defs/__schema7" - removed
Input schema / properties / body / properties / mustIncludes / items / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / mustIncludes / items / typeRemoved value: -"string" - added
Input schema / properties / body / properties / references / items / $refAdded value: +"#/$defs/__schema8" - removed
Input schema / properties / body / properties / references / items / typeRemoved value: -"string" - added
Input schema / properties / body / properties / seededGraphics / items / $refAdded value: +"#/$defs/__schema10" - removed
Input schema / properties / body / properties / seededGraphics / items / additionalPropertiesRemoved value: -false - removed
Input schema / properties / body / properties / seededGraphics / items / propertiesRemoved value: -{ - "automation": { - "additionalProperties": false, - "properties": { - "lanes": { - "items": { - "additionalProperties": false, - "properties": { - "points": { - "items": { - "additionalProperties": false, - "properties": { - "t": { - "type": "number" - }, - "v": { - "type": "number" - } - }, - "required": [ - "t", - "v" - ], - "type": "object" - }, - "minItems": 2, - "type": "array" - }, - "target": { - "const": "volume", - "type": "string" - } - }, - "required": [ - "target", - "points" - ], - "type": "object" - }, - "type": "array" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "lanes" - ], - "type": "object" - }, - "captionVisibility": { - "description": "Video media clip only. Hide native captions while this clip is topmost and covers the lower picture, or when an opaque, effect-free clip has an explicitly full-frame region, even with fit:contain. Caption words and timings remain stored and resume when another visible clip takes over.", - "enum": [ - "visible", - "hidden" - ], - "type": "string" - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "effects": { - "items": { - "additionalProperties": false, - "properties": { - "component": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "id": { - "minLength": 1, - "type": "string" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "window": { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "startTime": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "startTime", - "duration" - ], - "type": "object" - } - }, - "type": "object" - }, - "type": "array" - }, - "fit": { - "enum": [ - "cover", - "contain" - ], - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "kind": { - "enum": [ - "video", - "audio", - "image", - "overlay", - "effect" - ], - "type": "string" - }, - "legacyKeyframes": { - "additionalProperties": false, - "properties": { - "channels": { - "items": { - "type": "string" - }, - "type": "array" - }, - "needsUpgrade": { - "const": true, - "type": "boolean" - }, - "record": {} - }, - "required": [ - "needsUpgrade", - "channels", - "record" - ], - "type": "object" - }, - "linkGroupId": { - "minLength": 1, - "type": "string" - }, - "opacity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "position": { - "additionalProperties": {}, - "description": "Clip CENTRE as a fraction of the frame: {x:0.5,y:0.5} is dead centre, 0 to 1 is inside the frame, and a little overshoot (down to -1, up to 2) is how an entrance starts off-canvas. NOT pixels: the renderer maps x to `left: x*100%`, so `x: 180` sits 180 frame-widths away and draws nothing.", - "properties": { - "x": { - "maximum": 2, - "minimum": -1, - "type": "number" - }, - "y": { - "maximum": 2, - "minimum": -1, - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "region": { - "additionalProperties": {}, - "properties": { - "h": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "w": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "rotation": { - "type": "number" - }, - "scale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "source": { - "oneOf": [ - { - "additionalProperties": {}, - "properties": { - "anchor": { - "additionalProperties": {}, - "properties": { - "clipId": { - "minLength": 1, - "type": "string" - }, - "offsetMs": { - "type": "number" - } - }, - "required": [ - "clipId", - "offsetMs" - ], - "type": "object" - }, - "audioRole": { - "enum": [ - "sfx", - "music", - "vo", - "ambience" - ], - "type": "string" - }, - "duck": { - "additionalProperties": {}, - "properties": { - "attackMs": { - "minimum": 0, - "type": "number" - }, - "duckDb": { - "maximum": 0, - "type": "number" - }, - "releaseMs": { - "minimum": 0, - "type": "number" - }, - "windows": { - "items": { - "additionalProperties": {}, - "properties": { - "endMs": { - "type": "number" - }, - "startMs": { - "type": "number" - } - }, - "required": [ - "startMs", - "endMs" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "duckDb", - "attackMs", - "releaseMs" - ], - "type": "object" - }, - "excludedRanges": { - "items": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "reason": { - "type": "string" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "type": "array" - }, - "fadeInMs": { - "minimum": 0, - "type": "number" - }, - "fadeOutMs": { - "minimum": 0, - "type": "number" - }, - "kenBurns": { - "enum": [ - "in", - "out", - "pan-l", - "pan-r", - "none" - ], - "type": "string" - }, - "kind": { - "const": "media", - "type": "string" - }, - "loop": { - "type": "boolean" - }, - "mediaId": { - "type": "string" - }, - "muted": { - "type": "boolean" - }, - "playbackRate": { - "exclusiveMinimum": 0, - "type": "number" - }, - "reframe": { - "additionalProperties": {}, - "properties": { - "segments": { - "items": { - "additionalProperties": {}, - "properties": { - "bias": { - "additionalProperties": {}, - "description": "Optional FINE framing nudge off the focus center, source-normalized in [−0.3, 0.3]. A small correction (headroom, rule-of-thirds), NOT a reframe — use `focus`/`zoom` for the actual shot. Omit (treated as 0) to sit dead-center on the focus.", - "properties": { - "x": { - "description": "Horizontal nudge, source-normalized (+ = right).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "y": { - "description": "Vertical nudge, source-normalized (+ = down).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "ease": { - "additionalProperties": {}, - "description": "Zoom/center ramp DURATIONS in SECONDS at this segment's edges — NOT a unitless 0–1 curve. ~0.3–0.6s reads as a snappy push; >1s reads sluggish. Keep `in` + `out` ≤ the segment's duration (endSec − startSec): the two edges share the span, so to ramp across the WHOLE segment set one edge to the full duration and the other to 0. Omit for an instant cut to this framing.", - "properties": { - "in": { - "description": "Ease-IN ramp DURATION in seconds at the segment START.", - "minimum": 0, - "type": "number" - }, - "out": { - "description": "Ease-OUT ramp DURATION in seconds at the segment END.", - "minimum": 0, - "type": "number" - } - }, - "required": [ - "in", - "out" - ], - "type": "object" - }, - "endSec": { - "description": "Segment END in seconds, clip-relative. The span (endSec − startSec) is this segment's duration — the window `ease` ramps over.", - "exclusiveMinimum": 0, - "type": "number" - }, - "focus": { - "description": "WHO/WHAT the camera tracks this segment (the reframe center), selected by `mode`: `frame-center` = no tracking, hold the geometric center (static/graphic footage, or a pure zoom); `point` = lock to a fixed source-normalized {x,y} (a non-moving on-screen element); `face` = track a detected face by `faceId` (from get_media_context), with optional `shotScale` close|standard|wide for tightness; `all-faces` = frame the bounding box of every detected face (group/ensemble shots); `active-speaker` = follow whoever is speaking (diarized talking-head / podcast). Pick by what the beat is about; pair with `zoom` for how tight.", - "oneOf": [ - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "frame-center", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "point", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "mode", - "x", - "y" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "faceId": { - "minLength": 1, - "type": "string" - }, - "mode": { - "const": "face", - "type": "string" - }, - "shotScale": { - "enum": [ - "close", - "standard", - "wide" - ], - "type": "string" - } - }, - "required": [ - "mode", - "faceId" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "all-faces", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "active-speaker", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - } - ] - }, - "intent": { - "description": "Optional editorial LABEL for diff/log readability (e.g. 'speaker-tight', 'wide-context'). Cosmetic — NOT honored by the derive math and excluded from the variant cache key.", - "type": "string" - }, - "startSec": { - "description": "Segment START in seconds, clip-relative. Segments tile the clip's duration in order.", - "minimum": 0, - "type": "number" - }, - "zoom": { - "description": "How TIGHT the framing is — the fraction of the source the output viewport shows. <1 punches IN (a smaller source fraction, magnified to fill the frame); 1 = the full frame (no crop). ~0.6–0.8 is a moderate push-in, ~0.5 a tight close-up, 0.1 the maximum zoom. There is NO zoom-OUT past the full frame (max 1). Omit for the full frame. MUTUALLY EXCLUSIVE with `focus.shotScale`: a face-tracked shot is sized EITHER by the editorial scale (shotScale, calibrated to the detected face) OR by an explicit zoom — never both.", - "maximum": 1, - "minimum": 0.1, - "type": "number" - } - }, - "required": [ - "startSec", - "endSec", - "focus" - ], - "type": "object" - }, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "segments" - ], - "type": "object" - }, - "sync": { - "enum": [ - "video", - "independent" - ], - "type": "string" - }, - "trim": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "volume": { - "maximum": 4, - "minimum": 0, - "type": "number" - }, - "volumeDb": { - "type": "number" - } - }, - "required": [ - "kind", - "mediaId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "componentId": { - "minLength": 1, - "type": "string" - }, - "execution": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "kind": { - "const": "component", - "type": "string" - }, - "placement": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "clip", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "content-slots", - "type": "string" - }, - "slots": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "ownership": { - "enum": [ - "reference", - "exclusive" - ], - "type": "string" - }, - "targetClipIds": { - "items": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "targetClipIds", - "ownership" - ], - "type": "object" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind", - "slots" - ], - "type": "object" - } - ] - }, - "props": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "retired": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "componentId", - "props" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "anchor": { - "additionalProperties": {}, - "properties": { - "space": { - "const": "scene", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "space", - "x", - "y" - ], - "type": "object" - }, - "kind": { - "const": "overlay", - "type": "string" - }, - "parallax": { - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "pattern": "^(?!custom$)", - "type": "string" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "primitiveId", - "params" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "component": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "kind": { - "const": "effect", - "type": "string" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "targetTrackIds": { - "items": { - "minLength": 1, - "type": "string" - }, - "minItems": 1, - "type": "array" - }, - "wrapperOrder": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "html": { - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "card", - "type": "string" - }, - "tokens": { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "zPlane": { - "const": "front", - "type": "string" - } - }, - "required": [ - "kind", - "html" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "compositionId": { - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "composition", - "type": "string" - }, - "trim": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "compositionId" - ], - "type": "object" - } - ] - }, - "startTime": { - "minimum": 0, - "type": "number" - }, - "transitionIn": { - "additionalProperties": {}, - "properties": { - "component": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "fromClipId": { - "minLength": 1, - "type": "string" - }, - "handlePolicy": { - "const": "outgoing-overrun-at-cut-v1", - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "toClipId": { - "minLength": 1, - "type": "string" - }, - "type": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "type", - "duration" - ], - "type": "object" - }, - "tweens": { - "items": { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "keyframes": { - "additionalProperties": false, - "properties": { - "easeEach": { - "const": "none", - "type": "string" - }, - "format": { - "const": "percentage", - "type": "string" - }, - "keyframes": { - "items": { - "additionalProperties": false, - "properties": { - "ease": { - "type": "string" - }, - "percentage": { - "type": "number" - }, - "properties": { - "additionalProperties": { - "type": "number" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - }, - "required": [ - "percentage", - "properties" - ], - "type": "object" - }, - "minItems": 2, - "type": "array" - } - }, - "required": [ - "format", - "easeEach", - "keyframes" - ], - "type": "object" - }, - "position": { - "type": "number" - }, - "propertyGroup": { - "enum": [ - "visual", - "scale", - "rotation", - "position" - ], - "type": "string" - } - }, - "required": [ - "id", - "propertyGroup", - "position", - "duration", - "keyframes" - ], - "type": "object" - }, - "type": "array" - } -} - removed
Input schema / properties / body / properties / seededGraphics / items / requiredRemoved value: -[ - "id", - "startTime", - "duration", - "source" -] - removed
Input schema / properties / body / properties / seededGraphics / items / typeRemoved value: -"object" - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema43" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
update_component59 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "description": "Caller-chosen stable component id. On create it names the new component. On PUT/PATCH it is optional and, when present, must equal the id in the path; a mismatch is a 400 naming both.", + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "__schema1": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "__schema10": { + "exclusiveMinimum": 0, + "type": "number" + }, + "__schema11": { + "additionalProperties": false, + "properties": { + "componentId": { + "maxLength": 128, + "minLength": 1, + "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$", + "type": "string" + }, + "definition": { + "additionalProperties": false, + "properties": { + "brandBindings": { + "items": { + "additionalProperties": false, + "properties": { + "brandKitPath": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "cssVar": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "fallback": { + "type": "string" + }, + "propPath": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } + }, + "required": [ + "propPath", + "cssVar" + ], + "type": "object" + }, + "type": "array" + }, + "capabilities": { + "items": { + "$ref": "#/$defs/__schema13" + }, + "minItems": 1, + "type": "array" + }, + "defaults": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "inputSchema": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "mediaBindings": { + "items": { + "$ref": "#/$defs/__schema15" + }, + "minItems": 1, + "type": "array" + }, + "preview": { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "durationSec": { + "exclusiveMinimum": 0, + "type": "number" + }, + "frameRate": { + "exclusiveMinimum": 0, + "type": "number" + }, + "mimeType": { + "minLength": 1, + "type": "string" + }, + "sha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "url": { + "pattern": "^https:\\/\\/.*", + "type": "string" + } + }, + "required": [ + "url", + "sha256", + "mimeType" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "durationSec": { + "exclusiveMinimum": 0, + "type": "number" + }, + "frameRate": { + "exclusiveMinimum": 0, + "type": "number" + }, + "mediaId": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "mimeType": { + "minLength": 1, + "type": "string" + }, + "sha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + } + }, + "required": [ + "mediaId", + "sha256", + "mimeType" + ], + "type": "object" + } + ] + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "format": { + "additionalProperties": {}, + "properties": { + "aspectRatio": { + "enum": [ + "16:9", + "9:16", + "1:1", + "4:5" + ], + "type": "string" + }, + "fps": { + "anyOf": [ + { + "const": 24, + "type": "number" + }, + { + "const": 25, + "type": "number" + }, + { + "const": 30, + "type": "number" + }, + { + "const": 60, + "type": "number" + } + ] + }, + "platform": { + "type": "string" + }, + "resolution": { + "enum": [ + "hd", + "fhd", + "4k" + ], + "type": "string" + } + }, + "required": [ + "aspectRatio" + ], + "type": "object" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "durationSec": { + "exclusiveMinimum": 0, + "type": "number" + }, + "frameRate": { + "exclusiveMinimum": 0, + "type": "number" + }, + "mimeType": { + "minLength": 1, + "type": "string" + }, + "sha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "url": { + "pattern": "^https:\\/\\/.*", + "type": "string" + } + }, + "required": [ + "url", + "sha256", + "mimeType" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "durationSec": { + "exclusiveMinimum": 0, + "type": "number" + }, + "frameRate": { + "exclusiveMinimum": 0, + "type": "number" + }, + "mediaId": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "mimeType": { + "minLength": 1, + "type": "string" + }, + "sha256": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + } + }, + "required": [ + "mediaId", + "sha256", + "mimeType" + ], + "type": "object" + } + ] + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + }, + "type": "object" + }, + "timing": { + "additionalProperties": false, + "properties": { + "defaultDuration": { + "additionalProperties": false, + "properties": { + "fps": { + "exclusiveMinimum": 0, + "type": "number" + }, + "frames": { + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + } + }, + "required": [ + "frames", + "fps" + ], + "type": "object" + }, + "maxDurationSec": { + "exclusiveMinimum": 0, + "type": "number" + }, + "minDurationSec": { + "exclusiveMinimum": 0, + "type": "number" + } + }, + "required": [ + "defaultDuration" + ], + "type": "object" + } + }, + "required": [ + "inputSchema", + "defaults", + "brandBindings", + "timing", + "capabilities" + ], + "type": "object" + }, + "manifest": { + "additionalProperties": false, + "properties": { + "alphaPolicy": { + "enum": [ + "requires-transparency", + "allows-opaque" + ], + "type": "string" + }, + "assets": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "kind": { + "enum": [ + "image", + "video", + "audio", + "data", + "visual" + ], + "type": "string" + }, + "mediaDemand": { + "oneOf": [ + { + "properties": { + "mode": { + "const": "original", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" + }, + { + "properties": { + "mode": { + "const": "tier", + "type": "string" + }, + "tier": { + "anyOf": [ + { + "const": 256, + "type": "number" + }, + { + "const": 512, + "type": "number" + }, + { + "const": 1024, + "type": "number" + }, + { + "const": 2048, + "type": "number" + } + ] + } + }, + "required": [ + "mode", + "tier" + ], + "type": "object" + }, + { + "properties": { + "maxProjectedHeightRatio": { + "exclusiveMinimum": 0, + "maximum": 64, + "type": "number" + }, + "maxProjectedWidthRatio": { + "exclusiveMinimum": 0, + "maximum": 64, + "type": "number" + }, + "minVisibleSourceHeightRatio": { + "default": 1, + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "minVisibleSourceWidthRatio": { + "default": 1, + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "mode": { + "const": "auto", + "type": "string" + } + }, + "required": [ + "mode", + "maxProjectedWidthRatio", + "maxProjectedHeightRatio" + ], + "type": "object" + } + ] + }, + "mimeTypes": { + "items": { + "$ref": "#/$defs/__schema12" + }, + "minItems": 1, + "type": "array" + }, + "required": { + "type": "boolean" + } + }, + "required": [ + "kind", + "required" + ], + "type": "object" + }, + "properties": {}, + "propertyNames": { + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "graphics": { + "additionalProperties": false, + "properties": { + "accelerationPreference": { + "enum": [ + "hardware-preferred", + "software-allowed" + ], + "type": "string" + }, + "api": { + "enum": [ + "canvas2d", + "webgl", + "webgl2", + "webgpu" + ], + "type": "string" + }, + "required": { + "const": true, + "type": "boolean" + } + }, + "required": [ + "api", + "required", + "accelerationPreference" + ], + "type": "object" + }, + "hfContract": { + "const": 1, + "type": "number" + }, + "kind": { + "const": "scene", + "type": "string" + }, + "runtime": { + "const": "hyperframes", + "type": "string" + }, + "sceneShot": { + "additionalProperties": false, + "properties": { + "version": { + "const": 2, + "type": "number" + } + }, + "required": [ + "version" + ], + "type": "object" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "runtime", + "hfContract", + "kind", + "assets", + "graphics", + "alphaPolicy" + ], + "type": "object" + }, + "template": { + "maxLength": 2000000, + "minLength": 1, + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "template", + "manifest", + "definition" + ], + "type": "object" + }, + "__schema12": { + "minLength": 1, + "type": "string" + }, + "__schema13": { + "oneOf": [ + { + "properties": { + "kind": { + "const": "clip", + "type": "string" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + { + "properties": { + "kind": { + "const": "cut-transition", + "type": "string" + }, + "protocol": { + "const": "per-child", + "type": "string" + } + }, + "required": [ + "kind", + "protocol" + ], + "type": "object" + }, + { + "properties": { + "kind": { + "const": "content-slots", + "type": "string" + }, + "slots": { + "items": { + "$ref": "#/$defs/__schema14" + }, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "kind", + "slots" + ], + "type": "object" + }, + { + "properties": { + "acceptsWrappedTargets": { + "type": "boolean" + }, + "kind": { + "const": "clip-wrapper", + "type": "string" + }, + "ordering": { + "enum": [ + "any", + "innermost" + ], + "type": "string" + } + }, + "required": [ + "kind", + "ordering", + "acceptsWrappedTargets" + ], + "type": "object" + }, + { + "properties": { + "acceptsWrappedTargets": { + "type": "boolean" + }, + "kind": { + "const": "global-wrapper", + "type": "string" + }, + "ordering": { + "enum": [ + "any", + "innermost" + ], + "type": "string" + }, + "scope": { + "const": "media-lanes", + "type": "string" + } + }, + "required": [ + "kind", + "scope", + "ordering", + "acceptsWrappedTargets" + ], + "type": "object" + } + ] + }, + "__schema14": { + "additionalProperties": false, + "properties": { + "max": { + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + }, + "min": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "name": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "ownership": { + "enum": [ + "reference", + "exclusive" + ], + "type": "string" + }, + "sizing": { + "enum": [ + "canvas", + "container" + ], + "type": "string" + } + }, + "required": [ + "name", + "min", + "max", + "ownership", + "sizing" + ], + "type": "object" + }, + "__schema15": { + "additionalProperties": false, + "properties": { + "cardinality": { + "additionalProperties": false, + "properties": { + "max": { + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + }, + "min": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "min" + ], + "type": "object" + }, + "collection": { + "enum": [ + "scalar", + "array" + ], + "type": "string" + }, + "kind": { + "enum": [ + "image", + "video", + "visual" + ], + "type": "string" + }, + "mediaDemand": { + "oneOf": [ + { + "properties": { + "mode": { + "const": "original", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" + }, + { + "properties": { + "mode": { + "const": "tier", + "type": "string" + }, + "tier": { + "anyOf": [ + { + "const": 256, + "type": "number" + }, + { + "const": 512, + "type": "number" + }, + { + "const": 1024, + "type": "number" + }, + { + "const": 2048, + "type": "number" + } + ] + } + }, + "required": [ + "mode", + "tier" + ], + "type": "object" + }, + { + "properties": { + "maxProjectedHeightRatio": { + "exclusiveMinimum": 0, + "maximum": 64, + "type": "number" + }, + "maxProjectedWidthRatio": { + "exclusiveMinimum": 0, + "maximum": 64, + "type": "number" + }, + "minVisibleSourceHeightRatio": { + "default": 1, + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "minVisibleSourceWidthRatio": { + "default": 1, + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "mode": { + "const": "auto", + "type": "string" + } + }, + "required": [ + "mode", + "maxProjectedWidthRatio", + "maxProjectedHeightRatio" + ], + "type": "object" + } + ] + }, + "mimeTypes": { + "items": { + "$ref": "#/$defs/__schema17" + }, + "minItems": 1, + "type": "array" + }, + "name": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "propPath": { + "items": { + "$ref": "#/$defs/__schema16" + }, + "maxItems": 16, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "name", + "propPath", + "kind", + "collection", + "cardinality" + ], + "type": "object" + }, + "__schema16": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "__schema17": { + "minLength": 1, + "type": "string" + }, + "__schema18": { + "description": "A project whose explicitly named composition moves its placements atomically with the source write. Requires compositionId and concurrency.", + "minLength": 1, + "type": "string" + }, + "__schema19": { + "description": "The exact composition observed by the caller. Required with projectId and concurrency.", + "minLength": 1, + "type": "string" + }, + "__schema2": { + "maxLength": 2000, + "type": "string" + }, + "__schema20": { + "description": "Caller-observed placement guard, required with projectId and compositionId: a placement update without it is refused with 428 precondition_required. Atomic library edits with placement changes require explicit supported invocation admission.", + "oneOf": [ + { + "$ref": "#/$defs/__schema21" + }, + { + "$ref": "#/$defs/__schema22" + } + ] + }, + "__schema21": { + "additionalProperties": false, + "properties": { + "expectedRevision": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "mode": { + "const": "exact", + "type": "string" + } + }, + "required": [ + "mode", + "expectedRevision" + ], + "type": "object" + }, + "__schema22": { + "additionalProperties": false, + "properties": { + "basis": { + "items": { + "$ref": "#/$defs/__schema23" + }, + "maxItems": 2048, + "type": "array" + }, + "compositionId": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "mode": { + "const": "guarded", + "type": "string" + }, + "observedRevision": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "mode", + "observedRevision", + "basis" + ], + "type": "object" + }, + "__schema23": { + "additionalProperties": false, + "properties": { + "key": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "token": { + "maxLength": 65536, + "type": "string" + } + }, + "required": [ + "key", + "token" + ], + "type": "object" + }, + "__schema24": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "__schema3": { + "enum": [ + "text", + "effects", + "transitions", + "layouts", + "backgrounds", + "ui-blocks", + "scenes" + ], + "type": "string" + }, + "__schema4": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "__schema5": { + "enum": [ + "customer-owned", + "server-native" + ], + "type": "string" + }, + "__schema6": { + "maxLength": 200, + "type": "string" + }, + "__schema7": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "__schema8": { + "description": "Usage examples, as authored. A built-in primitive projects {name, mood?, params?, description?}; an authored component's examples are whatever it wrote, which is why the item is open. One shape for both directions: what you write here is what you read back.", + "items": { + "$ref": "#/$defs/__schema9" + }, + "type": "array" + }, + "__schema9": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } +} - added
Input schema / properties / body / properties / category / $refAdded value: +"#/$defs/__schema3" - removed
Input schema / properties / body / properties / category / enumRemoved value: -[ - "text", - "effects", - "transitions", - "layouts", - "backgrounds", - "ui-blocks", - "scenes" -] - removed
Input schema / properties / body / properties / category / typeRemoved value: -"string" - added
Input schema / properties / body / properties / componentId / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / body / properties / componentId / descriptionRemoved value: -"Caller-chosen stable component id. On create it names the new component. On PUT/PATCH it is optional and, when present, must equal the id in the path; a mismatch is a 400 naming both." - removed
Input schema / properties / body / properties / componentId / maxLengthRemoved value: -200 - removed
Input schema / properties / body / properties / componentId / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / componentId / typeRemoved value: -"string" - added
Input schema / properties / body / properties / compositionId / $refAdded value: +"#/$defs/__schema19" - removed
Input schema / properties / body / properties / compositionId / descriptionRemoved value: -"The exact composition observed by the caller. Required with projectId and concurrency." - removed
Input schema / properties / body / properties / compositionId / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / compositionId / typeRemoved value: -"string" - added
Input schema / properties / body / properties / concurrency / $refAdded value: +"#/$defs/__schema20" - removed
Input schema / properties / body / properties / concurrency / descriptionRemoved value: -"Caller-observed placement guard, required with projectId and compositionId: a placement update without it is refused with 428 precondition_required. Atomic library edits with placement changes require explicit supported invocation admission." - removed
Input schema / properties / body / properties / concurrency / oneOfRemoved value: -[ - { - "additionalProperties": false, - "properties": { - "expectedRevision": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "mode": { - "const": "exact", - "type": "string" - } - }, - "required": [ - "mode", - "expectedRevision" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "basis": { - "items": { - "additionalProperties": false, - "properties": { - "key": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "token": { - "maxLength": 65536, - "type": "string" - } - }, - "required": [ - "key", - "token" - ], - "type": "object" - }, - "maxItems": 2048, - "type": "array" - }, - "compositionId": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "mode": { - "const": "guarded", - "type": "string" - }, - "observedRevision": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "mode", - "observedRevision", - "basis" - ], - "type": "object" - } -] - added
Input schema / properties / body / properties / description / $refAdded value: +"#/$defs/__schema2" - removed
Input schema / properties / body / properties / description / maxLengthRemoved value: -2000 - removed
Input schema / properties / body / properties / description / typeRemoved value: -"string" - added
Input schema / properties / body / properties / durationInFrames / $refAdded value: +"#/$defs/__schema10" - removed
Input schema / properties / body / properties / durationInFrames / exclusiveMinimumRemoved value: -0 - removed
Input schema / properties / body / properties / durationInFrames / typeRemoved value: -"number" - added
Input schema / properties / body / properties / ejectedFrom / $refAdded value: +"#/$defs/__schema6" - removed
Input schema / properties / body / properties / ejectedFrom / maxLengthRemoved value: -200 - removed
Input schema / properties / body / properties / ejectedFrom / typeRemoved value: -"string" - added
Input schema / properties / body / properties / examples / $refAdded value: +"#/$defs/__schema8" - removed
Input schema / properties / body / properties / examples / descriptionRemoved value: -"Usage examples, as authored. A built-in primitive projects {name, mood?, params?, description?}; an authored component's examples are whatever it wrote, which is why the item is open. One shape for both directions: what you write here is what you read back." - removed
Input schema / properties / body / properties / examples / itemsRemoved value: -{ - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" -} - removed
Input schema / properties / body / properties / examples / typeRemoved value: -"array" - added
Input schema / properties / body / properties / name / $refAdded value: +"#/$defs/__schema1" - removed
Input schema / properties / body / properties / name / maxLengthRemoved value: -200 - removed
Input schema / properties / body / properties / name / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / name / typeRemoved value: -"string" - added
Input schema / properties / body / properties / origin / $refAdded value: +"#/$defs/__schema5" - removed
Input schema / properties / body / properties / origin / enumRemoved value: -[ - "customer-owned", - "server-native" -] - removed
Input schema / properties / body / properties / origin / typeRemoved value: -"string" - added
Input schema / properties / body / properties / projectId / $refAdded value: +"#/$defs/__schema18" - removed
Input schema / properties / body / properties / projectId / descriptionRemoved value: -"A project whose explicitly named composition moves its placements atomically with the source write. Requires compositionId and concurrency." - removed
Input schema / properties / body / properties / projectId / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / projectId / typeRemoved value: -"string" - added
Input schema / properties / body / properties / propSchema / $refAdded value: +"#/$defs/__schema4" - removed
Input schema / properties / body / properties / propSchema / additionalPropertiesRemoved value: -{} - removed
Input schema / properties / body / properties / propSchema / propertiesRemoved value: -{} - removed
Input schema / properties / body / properties / propSchema / propertyNamesRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / body / properties / propSchema / typeRemoved value: -"object" - added
Input schema / properties / body / properties / source / $refAdded value: +"#/$defs/__schema11" - removed
Input schema / properties / body / properties / source / additionalPropertiesRemoved value: -false - removed
Input schema / properties / body / properties / source / propertiesRemoved value: -{ - "componentId": { - "maxLength": 128, - "minLength": 1, - "pattern": "^[a-zA-Z0-9][a-zA-Z0-9._-]*$", - "type": "string" - }, - "definition": { - "additionalProperties": false, - "properties": { - "brandBindings": { - "items": { - "additionalProperties": false, - "properties": { - "brandKitPath": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "cssVar": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "fallback": { - "type": "string" - }, - "propPath": { - "maxLength": 128, - "minLength": 1, - "type": "string" - } - }, - "required": [ - "propPath", - "cssVar" - ], - "type": "object" - }, - "type": "array" - }, - "capabilities": { - "items": { - "oneOf": [ - { - "properties": { - "kind": { - "const": "clip", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "properties": { - "kind": { - "const": "cut-transition", - "type": "string" - }, - "protocol": { - "const": "per-child", - "type": "string" - } - }, - "required": [ - "kind", - "protocol" - ], - "type": "object" - }, - { - "properties": { - "kind": { - "const": "content-slots", - "type": "string" - }, - "slots": { - "items": { - "additionalProperties": false, - "properties": { - "max": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "min": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "name": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "ownership": { - "enum": [ - "reference", - "exclusive" - ], - "type": "string" - }, - "sizing": { - "enum": [ - "canvas", - "container" - ], - "type": "string" - } - }, - "required": [ - "name", - "min", - "max", - "ownership", - "sizing" - ], - "type": "object" - }, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "kind", - "slots" - ], - "type": "object" - }, - { - "properties": { - "acceptsWrappedTargets": { - "type": "boolean" - }, - "kind": { - "const": "clip-wrapper", - "type": "string" - }, - "ordering": { - "enum": [ - "any", - "innermost" - ], - "type": "string" - } - }, - "required": [ - "kind", - "ordering", - "acceptsWrappedTargets" - ], - "type": "object" - }, - { - "properties": { - "acceptsWrappedTargets": { - "type": "boolean" - }, - "kind": { - "const": "global-wrapper", - "type": "string" - }, - "ordering": { - "enum": [ - "any", - "innermost" - ], - "type": "string" - }, - "scope": { - "const": "media-lanes", - "type": "string" - } - }, - "required": [ - "kind", - "scope", - "ordering", - "acceptsWrappedTargets" - ], - "type": "object" - } - ] - }, - "minItems": 1, - "type": "array" - }, - "defaults": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "inputSchema": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "mediaBindings": { - "items": { - "additionalProperties": false, - "properties": { - "cardinality": { - "additionalProperties": false, - "properties": { - "max": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "min": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "min" - ], - "type": "object" - }, - "collection": { - "enum": [ - "scalar", - "array" - ], - "type": "string" - }, - "kind": { - "enum": [ - "image", - "video", - "visual" - ], - "type": "string" - }, - "mediaDemand": { - "oneOf": [ - { - "properties": { - "mode": { - "const": "original", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "properties": { - "mode": { - "const": "tier", - "type": "string" - }, - "tier": { - "anyOf": [ - { - "const": 256, - "type": "number" - }, - { - "const": 512, - "type": "number" - }, - { - "const": 1024, - "type": "number" - }, - { - "const": 2048, - "type": "number" - } - ] - } - }, - "required": [ - "mode", - "tier" - ], - "type": "object" - }, - { - "properties": { - "maxProjectedHeightRatio": { - "exclusiveMinimum": 0, - "maximum": 64, - "type": "number" - }, - "maxProjectedWidthRatio": { - "exclusiveMinimum": 0, - "maximum": 64, - "type": "number" - }, - "minVisibleSourceHeightRatio": { - "default": 1, - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "minVisibleSourceWidthRatio": { - "default": 1, - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "mode": { - "const": "auto", - "type": "string" - } - }, - "required": [ - "mode", - "maxProjectedWidthRatio", - "maxProjectedHeightRatio" - ], - "type": "object" - } - ] - }, - "mimeTypes": { - "items": { - "minLength": 1, - "type": "string" - }, - "minItems": 1, - "type": "array" - }, - "name": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "propPath": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "name", - "propPath", - "kind", - "collection", - "cardinality" - ], - "type": "object" - }, - "minItems": 1, - "type": "array" - }, - "preview": { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "durationSec": { - "exclusiveMinimum": 0, - "type": "number" - }, - "frameRate": { - "exclusiveMinimum": 0, - "type": "number" - }, - "mimeType": { - "minLength": 1, - "type": "string" - }, - "sha256": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "url": { - "pattern": "^https:\\/\\/.*", - "type": "string" - } - }, - "required": [ - "url", - "sha256", - "mimeType" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "durationSec": { - "exclusiveMinimum": 0, - "type": "number" - }, - "frameRate": { - "exclusiveMinimum": 0, - "type": "number" - }, - "mediaId": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "mimeType": { - "minLength": 1, - "type": "string" - }, - "sha256": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - } - }, - "required": [ - "mediaId", - "sha256", - "mimeType" - ], - "type": "object" - } - ] - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "format": { - "additionalProperties": {}, - "properties": { - "aspectRatio": { - "enum": [ - "16:9", - "9:16", - "1:1", - "4:5" - ], - "type": "string" - }, - "fps": { - "anyOf": [ - { - "const": 24, - "type": "number" - }, - { - "const": 25, - "type": "number" - }, - { - "const": 30, - "type": "number" - }, - { - "const": 60, - "type": "number" - } - ] - }, - "platform": { - "type": "string" - }, - "resolution": { - "enum": [ - "hd", - "fhd", - "4k" - ], - "type": "string" - } - }, - "required": [ - "aspectRatio" - ], - "type": "object" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "durationSec": { - "exclusiveMinimum": 0, - "type": "number" - }, - "frameRate": { - "exclusiveMinimum": 0, - "type": "number" - }, - "mimeType": { - "minLength": 1, - "type": "string" - }, - "sha256": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "url": { - "pattern": "^https:\\/\\/.*", - "type": "string" - } - }, - "required": [ - "url", - "sha256", - "mimeType" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "durationSec": { - "exclusiveMinimum": 0, - "type": "number" - }, - "frameRate": { - "exclusiveMinimum": 0, - "type": "number" - }, - "mediaId": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "mimeType": { - "minLength": 1, - "type": "string" - }, - "sha256": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - } - }, - "required": [ - "mediaId", - "sha256", - "mimeType" - ], - "type": "object" - } - ] - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - }, - "type": "object" - }, - "timing": { - "additionalProperties": false, - "properties": { - "defaultDuration": { - "additionalProperties": false, - "properties": { - "fps": { - "exclusiveMinimum": 0, - "type": "number" - }, - "frames": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "frames", - "fps" - ], - "type": "object" - }, - "maxDurationSec": { - "exclusiveMinimum": 0, - "type": "number" - }, - "minDurationSec": { - "exclusiveMinimum": 0, - "type": "number" - } - }, - "required": [ - "defaultDuration" - ], - "type": "object" - } - }, - "required": [ - "inputSchema", - "defaults", - "brandBindings", - "timing", - "capabilities" - ], - "type": "object" - }, - "manifest": { - "additionalProperties": false, - "properties": { - "alphaPolicy": { - "enum": [ - "requires-transparency", - "allows-opaque" - ], - "type": "string" - }, - "assets": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "kind": { - "enum": [ - "image", - "video", - "audio", - "data", - "visual" - ], - "type": "string" - }, - "mediaDemand": { - "oneOf": [ - { - "properties": { - "mode": { - "const": "original", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "properties": { - "mode": { - "const": "tier", - "type": "string" - }, - "tier": { - "anyOf": [ - { - "const": 256, - "type": "number" - }, - { - "const": 512, - "type": "number" - }, - { - "const": 1024, - "type": "number" - }, - { - "const": 2048, - "type": "number" - } - ] - } - }, - "required": [ - "mode", - "tier" - ], - "type": "object" - }, - { - "properties": { - "maxProjectedHeightRatio": { - "exclusiveMinimum": 0, - "maximum": 64, - "type": "number" - }, - "maxProjectedWidthRatio": { - "exclusiveMinimum": 0, - "maximum": 64, - "type": "number" - }, - "minVisibleSourceHeightRatio": { - "default": 1, - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "minVisibleSourceWidthRatio": { - "default": 1, - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "mode": { - "const": "auto", - "type": "string" - } - }, - "required": [ - "mode", - "maxProjectedWidthRatio", - "maxProjectedHeightRatio" - ], - "type": "object" - } - ] - }, - "mimeTypes": { - "items": { - "minLength": 1, - "type": "string" - }, - "minItems": 1, - "type": "array" - }, - "required": { - "type": "boolean" - } - }, - "required": [ - "kind", - "required" - ], - "type": "object" - }, - "properties": {}, - "propertyNames": { - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "graphics": { - "additionalProperties": false, - "properties": { - "accelerationPreference": { - "enum": [ - "hardware-preferred", - "software-allowed" - ], - "type": "string" - }, - "api": { - "enum": [ - "canvas2d", - "webgl", - "webgl2", - "webgpu" - ], - "type": "string" - }, - "required": { - "const": true, - "type": "boolean" - } - }, - "required": [ - "api", - "required", - "accelerationPreference" - ], - "type": "object" - }, - "hfContract": { - "const": 1, - "type": "number" - }, - "kind": { - "const": "scene", - "type": "string" - }, - "runtime": { - "const": "hyperframes", - "type": "string" - }, - "sceneShot": { - "additionalProperties": false, - "properties": { - "version": { - "const": 2, - "type": "number" - } - }, - "required": [ - "version" - ], - "type": "object" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "runtime", - "hfContract", - "kind", - "assets", - "graphics", - "alphaPolicy" - ], - "type": "object" - }, - "template": { - "maxLength": 2000000, - "minLength": 1, - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } -} - removed
Input schema / properties / body / properties / source / requiredRemoved value: -[ - "version", - "componentId", - "template", - "manifest", - "definition" -] - removed
Input schema / properties / body / properties / source / typeRemoved value: -"object" - added
Input schema / properties / body / properties / tokens / $refAdded value: +"#/$defs/__schema7" - removed
Input schema / properties / body / properties / tokens / additionalPropertiesRemoved value: -{} - removed
Input schema / properties / body / properties / tokens / propertiesRemoved value: -{} - removed
Input schema / properties / body / properties / tokens / propertyNamesRemoved value: -{ - "type": "string" -} - removed
Input schema / properties / body / properties / tokens / typeRemoved value: -"object" - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema24" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
update_project19 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "maxLength": 200, + "minLength": 1, + "type": "string" + }, + "__schema1": { + "type": "string" + }, + "__schema2": { + "additionalProperties": {}, + "properties": { + "aspectRatio": { + "enum": [ + "16:9", + "9:16", + "1:1", + "4:5" + ], + "type": "string" + }, + "fps": { + "anyOf": [ + { + "const": 24, + "type": "number" + }, + { + "const": 25, + "type": "number" + }, + { + "const": 30, + "type": "number" + }, + { + "const": 60, + "type": "number" + } + ] + }, + "platform": { + "type": "string" + }, + "resolution": { + "enum": [ + "hd", + "fhd", + "4k" + ], + "type": "string" + } + }, + "required": [ + "aspectRatio" + ], + "type": "object" + }, + "__schema3": { + "minLength": 1, + "type": "string" + }, + "__schema4": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / body / properties / brandKitId / $refAdded value: +"#/$defs/__schema3" - removed
Input schema / properties / body / properties / brandKitId / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / brandKitId / typeRemoved value: -"string" - added
Input schema / properties / body / properties / description / $refAdded value: +"#/$defs/__schema1" - removed
Input schema / properties / body / properties / description / typeRemoved value: -"string" - added
Input schema / properties / body / properties / format / $refAdded value: +"#/$defs/__schema2" - removed
Input schema / properties / body / properties / format / additionalPropertiesRemoved value: -{} - removed
Input schema / properties / body / properties / format / propertiesRemoved value: -{ - "aspectRatio": { - "enum": [ - "16:9", - "9:16", - "1:1", - "4:5" - ], - "type": "string" - }, - "fps": { - "anyOf": [ - { - "const": 24, - "type": "number" - }, - { - "const": 25, - "type": "number" - }, - { - "const": 30, - "type": "number" - }, - { - "const": 60, - "type": "number" - } - ] - }, - "platform": { - "type": "string" - }, - "resolution": { - "enum": [ - "hd", - "fhd", - "4k" - ], - "type": "string" - } -} - removed
Input schema / properties / body / properties / format / requiredRemoved value: -[ - "aspectRatio" -] - removed
Input schema / properties / body / properties / format / typeRemoved value: -"object" - added
Input schema / properties / body / properties / name / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / body / properties / name / maxLengthRemoved value: -200 - removed
Input schema / properties / body / properties / name / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / name / typeRemoved value: -"string" - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema4" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
update_webhook20 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "example": "https://hooks.example.com/cueframe", + "format": "uri", + "minLength": 1, + "type": "string" + }, + "__schema1": { + "items": { + "$ref": "#/$defs/__schema2" + }, + "minItems": 1, + "type": "array" + }, + "__schema2": { + "enum": [ + "media.transcribed", + "media.completed", + "suggest.completed", + "session.mux.complete", + "session.mux.failed", + "render.completed", + "compose.completed", + "checkpoint.ready", + "project.updated", + "composition.updated", + "webhook.test" + ], + "type": "string" + }, + "__schema3": { + "maximum": 60000, + "minimum": 0, + "type": "integer" + }, + "__schema4": { + "type": "boolean" + }, + "__schema5": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / body / properties / enabled / $refAdded value: +"#/$defs/__schema4" - removed
Input schema / properties / body / properties / enabled / typeRemoved value: -"boolean" - added
Input schema / properties / body / properties / events / $refAdded value: +"#/$defs/__schema1" - removed
Input schema / properties / body / properties / events / itemsRemoved value: -{ - "enum": [ - "media.transcribed", - "media.completed", - "suggest.completed", - "session.mux.complete", - "session.mux.failed", - "render.completed", - "compose.completed", - "checkpoint.ready", - "project.updated", - "composition.updated", - "webhook.test" - ], - "type": "string" -} - removed
Input schema / properties / body / properties / events / minItemsRemoved value: -1 - removed
Input schema / properties / body / properties / events / typeRemoved value: -"array" - added
Input schema / properties / body / properties / settleMs / $refAdded value: +"#/$defs/__schema3" - removed
Input schema / properties / body / properties / settleMs / maximumRemoved value: -60000 - removed
Input schema / properties / body / properties / settleMs / minimumRemoved value: -0 - removed
Input schema / properties / body / properties / settleMs / typeRemoved value: -"integer" - added
Input schema / properties / body / properties / url / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / body / properties / url / exampleRemoved value: -"https://hooks.example.com/cueframe" - removed
Input schema / properties / body / properties / url / formatRemoved value: -"uri" - removed
Input schema / properties / body / properties / url / minLengthRemoved value: -1 - removed
Input schema / properties / body / properties / url / typeRemoved value: -"string" - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema5" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
validate_composition44 fields changed- added
Input schema / $defs / __schema0 / additionalPropertiesAdded value: +{} - removed
Input schema / $defs / __schema0 / anyOfRemoved value: -[ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - }, - { - "items": { - "$ref": "#/$defs/__schema0" - }, - "type": "array" - }, - { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } -] - added
Input schema / $defs / __schema0 / propertiesAdded value: +{ + "bias": { + "additionalProperties": { + "$ref": "#/$defs/__schema11" + }, + "description": "Optional FINE framing nudge off the focus center, source-normalized in [−0.3, 0.3]. A small correction (headroom, rule-of-thirds), NOT a reframe — use `focus`/`zoom` for the actual shot. Omit (treated as 0) to sit dead-center on the focus.", + "properties": { + "x": { + "$ref": "#/$defs/__schema9" + }, + "y": { + "$ref": "#/$defs/__schema10" + } + }, + "required": [ + "x", + "y" + ], + "type": "object" + }, + "ease": { + "additionalProperties": { + "$ref": "#/$defs/__schema8" + }, + "description": "Zoom/center ramp DURATIONS in SECONDS at this segment's edges — NOT a unitless 0–1 curve. ~0.3–0.6s reads as a snappy push; >1s reads sluggish. Keep `in` + `out` ≤ the segment's duration (endSec − startSec): the two edges share the span, so to ramp across the WHOLE segment set one edge to the full duration and the other to 0. Omit for an instant cut to this framing.", + "properties": { + "in": { + "$ref": "#/$defs/__schema6" + }, + "out": { + "$ref": "#/$defs/__schema7" + } + }, + "required": [ + "in", + "out" + ], + "type": "object" + }, + "endSec": { + "description": "Segment END in seconds, clip-relative. The span (endSec − startSec) is this segment's duration — the window `ease` ramps over.", + "exclusiveMinimum": 0, + "type": "number" + }, + "focus": { + "description": "WHO/WHAT the camera tracks this segment (the reframe center), selected by `mode`: `frame-center` = no tracking, hold the geometric center (static/graphic footage, or a pure zoom); `point` = lock to a fixed source-normalized {x,y} (a non-moving on-screen element); `face` = track a detected face by `faceId` (from get_media_context), with optional `shotScale` close|standard|wide for tightness; `all-faces` = frame the bounding box of every detected face (group/ensemble shots); `active-speaker` = follow whoever is speaking (diarized talking-head / podcast). Pick by what the beat is about; pair with `zoom` for how tight.", + "oneOf": [ + { + "$ref": "#/$defs/__schema1" + }, + { + "$ref": "#/$defs/__schema2" + }, + { + "$ref": "#/$defs/__schema3" + }, + { + "$ref": "#/$defs/__schema4" + }, + { + "$ref": "#/$defs/__schema5" + } + ] + }, + "intent": { + "description": "Optional editorial LABEL for diff/log readability (e.g. 'speaker-tight', 'wide-context'). Cosmetic — NOT honored by the derive math and excluded from the variant cache key.", + "type": "string" + }, + "startSec": { + "description": "Segment START in seconds, clip-relative. Segments tile the clip's duration in order.", + "minimum": 0, + "type": "number" + }, + "zoom": { + "description": "How TIGHT the framing is — the fraction of the source the output viewport shows. <1 punches IN (a smaller source fraction, magnified to fill the frame); 1 = the full frame (no crop). ~0.6–0.8 is a moderate push-in, ~0.5 a tight close-up, 0.1 the maximum zoom. There is NO zoom-OUT past the full frame (max 1). Omit for the full frame. MUTUALLY EXCLUSIVE with `focus.shotScale`: a face-tracked shot is sized EITHER by the editorial scale (shotScale, calibrated to the detected face) OR by an explicit zoom — never both.", + "maximum": 1, + "minimum": 0.1, + "type": "number" + } +} - added
Input schema / $defs / __schema0 / requiredAdded value: +[ + "startSec", + "endSec", + "focus" +] - added
Input schema / $defs / __schema0 / typeAdded value: +"object" - added
Input schema / $defs / __schema1Added value: +{ + "additionalProperties": {}, + "properties": { + "mode": { + "const": "frame-center", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" +} - added
Input schema / $defs / __schema10Added value: +{ + "description": "Vertical nudge, source-normalized (+ = down).", + "maximum": 0.3, + "minimum": -0.3, + "type": "number" +} - added
Input schema / $defs / __schema11Added value: +{} - added
Input schema / $defs / __schema12Added value: +{ + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema13" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema13" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } + ] +} - added
Input schema / $defs / __schema13Added value: +{ + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "items": { + "$ref": "#/$defs/__schema13" + }, + "type": "array" + }, + { + "additionalProperties": { + "$ref": "#/$defs/__schema13" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + ] +} - added
Input schema / $defs / __schema14Added value: +{ + "minLength": 1, + "type": "string" +} - added
Input schema / $defs / __schema15Added value: +{ + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "type": "object" +} - added
Input schema / $defs / __schema16Added value: +{ + "maximum": 2, + "minimum": -1, + "type": "number" +} - added
Input schema / $defs / __schema17Added value: +{ + "maximum": 2, + "minimum": -1, + "type": "number" +} - added
Input schema / $defs / __schema18Added value: +{} - added
Input schema / $defs / __schema19Added value: +{ + "maximum": 1, + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema2Added value: +{ + "additionalProperties": {}, + "properties": { + "mode": { + "const": "point", + "type": "string" + }, + "x": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "mode", + "x", + "y" + ], + "type": "object" +} - added
Input schema / $defs / __schema20Added value: +{ + "maximum": 1, + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema21Added value: +{ + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" +} - added
Input schema / $defs / __schema22Added value: +{ + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" +} - added
Input schema / $defs / __schema23Added value: +{} - added
Input schema / $defs / __schema24Added value: +{ + "additionalProperties": false, + "properties": { + "ease": { + "type": "string" + }, + "percentage": { + "type": "number" + }, + "properties": { + "additionalProperties": { + "type": "number" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + }, + "required": [ + "percentage", + "properties" + ], + "type": "object" +} - added
Input schema / $defs / __schema25Added value: +{ + "additionalProperties": false, + "properties": { + "t": { + "type": "number" + }, + "v": { + "type": "number" + } + }, + "required": [ + "t", + "v" + ], + "type": "object" +} - added
Input schema / $defs / __schema26Added value: +{ + "additionalProperties": false, + "properties": { + "enabled": { + "type": "boolean" + }, + "mediaId": { + "type": "string" + }, + "sha256": { + "type": "string" + } + }, + "required": [ + "mediaId", + "sha256", + "enabled" + ], + "type": "object" +} - added
Input schema / $defs / __schema27Added value: +{ + "maximum": 1, + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema28Added value: +{ + "maximum": 1, + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema29Added value: +{ + "maximum": 1, + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema3Added value: +{ + "additionalProperties": {}, + "properties": { + "faceId": { + "minLength": 1, + "type": "string" + }, + "mode": { + "const": "face", + "type": "string" + }, + "shotScale": { + "enum": [ + "close", + "standard", + "wide" + ], + "type": "string" + } + }, + "required": [ + "mode", + "faceId" + ], + "type": "object" +} - added
Input schema / $defs / __schema30Added value: +{ + "additionalProperties": {}, + "properties": { + "annotationColor": { + "type": "string" + }, + "annotationStrokeWidth": { + "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.", + "maximum": 12, + "minimum": 0.5, + "type": "number" + }, + "annotationTexture": { + "description": "Native annotation stroke finish; default clean.", + "enum": [ + "clean", + "pencil" + ], + "type": "string" + }, + "backgroundColor": { + "type": "string" + }, + "color": { + "minLength": 1, + "type": "string" + }, + "emphasisColor": { + "type": "string" + }, + "emphasisFontFamily": { + "type": "string" + }, + "emphasisFontStyle": { + "enum": [ + "normal", + "italic" + ], + "type": "string" + }, + "emphasisFontWeight": { + "maximum": 900, + "minimum": 100, + "type": "integer" + }, + "emphasisGradient": { + "type": "string" + }, + "emphasisLetterSpacing": { + "type": "number" + }, + "emphasisPlate": { + "type": "boolean" + }, + "emphasisPlateAltColor": { + "type": "string" + }, + "emphasisPlateAltTextColor": { + "type": "string" + }, + "emphasisPlateColor": { + "type": "string" + }, + "emphasisPlatePadX": { + "type": "number" + }, + "emphasisPlatePadY": { + "type": "number" + }, + "emphasisPlateRadius": { + "minimum": 0, + "type": "number" + }, + "emphasisPlateReveal": { + "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.", + "type": "boolean" + }, + "emphasisPlateTextColor": { + "type": "string" + }, + "emphasisScale": { + "exclusiveMinimum": 0, + "type": "number" + }, + "emphasisTextTransform": { + "enum": [ + "none", + "uppercase", + "capitalize" + ], + "type": "string" + }, + "entrance": { + "enum": [ + "none", + "fade", + "word-pop", + "stagger-up" + ], + "type": "string" + }, + "entranceMs": { + "minimum": 0, + "type": "number" + }, + "entranceStaggerMs": { + "minimum": 0, + "type": "number" + }, + "exitMs": { + "minimum": 0, + "type": "number" + }, + "fontFamily": { + "minLength": 1, + "type": "string" + }, + "fontSize": { + "description": "Font size as % of composition height (1-15, default 5). NOT px.", + "maximum": 15, + "minimum": 1, + "type": "number" + }, + "fontWeight": { + "maximum": 900, + "minimum": 100, + "type": "integer" + }, + "highlightColor": { + "minLength": 1, + "type": "string" + }, + "letterSpacing": { + "description": "Base caption glyph spacing in pixels.", + "maximum": 20, + "minimum": -5, + "type": "number" + }, + "lineGapEm": { + "description": "Gap between caption lines as a multiple of base font size; default 0.25.", + "maximum": 2, + "minimum": 0, + "type": "number" + }, + "maxWidthPercent": { + "exclusiveMinimum": 0, + "maximum": 100, + "type": "number" + }, + "plate": { + "enum": [ + "glass", + "solid", + "none" + ], + "type": "string" + }, + "position": { + "enum": [ + "top", + "center", + "bottom" + ], + "type": "string" + }, + "region": { + "additionalProperties": { + "$ref": "#/$defs/__schema35" + }, + "description": "Optional caption layout box {x,y,w,h} in normalized output-frame coordinates. Overrides position; text starts at its top edge and wraps/pages within its width and height.", + "properties": { + "h": { + "$ref": "#/$defs/__schema34" + }, + "w": { + "$ref": "#/$defs/__schema33" + }, + "x": { + "$ref": "#/$defs/__schema31" + }, + "y": { + "$ref": "#/$defs/__schema32" + } + }, + "required": [ + "x", + "y", + "w", + "h" + ], + "type": "object" + }, + "textTransform": { + "enum": [ + "none", + "uppercase", + "capitalize" + ], + "type": "string" + }, + "wordGapEm": { + "description": "Gap between caption runs as a multiple of base font size; default 0.35.", + "maximum": 2, + "minimum": 0, + "type": "number" + } + }, + "type": "object" +} - added
Input schema / $defs / __schema31Added value: +{ + "maximum": 1, + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema32Added value: +{ + "maximum": 1, + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema33Added value: +{ + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" +} - added
Input schema / $defs / __schema34Added value: +{ + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" +} - added
Input schema / $defs / __schema35Added value: +{} - added
Input schema / $defs / __schema36Added value: +{ + "items": { + "additionalProperties": false, + "properties": { + "holdThroughWordIndex": { + "description": "Inclusive saved-word index in this segment. The layout stays visible until that word ends.", + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "region": { + "additionalProperties": {}, + "properties": { + "h": { + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "w": { + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "x": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "x", + "y", + "w", + "h" + ], + "type": "object" + }, + "rotation": { + "maximum": 45, + "minimum": -45, + "type": "number" + }, + "scale": { + "maximum": 4, + "minimum": 0.25, + "type": "number" + }, + "segmentIndex": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "style": { + "additionalProperties": false, + "properties": { + "annotationColor": { + "type": "string" + }, + "annotationStrokeWidth": { + "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.", + "maximum": 12, + "minimum": 0.5, + "type": "number" + }, + "annotationTexture": { + "description": "Native annotation stroke finish; default clean.", + "enum": [ + "clean", + "pencil" + ], + "type": "string" + }, + "backgroundColor": { + "type": "string" + }, + "color": { + "minLength": 1, + "type": "string" + }, + "emphasisColor": { + "type": "string" + }, + "emphasisFontFamily": { + "type": "string" + }, + "emphasisFontStyle": { + "enum": [ + "normal", + "italic" + ], + "type": "string" + }, + "emphasisFontWeight": { + "maximum": 900, + "minimum": 100, + "type": "integer" + }, + "emphasisLetterSpacing": { + "type": "number" + }, + "emphasisPlate": { + "type": "boolean" + }, + "emphasisPlateAltColor": { + "type": "string" + }, + "emphasisPlateAltTextColor": { + "type": "string" + }, + "emphasisPlateColor": { + "type": "string" + }, + "emphasisPlatePadX": { + "type": "number" + }, + "emphasisPlatePadY": { + "type": "number" + }, + "emphasisPlateRadius": { + "minimum": 0, + "type": "number" + }, + "emphasisPlateReveal": { + "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.", + "type": "boolean" + }, + "emphasisPlateTextColor": { + "type": "string" + }, + "emphasisScale": { + "exclusiveMinimum": 0, + "type": "number" + }, + "emphasisTextTransform": { + "enum": [ + "none", + "uppercase", + "capitalize" + ], + "type": "string" + }, + "entrance": { + "enum": [ + "none", + "fade", + "word-pop", + "stagger-up" + ], + "type": "string" + }, + "entranceMs": { + "minimum": 0, + "type": "number" + }, + "entranceStaggerMs": { + "minimum": 0, + "type": "number" + }, + "exitMs": { + "minimum": 0, + "type": "number" + }, + "fontFamily": { + "minLength": 1, + "type": "string" + }, + "fontSize": { + "description": "Font size as % of composition height (1-15, default 5). NOT px.", + "maximum": 15, + "minimum": 1, + "type": "number" + }, + "fontWeight": { + "maximum": 900, + "minimum": 100, + "type": "integer" + }, + "highlightColor": { + "minLength": 1, + "type": "string" + }, + "letterSpacing": { + "description": "Base caption glyph spacing in pixels.", + "maximum": 20, + "minimum": -5, + "type": "number" + }, + "lineGapEm": { + "description": "Gap between caption lines as a multiple of base font size; default 0.25.", + "maximum": 2, + "minimum": 0, + "type": "number" + }, + "plate": { + "enum": [ + "glass", + "solid", + "none" + ], + "type": "string" + }, + "textTransform": { + "enum": [ + "none", + "uppercase", + "capitalize" + ], + "type": "string" + }, + "wordGapEm": { + "description": "Gap between caption runs as a multiple of base font size; default 0.35.", + "maximum": 2, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "wordEndIndex": { + "description": "Exclusive word index in the saved caption segment.", + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + }, + "wordMarks": { + "items": { + "additionalProperties": false, + "properties": { + "annotate": { + "anyOf": [ + { + "enum": [ + "circle", + "underline" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "emphasis": { + "type": "boolean" + }, + "wordIndex": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "wordIndex" + ], + "type": "object" + }, + "type": "array" + }, + "wordSignature": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "wordStartIndex": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "segmentIndex", + "wordStartIndex", + "wordEndIndex", + "region", + "wordSignature" + ], + "type": "object" + }, + "type": "array" +} - added
Input schema / $defs / __schema4Added value: +{ + "additionalProperties": {}, + "properties": { + "mode": { + "const": "all-faces", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" +} - added
Input schema / $defs / __schema5Added value: +{ + "additionalProperties": {}, + "properties": { + "mode": { + "const": "active-speaker", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" +} - added
Input schema / $defs / __schema6Added value: +{ + "description": "Ease-IN ramp DURATION in seconds at the segment START.", + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema7Added value: +{ + "description": "Ease-OUT ramp DURATION in seconds at the segment END.", + "minimum": 0, + "type": "number" +} - added
Input schema / $defs / __schema8Added value: +{} - added
Input schema / $defs / __schema9Added value: +{ + "description": "Horizontal nudge, source-normalized (+ = right).", + "maximum": 0.3, + "minimum": -0.3, + "type": "number" +} - changed
Input schema / properties / body / properties / captions / oneOfPrevious value: -[ - { - "additionalProperties": {}, - "properties": { - "from": { - "additionalProperties": {}, - "properties": { - "clipId": { - "type": "string" - } - }, - "required": [ - "clipId" - ], - "type": "object" - }, - "layouts": { - "items": { - "additionalProperties": false, - "properties": { - "holdThroughWordIndex": { - "description": "Inclusive saved-word index in this segment. The layout stays visible until that word ends.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "region": { - "additionalProperties": {}, - "properties": { - "h": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "w": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "rotation": { - "maximum": 45, - "minimum": -45, - "type": "number" - }, - "scale": { - "maximum": 4, - "minimum": 0.25, - "type": "number" - }, - "segmentIndex": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "style": { - "additionalProperties": false, - "properties": { - "annotationColor": { - "type": "string" - }, - "annotationStrokeWidth": { - "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.", - "maximum": 12, - "minimum": 0.5, - "type": "number" - }, - "annotationTexture": { - "description": "Native annotation stroke finish; default clean.", - "enum": [ - "clean", - "pencil" - ], - "type": "string" - }, - "backgroundColor": { - "type": "string" - }, - "color": { - "minLength": 1, - "type": "string" - }, - "emphasisColor": { - "type": "string" - }, - "emphasisFontFamily": { - "type": "string" - }, - "emphasisFontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "emphasisFontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "emphasisLetterSpacing": { - "type": "number" - }, - "emphasisPlate": { - "type": "boolean" - }, - "emphasisPlateAltColor": { - "type": "string" - }, - "emphasisPlateAltTextColor": { - "type": "string" - }, - "emphasisPlateColor": { - "type": "string" - }, - "emphasisPlatePadX": { - "type": "number" - }, - "emphasisPlatePadY": { - "type": "number" - }, - "emphasisPlateRadius": { - "minimum": 0, - "type": "number" - }, - "emphasisPlateReveal": { - "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.", - "type": "boolean" - }, - "emphasisPlateTextColor": { - "type": "string" - }, - "emphasisScale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "emphasisTextTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "entrance": { - "enum": [ - "none", - "fade", - "word-pop", - "stagger-up" - ], - "type": "string" - }, - "entranceMs": { - "minimum": 0, - "type": "number" - }, - "entranceStaggerMs": { - "minimum": 0, - "type": "number" - }, - "exitMs": { - "minimum": 0, - "type": "number" - }, - "fontFamily": { - "minLength": 1, - "type": "string" - }, - "fontSize": { - "description": "Font size as % of composition height (1-15, default 5). NOT px.", - "maximum": 15, - "minimum": 1, - "type": "number" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "highlightColor": { - "minLength": 1, - "type": "string" - }, - "letterSpacing": { - "description": "Base caption glyph spacing in pixels.", - "maximum": 20, - "minimum": -5, - "type": "number" - }, - "lineGapEm": { - "description": "Gap between caption lines as a multiple of base font size; default 0.25.", - "maximum": 2, - "minimum": 0, - "type": "number" - }, - "plate": { - "enum": [ - "glass", - "solid", - "none" - ], - "type": "string" - }, - "textTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "wordGapEm": { - "description": "Gap between caption runs as a multiple of base font size; default 0.35.", - "maximum": 2, - "minimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "wordEndIndex": { - "description": "Exclusive word index in the saved caption segment.", - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "wordMarks": { - "items": { - "additionalProperties": false, - "properties": { - "annotate": { - "anyOf": [ - { - "enum": [ - "circle", - "underline" - ], - "type": "string" - }, - { - "type": "null" - } - ] - }, - "emphasis": { - "type": "boolean" - }, - "wordIndex": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "wordIndex" - ], - "type": "object" - }, - "type": "array" - }, - "wordSignature": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "wordStartIndex": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "segmentIndex", - "wordStartIndex", - "wordEndIndex", - "region", - "wordSignature" - ], - "type": "object" - }, - "type": "array" - }, - "segments": { - "items": { - "additionalProperties": {}, - "properties": { - "words": { - "items": { - "additionalProperties": {}, - "properties": { - "annotate": { - "enum": [ - "circle", - "underline" - ], - "type": "string" - }, - "emphasis": { - "type": "boolean" - }, - "endMs": { - "description": "Word end on the composition timeline, in milliseconds.", - "minimum": 0, - "type": "number" - }, - "startMs": { - "description": "Word start on the composition timeline, in milliseconds.", - "minimum": 0, - "type": "number" - }, - "text": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "text", - "startMs", - "endMs" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "words" - ], - "type": "object" - }, - "type": "array" - }, - "source": { - "const": "derived", - "type": "string" - }, - "style": { - "additionalProperties": {}, - "properties": { - "annotationColor": { - "type": "string" - }, - "annotationStrokeWidth": { - "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.", - "maximum": 12, - "minimum": 0.5, - "type": "number" - }, - "annotationTexture": { - "description": "Native annotation stroke finish; default clean.", - "enum": [ - "clean", - "pencil" - ], - "type": "string" - }, - "backgroundColor": { - "type": "string" - }, - "color": { - "minLength": 1, - "type": "string" - }, - "emphasisColor": { - "type": "string" - }, - "emphasisFontFamily": { - "type": "string" - }, - "emphasisFontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "emphasisFontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "emphasisGradient": { - "type": "string" - }, - "emphasisLetterSpacing": { - "type": "number" - }, - "emphasisPlate": { - "type": "boolean" - }, - "emphasisPlateAltColor": { - "type": "string" - }, - "emphasisPlateAltTextColor": { - "type": "string" - }, - "emphasisPlateColor": { - "type": "string" - }, - "emphasisPlatePadX": { - "type": "number" - }, - "emphasisPlatePadY": { - "type": "number" - }, - "emphasisPlateRadius": { - "minimum": 0, - "type": "number" - }, - "emphasisPlateReveal": { - "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.", - "type": "boolean" - }, - "emphasisPlateTextColor": { - "type": "string" - }, - "emphasisScale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "emphasisTextTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "entrance": { - "enum": [ - "none", - "fade", - "word-pop", - "stagger-up" - ], - "type": "string" - }, - "entranceMs": { - "minimum": 0, - "type": "number" - }, - "entranceStaggerMs": { - "minimum": 0, - "type": "number" - }, - "exitMs": { - "minimum": 0, - "type": "number" - }, - "fontFamily": { - "minLength": 1, - "type": "string" - }, - "fontSize": { - "description": "Font size as % of composition height (1-15, default 5). NOT px.", - "maximum": 15, - "minimum": 1, - "type": "number" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "highlightColor": { - "minLength": 1, - "type": "string" - }, - "letterSpacing": { - "description": "Base caption glyph spacing in pixels.", - "maximum": 20, - "minimum": -5, - "type": "number" - }, - "lineGapEm": { - "description": "Gap between caption lines as a multiple of base font size; default 0.25.", - "maximum": 2, - "minimum": 0, - "type": "number" - }, - "maxWidthPercent": { - "exclusiveMinimum": 0, - "maximum": 100, - "type": "number" - }, - "plate": { - "enum": [ - "glass", - "solid", - "none" - ], - "type": "string" - }, - "position": { - "enum": [ - "top", - "center", - "bottom" - ], - "type": "string" - }, - "region": { - "additionalProperties": {}, - "description": "Optional caption layout box {x,y,w,h} in normalized output-frame coordinates. Overrides position; text starts at its top edge and wraps/pages within its width and height.", - "properties": { - "h": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "w": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "textTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "wordGapEm": { - "description": "Gap between caption runs as a multiple of base font size; default 0.35.", - "maximum": 2, - "minimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "source", - "from", - "segments" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "layouts": { - "items": { - "additionalProperties": false, - "properties": { - "holdThroughWordIndex": { - "description": "Inclusive saved-word index in this segment. The layout stays visible until that word ends.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "region": { - "additionalProperties": {}, - "properties": { - "h": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "w": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "rotation": { - "maximum": 45, - "minimum": -45, - "type": "number" - }, - "scale": { - "maximum": 4, - "minimum": 0.25, - "type": "number" - }, - "segmentIndex": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "style": { - "additionalProperties": false, - "properties": { - "annotationColor": { - "type": "string" - }, - "annotationStrokeWidth": { - "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.", - "maximum": 12, - "minimum": 0.5, - "type": "number" - }, - "annotationTexture": { - "description": "Native annotation stroke finish; default clean.", - "enum": [ - "clean", - "pencil" - ], - "type": "string" - }, - "backgroundColor": { - "type": "string" - }, - "color": { - "minLength": 1, - "type": "string" - }, - "emphasisColor": { - "type": "string" - }, - "emphasisFontFamily": { - "type": "string" - }, - "emphasisFontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "emphasisFontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "emphasisLetterSpacing": { - "type": "number" - }, - "emphasisPlate": { - "type": "boolean" - }, - "emphasisPlateAltColor": { - "type": "string" - }, - "emphasisPlateAltTextColor": { - "type": "string" - }, - "emphasisPlateColor": { - "type": "string" - }, - "emphasisPlatePadX": { - "type": "number" - }, - "emphasisPlatePadY": { - "type": "number" - }, - "emphasisPlateRadius": { - "minimum": 0, - "type": "number" - }, - "emphasisPlateReveal": { - "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.", - "type": "boolean" - }, - "emphasisPlateTextColor": { - "type": "string" - }, - "emphasisScale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "emphasisTextTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "entrance": { - "enum": [ - "none", - "fade", - "word-pop", - "stagger-up" - ], - "type": "string" - }, - "entranceMs": { - "minimum": 0, - "type": "number" - }, - "entranceStaggerMs": { - "minimum": 0, - "type": "number" - }, - "exitMs": { - "minimum": 0, - "type": "number" - }, - "fontFamily": { - "minLength": 1, - "type": "string" - }, - "fontSize": { - "description": "Font size as % of composition height (1-15, default 5). NOT px.", - "maximum": 15, - "minimum": 1, - "type": "number" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "highlightColor": { - "minLength": 1, - "type": "string" - }, - "letterSpacing": { - "description": "Base caption glyph spacing in pixels.", - "maximum": 20, - "minimum": -5, - "type": "number" - }, - "lineGapEm": { - "description": "Gap between caption lines as a multiple of base font size; default 0.25.", - "maximum": 2, - "minimum": 0, - "type": "number" - }, - "plate": { - "enum": [ - "glass", - "solid", - "none" - ], - "type": "string" - }, - "textTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "wordGapEm": { - "description": "Gap between caption runs as a multiple of base font size; default 0.35.", - "maximum": 2, - "minimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "wordEndIndex": { - "description": "Exclusive word index in the saved caption segment.", - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "wordMarks": { - "items": { - "additionalProperties": false, - "properties": { - "annotate": { - "anyOf": [ - { - "enum": [ - "circle", - "underline" - ], - "type": "string" - }, - { - "type": "null" - } - ] - }, - "emphasis": { - "type": "boolean" - }, - "wordIndex": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "wordIndex" - ], - "type": "object" - }, - "type": "array" - }, - "wordSignature": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "wordStartIndex": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "segmentIndex", - "wordStartIndex", - "wordEndIndex", - "region", - "wordSignature" - ], - "type": "object" - }, - "type": "array" - }, - "segments": { - "items": { - "additionalProperties": {}, - "properties": { - "words": { - "items": { - "additionalProperties": {}, - "properties": { - "annotate": { - "enum": [ - "circle", - "underline" - ], - "type": "string" - }, - "emphasis": { - "type": "boolean" - }, - "endMs": { - "description": "Word end on the composition timeline, in milliseconds.", - "minimum": 0, - "type": "number" - }, - "startMs": { - "description": "Word start on the composition timeline, in milliseconds.", - "minimum": 0, - "type": "number" - }, - "text": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "text", - "startMs", - "endMs" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "words" - ], - "type": "object" - }, - "type": "array" - }, - "source": { - "const": "authored", - "type": "string" - }, - "style": { - "additionalProperties": {}, - "properties": { - "annotationColor": { - "type": "string" - }, - "annotationStrokeWidth": { - "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.", - "maximum": 12, - "minimum": 0.5, - "type": "number" - }, - "annotationTexture": { - "description": "Native annotation stroke finish; default clean.", - "enum": [ - "clean", - "pencil" - ], - "type": "string" - }, - "backgroundColor": { - "type": "string" - }, - "color": { - "minLength": 1, - "type": "string" - }, - "emphasisColor": { - "type": "string" - }, - "emphasisFontFamily": { - "type": "string" - }, - "emphasisFontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "emphasisFontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "emphasisGradient": { - "type": "string" - }, - "emphasisLetterSpacing": { - "type": "number" - }, - "emphasisPlate": { - "type": "boolean" - }, - "emphasisPlateAltColor": { - "type": "string" - }, - "emphasisPlateAltTextColor": { - "type": "string" - }, - "emphasisPlateColor": { - "type": "string" - }, - "emphasisPlatePadX": { - "type": "number" - }, - "emphasisPlatePadY": { - "type": "number" - }, - "emphasisPlateRadius": { - "minimum": 0, - "type": "number" - }, - "emphasisPlateReveal": { - "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.", - "type": "boolean" - }, - "emphasisPlateTextColor": { - "type": "string" - }, - "emphasisScale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "emphasisTextTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "entrance": { - "enum": [ - "none", - "fade", - "word-pop", - "stagger-up" - ], - "type": "string" - }, - "entranceMs": { - "minimum": 0, - "type": "number" - }, - "entranceStaggerMs": { - "minimum": 0, - "type": "number" - }, - "exitMs": { - "minimum": 0, - "type": "number" - }, - "fontFamily": { - "minLength": 1, - "type": "string" - }, - "fontSize": { - "description": "Font size as % of composition height (1-15, default 5). NOT px.", - "maximum": 15, - "minimum": 1, - "type": "number" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "highlightColor": { - "minLength": 1, - "type": "string" - }, - "letterSpacing": { - "description": "Base caption glyph spacing in pixels.", - "maximum": 20, - "minimum": -5, - "type": "number" - }, - "lineGapEm": { - "description": "Gap between caption lines as a multiple of base font size; default 0.25.", - "maximum": 2, - "minimum": 0, - "type": "number" - }, - "maxWidthPercent": { - "exclusiveMinimum": 0, - "maximum": 100, - "type": "number" - }, - "plate": { - "enum": [ - "glass", - "solid", - "none" - ], - "type": "string" - }, - "position": { - "enum": [ - "top", - "center", - "bottom" - ], - "type": "string" - }, - "region": { - "additionalProperties": {}, - "description": "Optional caption layout box {x,y,w,h} in normalized output-frame coordinates. Overrides position; text starts at its top edge and wraps/pages within its width and height.", - "properties": { - "h": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "w": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "textTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "wordGapEm": { - "description": "Gap between caption runs as a multiple of base font size; default 0.35.", - "maximum": 2, - "minimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "source", - "segments" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": {}, + "properties": { + "from": { + "additionalProperties": {}, + "properties": { + "clipId": { + "type": "string" + } + }, + "required": [ + "clipId" + ], + "type": "object" + }, + "layouts": { + "$ref": "#/$defs/__schema36" + }, + "segments": { + "items": { + "additionalProperties": {}, + "properties": { + "words": { + "items": { + "additionalProperties": {}, + "properties": { + "annotate": { + "enum": [ + "circle", + "underline" + ], + "type": "string" + }, + "emphasis": { + "type": "boolean" + }, + "endMs": { + "description": "Word end on the composition timeline, in milliseconds.", + "minimum": 0, + "type": "number" + }, + "startMs": { + "description": "Word start on the composition timeline, in milliseconds.", + "minimum": 0, + "type": "number" + }, + "text": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "text", + "startMs", + "endMs" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "words" + ], + "type": "object" + }, + "type": "array" + }, + "source": { + "const": "derived", + "type": "string" + }, + "style": { + "$ref": "#/$defs/__schema30" + }, + "zPlane": { + "enum": [ + "front", + "behind-subject" + ], + "type": "string" + } + }, + "required": [ + "source", + "from", + "segments" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "layouts": { + "$ref": "#/$defs/__schema36" + }, + "segments": { + "items": { + "additionalProperties": {}, + "properties": { + "words": { + "items": { + "additionalProperties": {}, + "properties": { + "annotate": { + "enum": [ + "circle", + "underline" + ], + "type": "string" + }, + "emphasis": { + "type": "boolean" + }, + "endMs": { + "description": "Word end on the composition timeline, in milliseconds.", + "minimum": 0, + "type": "number" + }, + "startMs": { + "description": "Word start on the composition timeline, in milliseconds.", + "minimum": 0, + "type": "number" + }, + "text": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "text", + "startMs", + "endMs" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "words" + ], + "type": "object" + }, + "type": "array" + }, + "source": { + "const": "authored", + "type": "string" + }, + "style": { + "$ref": "#/$defs/__schema30" + }, + "zPlane": { + "enum": [ + "front", + "behind-subject" + ], + "type": "string" + } + }, + "required": [ + "source", + "segments" + ], + "type": "object" + } +] - added
Input schema / properties / body / properties / mediaAdded value: +{ + "additionalProperties": { + "additionalProperties": false, + "properties": { + "inputTransform": { + "additionalProperties": false, + "properties": { + "id": { + "enum": [ + "rec709", + "insta360-ilog", + "custom-lut", + "apple-log" + ], + "type": "string" + }, + "table": { + "additionalProperties": false, + "properties": { + "enabled": { + "type": "boolean" + }, + "mediaId": { + "type": "string" + }, + "sha256": { + "type": "string" + } + }, + "required": [ + "mediaId", + "sha256", + "enabled" + ], + "type": "object" + }, + "version": { + "const": 1, + "type": "number" + }, + "ycbcr": { + "additionalProperties": false, + "properties": { + "matrix": { + "enum": [ + "bt709", + "bt2020", + "bt601" + ], + "type": "string" + }, + "range": { + "enum": [ + "limited", + "full" + ], + "type": "string" + } + }, + "required": [ + "matrix", + "range" + ], + "type": "object" + } + }, + "required": [ + "version", + "id" + ], + "type": "object" + } + }, + "required": [ + "inputTransform" + ], + "type": "object" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" +} - changed
Input schema / properties / body / properties / tracks / items / properties / contents / items / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "automation": { - "additionalProperties": false, - "properties": { - "lanes": { - "items": { - "additionalProperties": false, - "properties": { - "points": { - "items": { - "additionalProperties": false, - "properties": { - "t": { - "type": "number" - }, - "v": { - "type": "number" - } - }, - "required": [ - "t", - "v" - ], - "type": "object" - }, - "minItems": 2, - "type": "array" - }, - "target": { - "const": "volume", - "type": "string" - } - }, - "required": [ - "target", - "points" - ], - "type": "object" - }, - "type": "array" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "lanes" - ], - "type": "object" - }, - "captionVisibility": { - "description": "Video media clip only. Hide native captions while this clip is topmost and covers the lower picture, or when an opaque, effect-free clip has an explicitly full-frame region, even with fit:contain. Caption words and timings remain stored and resume when another visible clip takes over.", - "enum": [ - "visible", - "hidden" - ], - "type": "string" - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "effects": { - "items": { - "additionalProperties": false, - "properties": { - "component": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "id": { - "minLength": 1, - "type": "string" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "window": { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "startTime": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "startTime", - "duration" - ], - "type": "object" - } - }, - "type": "object" - }, - "type": "array" - }, - "fit": { - "enum": [ - "cover", - "contain" - ], - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "kind": { - "enum": [ - "video", - "audio", - "image", - "overlay", - "effect" - ], - "type": "string" - }, - "legacyKeyframes": { - "additionalProperties": false, - "properties": { - "channels": { - "items": { - "type": "string" - }, - "type": "array" - }, - "needsUpgrade": { - "const": true, - "type": "boolean" - }, - "record": {} - }, - "required": [ - "needsUpgrade", - "channels", - "record" - ], - "type": "object" - }, - "linkGroupId": { - "minLength": 1, - "type": "string" - }, - "opacity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "position": { - "additionalProperties": {}, - "description": "Clip CENTRE as a fraction of the frame: {x:0.5,y:0.5} is dead centre, 0 to 1 is inside the frame, and a little overshoot (down to -1, up to 2) is how an entrance starts off-canvas. NOT pixels: the renderer maps x to `left: x*100%`, so `x: 180` sits 180 frame-widths away and draws nothing.", - "properties": { - "x": { - "maximum": 2, - "minimum": -1, - "type": "number" - }, - "y": { - "maximum": 2, - "minimum": -1, - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "region": { - "additionalProperties": {}, - "properties": { - "h": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "w": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "rotation": { - "type": "number" - }, - "scale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "source": { - "oneOf": [ - { - "additionalProperties": {}, - "properties": { - "anchor": { - "additionalProperties": {}, - "properties": { - "clipId": { - "minLength": 1, - "type": "string" - }, - "offsetMs": { - "type": "number" - } - }, - "required": [ - "clipId", - "offsetMs" - ], - "type": "object" - }, - "audioRole": { - "enum": [ - "sfx", - "music", - "vo", - "ambience" - ], - "type": "string" - }, - "duck": { - "additionalProperties": {}, - "properties": { - "attackMs": { - "minimum": 0, - "type": "number" - }, - "duckDb": { - "maximum": 0, - "type": "number" - }, - "releaseMs": { - "minimum": 0, - "type": "number" - }, - "windows": { - "items": { - "additionalProperties": {}, - "properties": { - "endMs": { - "type": "number" - }, - "startMs": { - "type": "number" - } - }, - "required": [ - "startMs", - "endMs" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "duckDb", - "attackMs", - "releaseMs" - ], - "type": "object" - }, - "excludedRanges": { - "items": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "reason": { - "type": "string" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "type": "array" - }, - "fadeInMs": { - "minimum": 0, - "type": "number" - }, - "fadeOutMs": { - "minimum": 0, - "type": "number" - }, - "kenBurns": { - "enum": [ - "in", - "out", - "pan-l", - "pan-r", - "none" - ], - "type": "string" - }, - "kind": { - "const": "media", - "type": "string" - }, - "loop": { - "type": "boolean" - }, - "mediaId": { - "type": "string" - }, - "muted": { - "type": "boolean" - }, - "playbackRate": { - "exclusiveMinimum": 0, - "type": "number" - }, - "reframe": { - "additionalProperties": {}, - "properties": { - "segments": { - "items": { - "additionalProperties": {}, - "properties": { - "bias": { - "additionalProperties": {}, - "description": "Optional FINE framing nudge off the focus center, source-normalized in [−0.3, 0.3]. A small correction (headroom, rule-of-thirds), NOT a reframe — use `focus`/`zoom` for the actual shot. Omit (treated as 0) to sit dead-center on the focus.", - "properties": { - "x": { - "description": "Horizontal nudge, source-normalized (+ = right).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "y": { - "description": "Vertical nudge, source-normalized (+ = down).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "ease": { - "additionalProperties": {}, - "description": "Zoom/center ramp DURATIONS in SECONDS at this segment's edges — NOT a unitless 0–1 curve. ~0.3–0.6s reads as a snappy push; >1s reads sluggish. Keep `in` + `out` ≤ the segment's duration (endSec − startSec): the two edges share the span, so to ramp across the WHOLE segment set one edge to the full duration and the other to 0. Omit for an instant cut to this framing.", - "properties": { - "in": { - "description": "Ease-IN ramp DURATION in seconds at the segment START.", - "minimum": 0, - "type": "number" - }, - "out": { - "description": "Ease-OUT ramp DURATION in seconds at the segment END.", - "minimum": 0, - "type": "number" - } - }, - "required": [ - "in", - "out" - ], - "type": "object" - }, - "endSec": { - "description": "Segment END in seconds, clip-relative. The span (endSec − startSec) is this segment's duration — the window `ease` ramps over.", - "exclusiveMinimum": 0, - "type": "number" - }, - "focus": { - "description": "WHO/WHAT the camera tracks this segment (the reframe center), selected by `mode`: `frame-center` = no tracking, hold the geometric center (static/graphic footage, or a pure zoom); `point` = lock to a fixed source-normalized {x,y} (a non-moving on-screen element); `face` = track a detected face by `faceId` (from get_media_context), with optional `shotScale` close|standard|wide for tightness; `all-faces` = frame the bounding box of every detected face (group/ensemble shots); `active-speaker` = follow whoever is speaking (diarized talking-head / podcast). Pick by what the beat is about; pair with `zoom` for how tight.", - "oneOf": [ - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "frame-center", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "point", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "mode", - "x", - "y" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "faceId": { - "minLength": 1, - "type": "string" - }, - "mode": { - "const": "face", - "type": "string" - }, - "shotScale": { - "enum": [ - "close", - "standard", - "wide" - ], - "type": "string" - } - }, - "required": [ - "mode", - "faceId" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "all-faces", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "mode": { - "const": "active-speaker", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - } - ] - }, - "intent": { - "description": "Optional editorial LABEL for diff/log readability (e.g. 'speaker-tight', 'wide-context'). Cosmetic — NOT honored by the derive math and excluded from the variant cache key.", - "type": "string" - }, - "startSec": { - "description": "Segment START in seconds, clip-relative. Segments tile the clip's duration in order.", - "minimum": 0, - "type": "number" - }, - "zoom": { - "description": "How TIGHT the framing is — the fraction of the source the output viewport shows. <1 punches IN (a smaller source fraction, magnified to fill the frame); 1 = the full frame (no crop). ~0.6–0.8 is a moderate push-in, ~0.5 a tight close-up, 0.1 the maximum zoom. There is NO zoom-OUT past the full frame (max 1). Omit for the full frame. MUTUALLY EXCLUSIVE with `focus.shotScale`: a face-tracked shot is sized EITHER by the editorial scale (shotScale, calibrated to the detected face) OR by an explicit zoom — never both.", - "maximum": 1, - "minimum": 0.1, - "type": "number" - } - }, - "required": [ - "startSec", - "endSec", - "focus" - ], - "type": "object" - }, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "segments" - ], - "type": "object" - }, - "sync": { - "enum": [ - "video", - "independent" - ], - "type": "string" - }, - "trim": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "volume": { - "maximum": 4, - "minimum": 0, - "type": "number" - }, - "volumeDb": { - "type": "number" - } - }, - "required": [ - "kind", - "mediaId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "componentId": { - "minLength": 1, - "type": "string" - }, - "execution": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "kind": { - "const": "component", - "type": "string" - }, - "placement": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "clip", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "content-slots", - "type": "string" - }, - "slots": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "ownership": { - "enum": [ - "reference", - "exclusive" - ], - "type": "string" - }, - "targetClipIds": { - "items": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "targetClipIds", - "ownership" - ], - "type": "object" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind", - "slots" - ], - "type": "object" - } - ] - }, - "props": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "retired": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "componentId", - "props" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "anchor": { - "additionalProperties": {}, - "properties": { - "space": { - "const": "scene", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "space", - "x", - "y" - ], - "type": "object" - }, - "kind": { - "const": "overlay", - "type": "string" - }, - "parallax": { - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "pattern": "^(?!custom$)", - "type": "string" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "primitiveId", - "params" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "component": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "kind": { - "const": "effect", - "type": "string" - }, - "params": { - "additionalProperties": {}, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "targetTrackIds": { - "items": { - "minLength": 1, - "type": "string" - }, - "minItems": 1, - "type": "array" - }, - "wrapperOrder": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": {}, - "properties": { - "html": { - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "card", - "type": "string" - }, - "tokens": { - "additionalProperties": { - "type": "string" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "zPlane": { - "const": "front", - "type": "string" - } - }, - "required": [ - "kind", - "html" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "compositionId": { - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "composition", - "type": "string" - }, - "trim": { - "additionalProperties": {}, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "compositionId" - ], - "type": "object" - } - ] - }, - "startTime": { - "minimum": 0, - "type": "number" - }, - "transitionIn": { - "additionalProperties": {}, - "properties": { - "component": { - "oneOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "properties": {}, - "propertyNames": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "properties": {}, - "propertyNames": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "fromClipId": { - "minLength": 1, - "type": "string" - }, - "handlePolicy": { - "const": "outgoing-overrun-at-cut-v1", - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "toClipId": { - "minLength": 1, - "type": "string" - }, - "type": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "type", - "duration" - ], - "type": "object" - }, - "tweens": { - "items": { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "keyframes": { - "additionalProperties": false, - "properties": { - "easeEach": { - "const": "none", - "type": "string" - }, - "format": { - "const": "percentage", - "type": "string" - }, - "keyframes": { - "items": { - "additionalProperties": false, - "properties": { - "ease": { - "type": "string" - }, - "percentage": { - "type": "number" - }, - "properties": { - "additionalProperties": { - "type": "number" - }, - "properties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - }, - "required": [ - "percentage", - "properties" - ], - "type": "object" - }, - "minItems": 2, - "type": "array" - } - }, - "required": [ - "format", - "easeEach", - "keyframes" - ], - "type": "object" - }, - "position": { - "type": "number" - }, - "propertyGroup": { - "enum": [ - "visual", - "scale", - "rotation", - "position" - ], - "type": "string" - } - }, - "required": [ - "id", - "propertyGroup", - "position", - "duration", - "keyframes" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "id", - "startTime", - "duration", - "source" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "startTime": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "id", - "startTime", - "duration" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "automation": { + "additionalProperties": false, + "properties": { + "lanes": { + "items": { + "additionalProperties": false, + "properties": { + "points": { + "items": { + "$ref": "#/$defs/__schema25" + }, + "minItems": 2, + "type": "array" + }, + "target": { + "const": "volume", + "type": "string" + } + }, + "required": [ + "target", + "points" + ], + "type": "object" + }, + "type": "array" + }, + "version": { + "const": 1, + "type": "number" + } + }, + "required": [ + "version", + "lanes" + ], + "type": "object" + }, + "captionVisibility": { + "description": "Video media clip only. Hide native captions while this clip is topmost and covers the lower picture, or when an opaque, effect-free clip has an explicitly full-frame region, even with fit:contain. Caption words and timings remain stored and resume when another visible clip takes over.", + "enum": [ + "visible", + "hidden" + ], + "type": "string" + }, + "color": { + "additionalProperties": false, + "properties": { + "creative": { + "additionalProperties": false, + "properties": { + "enabled": { + "type": "boolean" + }, + "mediaId": { + "type": "string" + }, + "sha256": { + "type": "string" + }, + "strength": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "mediaId", + "sha256", + "enabled", + "strength" + ], + "type": "object" + }, + "display": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "enabled": { + "type": "boolean" + }, + "mediaId": { + "type": "string" + }, + "sha256": { + "type": "string" + } + }, + "required": [ + "mediaId", + "sha256", + "enabled" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "bundled": { + "enum": [ + "daylight-negative", + "tungsten-negative", + "soft-negative", + "slide", + "black-and-white" + ], + "type": "string" + }, + "enabled": { + "type": "boolean" + } + }, + "required": [ + "bundled", + "enabled" + ], + "type": "object" + } + ] + }, + "enabled": { + "type": "boolean" + }, + "grade": { + "additionalProperties": false, + "properties": { + "blacks": { + "maximum": 1, + "minimum": -1, + "type": "number" + }, + "contrast": { + "maximum": 1, + "minimum": -1, + "type": "number" + }, + "exposure": { + "maximum": 4, + "minimum": -4, + "type": "number" + }, + "highlights": { + "maximum": 1, + "minimum": -1, + "type": "number" + }, + "saturation": { + "maximum": 1, + "minimum": -1, + "type": "number" + }, + "shadows": { + "maximum": 1, + "minimum": -1, + "type": "number" + }, + "temperature": { + "maximum": 1, + "minimum": -1, + "type": "number" + }, + "tint": { + "maximum": 1, + "minimum": -1, + "type": "number" + }, + "vibrance": { + "maximum": 1, + "minimum": -1, + "type": "number" + }, + "whites": { + "maximum": 1, + "minimum": -1, + "type": "number" + } + }, + "required": [ + "exposure", + "contrast", + "highlights", + "shadows", + "whites", + "blacks", + "temperature", + "tint", + "vibrance", + "saturation" + ], + "type": "object" + }, + "grain": { + "additionalProperties": false, + "properties": { + "amount": { + "maximum": 2, + "minimum": 0, + "type": "number" + }, + "enabled": { + "type": "boolean" + }, + "gauge": { + "enum": [ + "super8", + "super16", + "super35", + "65mm" + ], + "type": "string" + }, + "profile": { + "enum": [ + "daylight-negative", + "tungsten-negative", + "soft-negative", + "slide", + "black-and-white" + ], + "type": "string" + }, + "seed": { + "maximum": 4294967295, + "minimum": 0, + "type": "integer" + }, + "size": { + "maximum": 4, + "minimum": 0.5, + "type": "number" + } + }, + "required": [ + "enabled", + "profile", + "gauge", + "amount", + "size", + "seed" + ], + "type": "object" + }, + "halation": { + "additionalProperties": false, + "properties": { + "amount": { + "maximum": 0.5, + "minimum": 0, + "type": "number" + }, + "enabled": { + "type": "boolean" + }, + "radius": { + "maximum": 0.02, + "minimum": 0.0005, + "type": "number" + }, + "threshold": { + "maximum": 16, + "minimum": 0, + "type": "number" + }, + "tint": { + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "$ref": "#/$defs/__schema27" + }, + { + "$ref": "#/$defs/__schema28" + }, + { + "$ref": "#/$defs/__schema29" + } + ], + "type": "array" + } + }, + "required": [ + "enabled", + "amount", + "radius", + "threshold", + "tint" + ], + "type": "object" + }, + "looks": { + "items": { + "$ref": "#/$defs/__schema26" + }, + "maxItems": 2, + "type": "array" + }, + "version": { + "const": 1, + "type": "number" + } + }, + "required": [ + "version", + "enabled", + "grade", + "looks" + ], + "type": "object" + }, + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "effects": { + "items": { + "additionalProperties": false, + "properties": { + "component": { + "$ref": "#/$defs/__schema12" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "params": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "type": "string" + }, + "window": { + "additionalProperties": false, + "properties": { + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "startTime": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "startTime", + "duration" + ], + "type": "object" + } + }, + "type": "object" + }, + "type": "array" + }, + "fit": { + "enum": [ + "cover", + "contain" + ], + "type": "string" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "kind": { + "enum": [ + "video", + "audio", + "image", + "overlay", + "effect" + ], + "type": "string" + }, + "legacyKeyframes": { + "additionalProperties": false, + "properties": { + "channels": { + "items": { + "type": "string" + }, + "type": "array" + }, + "needsUpgrade": { + "const": true, + "type": "boolean" + }, + "record": {} + }, + "required": [ + "needsUpgrade", + "channels", + "record" + ], + "type": "object" + }, + "linkGroupId": { + "minLength": 1, + "type": "string" + }, + "opacity": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "position": { + "additionalProperties": { + "$ref": "#/$defs/__schema18" + }, + "description": "Clip CENTRE as a fraction of the frame: {x:0.5,y:0.5} is dead centre, 0 to 1 is inside the frame, and a little overshoot (down to -1, up to 2) is how an entrance starts off-canvas. NOT pixels: the renderer maps x to `left: x*100%`, so `x: 180` sits 180 frame-widths away and draws nothing.", + "properties": { + "x": { + "$ref": "#/$defs/__schema16" + }, + "y": { + "$ref": "#/$defs/__schema17" + } + }, + "required": [ + "x", + "y" + ], + "type": "object" + }, + "region": { + "additionalProperties": { + "$ref": "#/$defs/__schema23" + }, + "description": "A window in the frame that the clip draws into and is clipped to (top-left corner and size, each a frame fraction). Inside a region, `position` and `scale` act relative to that window, so content moved past its edge is cut off. Omit it to place the clip against the whole frame.", + "properties": { + "h": { + "$ref": "#/$defs/__schema22" + }, + "w": { + "$ref": "#/$defs/__schema21" + }, + "x": { + "$ref": "#/$defs/__schema19" + }, + "y": { + "$ref": "#/$defs/__schema20" + } + }, + "required": [ + "x", + "y", + "w", + "h" + ], + "type": "object" + }, + "rotation": { + "type": "number" + }, + "scale": { + "exclusiveMinimum": 0, + "type": "number" + }, + "source": { + "oneOf": [ + { + "additionalProperties": {}, + "properties": { + "anchor": { + "additionalProperties": {}, + "properties": { + "clipId": { + "minLength": 1, + "type": "string" + }, + "offsetMs": { + "type": "number" + } + }, + "required": [ + "clipId", + "offsetMs" + ], + "type": "object" + }, + "audioRole": { + "description": "Mix role. A role sets the clip's default gain when it has no `volume` or `volumeDb`: vo 0 dB, sfx -6 dB, music -8 dB (-16 dB when any vo clip exists), ambience -22 dB. Set `volumeDb: 0` to keep a role and play the source at its own level.", + "enum": [ + "sfx", + "music", + "vo", + "ambience" + ], + "type": "string" + }, + "duck": { + "additionalProperties": {}, + "properties": { + "attackMs": { + "minimum": 0, + "type": "number" + }, + "duckDb": { + "maximum": 0, + "type": "number" + }, + "releaseMs": { + "minimum": 0, + "type": "number" + }, + "windows": { + "items": { + "additionalProperties": {}, + "properties": { + "endMs": { + "type": "number" + }, + "startMs": { + "type": "number" + } + }, + "required": [ + "startMs", + "endMs" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "duckDb", + "attackMs", + "releaseMs" + ], + "type": "object" + }, + "excludedRanges": { + "items": { + "additionalProperties": {}, + "properties": { + "end": { + "minimum": 0, + "type": "number" + }, + "reason": { + "type": "string" + }, + "start": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "type": "array" + }, + "fadeInMs": { + "minimum": 0, + "type": "number" + }, + "fadeOutMs": { + "minimum": 0, + "type": "number" + }, + "kenBurns": { + "description": "Still-image motion. When unset, an image clip slowly pushes in (`in`) unless its fit is `contain` or it keyframes scale, position or rotation, so a keyframed clip renders exactly its keyframed values; set `none` for a still that holds.", + "enum": [ + "in", + "out", + "pan-l", + "pan-r", + "none" + ], + "type": "string" + }, + "kind": { + "const": "media", + "type": "string" + }, + "loop": { + "type": "boolean" + }, + "mediaId": { + "type": "string" + }, + "muted": { + "type": "boolean" + }, + "playbackRate": { + "exclusiveMinimum": 0, + "type": "number" + }, + "reframe": { + "additionalProperties": {}, + "properties": { + "segments": { + "items": { + "$ref": "#/$defs/__schema0" + }, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "segments" + ], + "type": "object" + }, + "sync": { + "enum": [ + "video", + "independent" + ], + "type": "string" + }, + "trim": { + "additionalProperties": {}, + "properties": { + "end": { + "minimum": 0, + "type": "number" + }, + "start": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "volume": { + "maximum": 4, + "minimum": 0, + "type": "number" + }, + "volumeDb": { + "type": "number" + } + }, + "required": [ + "kind", + "mediaId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "componentId": { + "minLength": 1, + "type": "string" + }, + "execution": { + "$ref": "#/$defs/__schema12" + }, + "kind": { + "const": "component", + "type": "string" + }, + "placement": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "clip", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "content-slots", + "type": "string" + }, + "slots": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "ownership": { + "enum": [ + "reference", + "exclusive" + ], + "type": "string" + }, + "targetClipIds": { + "items": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "targetClipIds", + "ownership" + ], + "type": "object" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "kind", + "slots" + ], + "type": "object" + } + ] + }, + "props": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "retired": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "zPlane": { + "enum": [ + "front", + "behind-subject" + ], + "type": "string" + } + }, + "required": [ + "kind", + "componentId", + "props" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "anchor": { + "additionalProperties": {}, + "properties": { + "space": { + "const": "scene", + "type": "string" + }, + "x": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "space", + "x", + "y" + ], + "type": "object" + }, + "kind": { + "const": "overlay", + "type": "string" + }, + "parallax": { + "maximum": 0.3, + "minimum": -0.3, + "type": "number" + }, + "params": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "pattern": "^(?!custom$)", + "type": "string" + }, + "zPlane": { + "enum": [ + "front", + "behind-subject" + ], + "type": "string" + } + }, + "required": [ + "kind", + "primitiveId", + "params" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "component": { + "$ref": "#/$defs/__schema12" + }, + "kind": { + "const": "effect", + "type": "string" + }, + "params": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "type": "string" + }, + "targetTrackIds": { + "items": { + "$ref": "#/$defs/__schema14" + }, + "minItems": 1, + "type": "array" + }, + "wrapperOrder": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "html": { + "description": "Self-contained card markup sized to the format's pixel frame. Motion comes from frame-driven vars, never @keyframes or transition: --cf-frame, --cf-t (seconds), --cf-fps, --cf-duration, --cf-progress, --cf-ease, --cf-enter, --cf-exit. Visible copy goes in the html as plain text. Wrap a run in <span data-cf-split=\"words\"> or \"chars\" and each unit becomes its own span carrying --cf-i (its index, the group carries --cf-n), so one rule staggers it (in chars, spaces count as units), e.g. opacity:clamp(0,calc(var(--cf-t)*4 - var(--cf-i)*.3),1). save_as_template binds that copy with textParams match.", + "minLength": 1, + "type": "string" + }, + "kind": { + "const": "card", + "type": "string" + }, + "tokens": { + "$ref": "#/$defs/__schema15", + "description": "Style values the html reads as CSS custom properties: key x becomes --cf-x, so never put dashes in a key. Use tokens for colours and sizes, not visible copy.", + "propertyNames": { + "type": "string" + } + }, + "zPlane": { + "const": "front", + "type": "string" + } + }, + "required": [ + "kind", + "html" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "compositionId": { + "minLength": 1, + "type": "string" + }, + "kind": { + "const": "composition", + "type": "string" + }, + "trim": { + "additionalProperties": {}, + "properties": { + "end": { + "minimum": 0, + "type": "number" + }, + "start": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "compositionId" + ], + "type": "object" + } + ] + }, + "startTime": { + "minimum": 0, + "type": "number" + }, + "transitionIn": { + "additionalProperties": {}, + "properties": { + "component": { + "$ref": "#/$defs/__schema12" + }, + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "fromClipId": { + "minLength": 1, + "type": "string" + }, + "handlePolicy": { + "const": "outgoing-overrun-at-cut-v1", + "type": "string" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "toClipId": { + "minLength": 1, + "type": "string" + }, + "type": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "type", + "duration" + ], + "type": "object" + }, + "tweens": { + "items": { + "additionalProperties": false, + "properties": { + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "keyframes": { + "additionalProperties": false, + "properties": { + "easeEach": { + "const": "none", + "type": "string" + }, + "format": { + "const": "percentage", + "type": "string" + }, + "keyframes": { + "items": { + "$ref": "#/$defs/__schema24" + }, + "minItems": 2, + "type": "array" + } + }, + "required": [ + "format", + "easeEach", + "keyframes" + ], + "type": "object" + }, + "position": { + "type": "number" + }, + "propertyGroup": { + "enum": [ + "visual", + "scale", + "rotation", + "position" + ], + "type": "string" + } + }, + "required": [ + "id", + "propertyGroup", + "position", + "duration", + "keyframes" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "id", + "startTime", + "duration", + "source" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "startTime": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "id", + "startTime", + "duration" + ], + "type": "object" + } +]
- Changed
verify_webhook5 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "maxLength": 128, + "minLength": 1, + "type": "string" + } +} - added
Input schema / properties / commandId / $refAdded value: +"#/$defs/__schema0" - removed
Input schema / properties / commandId / maxLengthRemoved value: -128 - removed
Input schema / properties / commandId / minLengthRemoved value: -1 - removed
Input schema / properties / commandId / typeRemoved value: -"string"
- Changed
wait_job8 fields changed- added
Input schema / $defsAdded value: +{ + "__schema0": { + "items": { + "$ref": "#/$defs/__schema1" + }, + "maxItems": 4, + "minItems": 1, + "type": "array" + }, + "__schema1": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "__schema2": { + "type": "string" + }, + "__schema3": { + "maximum": 1800000, + "minimum": 1000, + "type": "integer" + } +} - added
Input schema / properties / imageIndicesAdded value: +{ + "$ref": "#/$defs/__schema0", + "description": "Read these 1–4 original zero-based image artifact indices from this completed job, in this order. Does not render again. Same arguments repeat the same selection; omit for the first four." +} - added
Input schema / properties / projectId / $refAdded value: +"#/$defs/__schema2" - removed
Input schema / properties / projectId / typeRemoved value: -"string" - added
Input schema / properties / timeoutMs / $refAdded value: +"#/$defs/__schema3" - removed
Input schema / properties / timeoutMs / maximumRemoved value: -1800000 - removed
Input schema / properties / timeoutMs / minimumRemoved value: -1000 - removed
Input schema / properties / timeoutMs / typeRemoved value: -"integer"
65 tool updates
- Changed
apply_composition2 fields changed- changed
Input schema / properties / body / properties / if_match / descriptionPrevious value: -"Optional OCC precondition — the strong etag (`\"<hex>\"`) the caller last saw. On mismatch the batch is rejected (409 stale_etag) before any op applies."New value: +"OCC precondition: the strong etag (`\"<hex>\"`) the caller last saw. Required unless `concurrency` is sent or `dry_run` is true; a write with neither is refused with 428 precondition_required. On mismatch the batch is rejected (409 stale_etag) before any op applies." - added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
apply_template1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
cancel_compose1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
cancel_export1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
cancel_job1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
cancel_render1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
compose1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
consult1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
create_brand_kit1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
create_brief1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
create_checkout1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
create_component1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
create_project1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
create_render2 fields changed- added
Input schema / properties / body / properties / session_idAdded value: +{ + "description": "Compose-session id: render that session's SCRATCH composition instead of the active one. Mutually exclusive with `compositionId`. An unknown, foreign or scratch-less session is a 404, never the active composition.", + "type": "string" +} - added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
create_upload1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
create_webhook1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
delete_brief1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
delete_composition1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
delete_critic1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
delete_media1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
delete_project1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
delete_webhook1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
derive_composition2 fields changed- added
Input schema / properties / body / properties / if_matchAdded value: +{ + "description": "Required: the source composition's strong etag the caller last saw. Missing is refused with 428 precondition_required; a source that changed since is 409 stale_etag.", + "type": "string" +} - added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
download_media1 field changed- added
Input schema / properties / projectIdAdded value: +{ + "minLength": 1, + "type": "string" +}
- Changed
editorial_apply1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
editorial_create_brief1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
editorial_create_run1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
editorial_findings_append1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
editorial_inspect_audio1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
editorial_inspect_source1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
editorial_inspect_transcript1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
editorial_integrate1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
editorial_sample_motion1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
extract_brand_kit1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
finalize_upload1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Added
forget_taste - Changed
generate_media1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
get_composition1 field changed- added
Input schema / properties / session_idAdded value: +{ + "description": "Compose-session id: read that session's SCRATCH composition (what the session has been editing) instead of the active one. Mutually exclusive with `compositionId`. An unknown, foreign or scratch-less session is a 404, never the active composition.", + "type": "string" +}
- Changed
get_media_context1 field changed- added
Input schema / properties / projectIdAdded value: +{ + "description": "Read the item through this project, for media shared into it.", + "minLength": 1, + "type": "string" +}
- Changed
get_profile2 fields changed- changed
Output schema / properties / recentDecisions / descriptionPrevious value: -"The last recorded checkpoint decisions — the raw taste log phase 2 will distill."New value: +"The last recorded checkpoint decisions — the raw log learned taste is saved from." - added
Output schema / properties / tasteAdded value: +{ + "description": "Learned style preferences. Advice only: the current request, its brief, the project and the brand kit, exclusions and critics all take precedence.", + "items": {}, + "type": "array" +}
- Changed
get_template1 field changed- added
Input schema / properties / fullAdded value: +{ + "description": "Return the whole template document, component sources included, instead of the summary.", + "type": "boolean" +}
- Changed
import_media1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
import_resource1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Added
list_taste - Changed
new_composition1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
prepare_media1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
preview_card1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
preview_clip1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
preview_component1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
preview_frame1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
refresh_render_url1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
register_critic1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Added
remember_taste - Changed
repin_component1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
resume1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
retry_render1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
score_composition1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
select_candidate1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
start_template1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
suggest_briefs1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
update_brief1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
update_component2 fields changed- changed
Input schema / properties / body / properties / concurrency / descriptionPrevious value: -"Caller-observed placement guard. Atomic library edits with placement changes require explicit supported invocation admission."New value: +"Caller-observed placement guard, required with projectId and compositionId: a placement update without it is refused with 428 precondition_required. Atomic library edits with placement changes require explicit supported invocation admission." - added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
update_project1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
update_webhook1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
- Changed
verify_webhook1 field changed- added
Input schema / properties / commandIdAdded value: +{ + "description": "Retry identity. A call repeated with the same commandId returns the first result instead of acting twice.", + "maxLength": 128, + "minLength": 1, + "type": "string" +}
48 tool updates
- Changed
apply_template4 fields changed- removed
Input schema / properties / body / properties / media / defaultRemoved value: -{} - added
Input schema / properties / body / properties / media / propertiesAdded value: +{} - removed
Input schema / properties / body / properties / values / defaultRemoved value: -{} - added
Input schema / properties / body / properties / values / propertiesAdded value: +{}
- Changed
compose3 fields changed- changed
Input schema / properties / body / properties / format / additionalPropertiesPrevious value: -falseNew value: +{} - changed
Input schema / properties / body / properties / maxCandidates / descriptionPrevious value: -"Ensemble size. Currently pinned to 1 — the multi-candidate ensemble is disabled pending a capacity bound, so any value >1 is ignored and every compose runs a single candidate. Still accepted for forward-compat; will honor [1, 5] again once re-enabled."New value: +"Ensemble size, 1–5. Defaults to one; explicit multi-candidate runs divide the job budget across candidates and admit at most two concurrently. A held editorial checkpoint always uses one candidate." - added
Output schema / properties / reconciliationRequiredAdded value: +{ + "type": "boolean" +}
- Changed
create_brand_kit2 fields changed- removed
Input schema / properties / body / properties / motifs / items / properties / body / anyOfRemoved value: -[ - { - "additionalProperties": false, - "properties": { - "html": { - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "card", - "type": "string" - }, - "tokens": { - "additionalProperties": { - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - }, - "required": [ - "kind", - "html" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "overlay", - "type": "string" - }, - "params": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "kind", - "primitiveId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "componentId": { - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "component", - "type": "string" - }, - "props": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - } - }, - "required": [ - "kind", - "componentId" - ], - "type": "object" - } -] - added
Input schema / properties / body / properties / motifs / items / properties / body / oneOfAdded value: +[ + { + "properties": { + "html": { + "minLength": 1, + "type": "string" + }, + "kind": { + "const": "card", + "type": "string" + }, + "tokens": { + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + }, + "required": [ + "kind", + "html" + ], + "type": "object" + }, + { + "properties": { + "kind": { + "const": "overlay", + "type": "string" + }, + "params": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "kind", + "primitiveId" + ], + "type": "object" + }, + { + "properties": { + "componentId": { + "minLength": 1, + "type": "string" + }, + "kind": { + "const": "component", + "type": "string" + }, + "props": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + }, + "required": [ + "kind", + "componentId" + ], + "type": "object" + } +]
- Changed
create_brief13 fields changed- changed
Input schema / $defs / __schema0 / anyOfPrevious value: -[ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - }, - { - "items": { - "$ref": "#/$defs/__schema0" - }, - "type": "array" - }, - { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - } -]New value: +[ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "items": { + "$ref": "#/$defs/__schema0" + }, + "type": "array" + }, + { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } +] - changed
Input schema / properties / body / properties / format / additionalPropertiesPrevious value: -falseNew value: +{} - removed
Input schema / properties / body / properties / seededGraphics / items / properties / effects / items / properties / component / anyOfRemoved value: -[ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } -] - added
Input schema / properties / body / properties / seededGraphics / items / properties / effects / items / properties / component / oneOfAdded value: +[ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } +] - added
Input schema / properties / body / properties / seededGraphics / items / properties / effects / items / properties / params / propertiesAdded value: +{} - changed
Input schema / properties / body / properties / seededGraphics / items / properties / position / additionalPropertiesPrevious value: -falseNew value: +{} - changed
Input schema / properties / body / properties / seededGraphics / items / properties / region / additionalPropertiesPrevious value: -falseNew value: +{} - removed
Input schema / properties / body / properties / seededGraphics / items / properties / source / anyOfRemoved value: -[ - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "clipId": { - "minLength": 1, - "type": "string" - }, - "offsetMs": { - "type": "number" - } - }, - "required": [ - "clipId", - "offsetMs" - ], - "type": "object" - }, - "audioRole": { - "enum": [ - "sfx", - "music", - "vo", - "ambience" - ], - "type": "string" - }, - "duck": { - "additionalProperties": false, - "properties": { - "attackMs": { - "minimum": 0, - "type": "number" - }, - "duckDb": { - "maximum": 0, - "type": "number" - }, - "releaseMs": { - "minimum": 0, - "type": "number" - }, - "windows": { - "items": { - "additionalProperties": false, - "properties": { - "endMs": { - "type": "number" - }, - "startMs": { - "type": "number" - } - }, - "required": [ - "startMs", - "endMs" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "duckDb", - "attackMs", - "releaseMs" - ], - "type": "object" - }, - "excludedRanges": { - "items": { - "additionalProperties": false, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "reason": { - "type": "string" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "type": "array" - }, - "fadeInMs": { - "minimum": 0, - "type": "number" - }, - "fadeOutMs": { - "minimum": 0, - "type": "number" - }, - "kenBurns": { - "enum": [ - "in", - "out", - "pan-l", - "pan-r", - "none" - ], - "type": "string" - }, - "kind": { - "const": "media", - "type": "string" - }, - "loop": { - "type": "boolean" - }, - "mediaId": { - "type": "string" - }, - "muted": { - "type": "boolean" - }, - "playbackRate": { - "exclusiveMinimum": 0, - "type": "number" - }, - "reframe": { - "additionalProperties": false, - "properties": { - "segments": { - "items": { - "additionalProperties": false, - "properties": { - "bias": { - "additionalProperties": false, - "description": "Optional FINE framing nudge off the focus center, source-normalized in [−0.3, 0.3]. A small correction (headroom, rule-of-thirds), NOT a reframe — use `focus`/`zoom` for the actual shot. Omit (treated as 0) to sit dead-center on the focus.", - "properties": { - "x": { - "description": "Horizontal nudge, source-normalized (+ = right).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "y": { - "description": "Vertical nudge, source-normalized (+ = down).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "ease": { - "additionalProperties": false, - "description": "Zoom/center ramp DURATIONS in SECONDS at this segment's edges — NOT a unitless 0–1 curve. ~0.3–0.6s reads as a snappy push; >1s reads sluggish. Keep `in` + `out` ≤ the segment's duration (endSec − startSec): the two edges share the span, so to ramp across the WHOLE segment set one edge to the full duration and the other to 0. Omit for an instant cut to this framing.", - "properties": { - "in": { - "description": "Ease-IN ramp DURATION in seconds at the segment START.", - "minimum": 0, - "type": "number" - }, - "out": { - "description": "Ease-OUT ramp DURATION in seconds at the segment END.", - "minimum": 0, - "type": "number" - } - }, - "required": [ - "in", - "out" - ], - "type": "object" - }, - "endSec": { - "description": "Segment END in seconds, clip-relative. The span (endSec − startSec) is this segment's duration — the window `ease` ramps over.", - "exclusiveMinimum": 0, - "type": "number" - }, - "focus": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "frame-center", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "point", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "mode", - "x", - "y" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "faceId": { - "minLength": 1, - "type": "string" - }, - "mode": { - "const": "face", - "type": "string" - }, - "shotScale": { - "enum": [ - "close", - "standard", - "wide" - ], - "type": "string" - } - }, - "required": [ - "mode", - "faceId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "all-faces", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "active-speaker", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - } - ], - "description": "WHO/WHAT the camera tracks this segment (the reframe center), selected by `mode`: `frame-center` = no tracking, hold the geometric center (static/graphic footage, or a pure zoom); `point` = lock to a fixed source-normalized {x,y} (a non-moving on-screen element); `face` = track a detected face by `faceId` (from get_media_context), with optional `shotScale` close|standard|wide for tightness; `all-faces` = frame the bounding box of every detected face (group/ensemble shots); `active-speaker` = follow whoever is speaking (diarized talking-head / podcast). Pick by what the beat is about; pair with `zoom` for how tight." - }, - "intent": { - "description": "Optional editorial LABEL for diff/log readability (e.g. 'speaker-tight', 'wide-context'). Cosmetic — NOT honored by the derive math and excluded from the variant cache key.", - "type": "string" - }, - "startSec": { - "description": "Segment START in seconds, clip-relative. Segments tile the clip's duration in order.", - "minimum": 0, - "type": "number" - }, - "zoom": { - "description": "How TIGHT the framing is — the fraction of the source the output viewport shows. <1 punches IN (a smaller source fraction, magnified to fill the frame); 1 = the full frame (no crop). ~0.6–0.8 is a moderate push-in, ~0.5 a tight close-up, 0.1 the maximum zoom. There is NO zoom-OUT past the full frame (max 1). Omit for the full frame. MUTUALLY EXCLUSIVE with `focus.shotScale`: a face-tracked shot is sized EITHER by the editorial scale (shotScale, calibrated to the detected face) OR by an explicit zoom — never both.", - "maximum": 1, - "minimum": 0.1, - "type": "number" - } - }, - "required": [ - "startSec", - "endSec", - "focus" - ], - "type": "object" - }, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "segments" - ], - "type": "object" - }, - "sync": { - "enum": [ - "video", - "independent" - ], - "type": "string" - }, - "trim": { - "additionalProperties": false, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "volume": { - "maximum": 4, - "minimum": 0, - "type": "number" - }, - "volumeDb": { - "type": "number" - } - }, - "required": [ - "kind", - "mediaId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "componentId": { - "minLength": 1, - "type": "string" - }, - "execution": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "kind": { - "const": "component", - "type": "string" - }, - "placement": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "clip", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "content-slots", - "type": "string" - }, - "slots": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "ownership": { - "enum": [ - "reference", - "exclusive" - ], - "type": "string" - }, - "targetClipIds": { - "items": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "targetClipIds", - "ownership" - ], - "type": "object" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind", - "slots" - ], - "type": "object" - } - ] - }, - "props": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "retired": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "componentId", - "props" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "space": { - "const": "scene", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "space", - "x", - "y" - ], - "type": "object" - }, - "kind": { - "const": "overlay", - "type": "string" - }, - "parallax": { - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "params": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "pattern": "^(?!custom$)", - "type": "string" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "primitiveId", - "params" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "component": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "kind": { - "const": "effect", - "type": "string" - }, - "params": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "targetTrackIds": { - "items": { - "minLength": 1, - "type": "string" - }, - "minItems": 1, - "type": "array" - }, - "wrapperOrder": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "html": { - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "card", - "type": "string" - }, - "tokens": { - "additionalProperties": { - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "zPlane": { - "const": "front", - "type": "string" - } - }, - "required": [ - "kind", - "html" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "compositionId": { - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "composition", - "type": "string" - }, - "trim": { - "additionalProperties": false, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "compositionId" - ], - "type": "object" - } -] - added
Input schema / properties / body / properties / seededGraphics / items / properties / source / oneOfAdded value: +[ + { + "additionalProperties": {}, + "properties": { + "anchor": { + "additionalProperties": {}, + "properties": { + "clipId": { + "minLength": 1, + "type": "string" + }, + "offsetMs": { + "type": "number" + } + }, + "required": [ + "clipId", + "offsetMs" + ], + "type": "object" + }, + "audioRole": { + "enum": [ + "sfx", + "music", + "vo", + "ambience" + ], + "type": "string" + }, + "duck": { + "additionalProperties": {}, + "properties": { + "attackMs": { + "minimum": 0, + "type": "number" + }, + "duckDb": { + "maximum": 0, + "type": "number" + }, + "releaseMs": { + "minimum": 0, + "type": "number" + }, + "windows": { + "items": { + "additionalProperties": {}, + "properties": { + "endMs": { + "type": "number" + }, + "startMs": { + "type": "number" + } + }, + "required": [ + "startMs", + "endMs" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "duckDb", + "attackMs", + "releaseMs" + ], + "type": "object" + }, + "excludedRanges": { + "items": { + "additionalProperties": {}, + "properties": { + "end": { + "minimum": 0, + "type": "number" + }, + "reason": { + "type": "string" + }, + "start": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "type": "array" + }, + "fadeInMs": { + "minimum": 0, + "type": "number" + }, + "fadeOutMs": { + "minimum": 0, + "type": "number" + }, + "kenBurns": { + "enum": [ + "in", + "out", + "pan-l", + "pan-r", + "none" + ], + "type": "string" + }, + "kind": { + "const": "media", + "type": "string" + }, + "loop": { + "type": "boolean" + }, + "mediaId": { + "type": "string" + }, + "muted": { + "type": "boolean" + }, + "playbackRate": { + "exclusiveMinimum": 0, + "type": "number" + }, + "reframe": { + "additionalProperties": {}, + "properties": { + "segments": { + "items": { + "additionalProperties": {}, + "properties": { + "bias": { + "additionalProperties": {}, + "description": "Optional FINE framing nudge off the focus center, source-normalized in [−0.3, 0.3]. A small correction (headroom, rule-of-thirds), NOT a reframe — use `focus`/`zoom` for the actual shot. Omit (treated as 0) to sit dead-center on the focus.", + "properties": { + "x": { + "description": "Horizontal nudge, source-normalized (+ = right).", + "maximum": 0.3, + "minimum": -0.3, + "type": "number" + }, + "y": { + "description": "Vertical nudge, source-normalized (+ = down).", + "maximum": 0.3, + "minimum": -0.3, + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "type": "object" + }, + "ease": { + "additionalProperties": {}, + "description": "Zoom/center ramp DURATIONS in SECONDS at this segment's edges — NOT a unitless 0–1 curve. ~0.3–0.6s reads as a snappy push; >1s reads sluggish. Keep `in` + `out` ≤ the segment's duration (endSec − startSec): the two edges share the span, so to ramp across the WHOLE segment set one edge to the full duration and the other to 0. Omit for an instant cut to this framing.", + "properties": { + "in": { + "description": "Ease-IN ramp DURATION in seconds at the segment START.", + "minimum": 0, + "type": "number" + }, + "out": { + "description": "Ease-OUT ramp DURATION in seconds at the segment END.", + "minimum": 0, + "type": "number" + } + }, + "required": [ + "in", + "out" + ], + "type": "object" + }, + "endSec": { + "description": "Segment END in seconds, clip-relative. The span (endSec − startSec) is this segment's duration — the window `ease` ramps over.", + "exclusiveMinimum": 0, + "type": "number" + }, + "focus": { + "description": "WHO/WHAT the camera tracks this segment (the reframe center), selected by `mode`: `frame-center` = no tracking, hold the geometric center (static/graphic footage, or a pure zoom); `point` = lock to a fixed source-normalized {x,y} (a non-moving on-screen element); `face` = track a detected face by `faceId` (from get_media_context), with optional `shotScale` close|standard|wide for tightness; `all-faces` = frame the bounding box of every detected face (group/ensemble shots); `active-speaker` = follow whoever is speaking (diarized talking-head / podcast). Pick by what the beat is about; pair with `zoom` for how tight.", + "oneOf": [ + { + "additionalProperties": {}, + "properties": { + "mode": { + "const": "frame-center", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "mode": { + "const": "point", + "type": "string" + }, + "x": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "mode", + "x", + "y" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "faceId": { + "minLength": 1, + "type": "string" + }, + "mode": { + "const": "face", + "type": "string" + }, + "shotScale": { + "enum": [ + "close", + "standard", + "wide" + ], + "type": "string" + } + }, + "required": [ + "mode", + "faceId" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "mode": { + "const": "all-faces", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "mode": { + "const": "active-speaker", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" + } + ] + }, + "intent": { + "description": "Optional editorial LABEL for diff/log readability (e.g. 'speaker-tight', 'wide-context'). Cosmetic — NOT honored by the derive math and excluded from the variant cache key.", + "type": "string" + }, + "startSec": { + "description": "Segment START in seconds, clip-relative. Segments tile the clip's duration in order.", + "minimum": 0, + "type": "number" + }, + "zoom": { + "description": "How TIGHT the framing is — the fraction of the source the output viewport shows. <1 punches IN (a smaller source fraction, magnified to fill the frame); 1 = the full frame (no crop). ~0.6–0.8 is a moderate push-in, ~0.5 a tight close-up, 0.1 the maximum zoom. There is NO zoom-OUT past the full frame (max 1). Omit for the full frame. MUTUALLY EXCLUSIVE with `focus.shotScale`: a face-tracked shot is sized EITHER by the editorial scale (shotScale, calibrated to the detected face) OR by an explicit zoom — never both.", + "maximum": 1, + "minimum": 0.1, + "type": "number" + } + }, + "required": [ + "startSec", + "endSec", + "focus" + ], + "type": "object" + }, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "segments" + ], + "type": "object" + }, + "sync": { + "enum": [ + "video", + "independent" + ], + "type": "string" + }, + "trim": { + "additionalProperties": {}, + "properties": { + "end": { + "minimum": 0, + "type": "number" + }, + "start": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "volume": { + "maximum": 4, + "minimum": 0, + "type": "number" + }, + "volumeDb": { + "type": "number" + } + }, + "required": [ + "kind", + "mediaId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "componentId": { + "minLength": 1, + "type": "string" + }, + "execution": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } + ] + }, + "kind": { + "const": "component", + "type": "string" + }, + "placement": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "clip", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "content-slots", + "type": "string" + }, + "slots": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "ownership": { + "enum": [ + "reference", + "exclusive" + ], + "type": "string" + }, + "targetClipIds": { + "items": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "targetClipIds", + "ownership" + ], + "type": "object" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "kind", + "slots" + ], + "type": "object" + } + ] + }, + "props": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "retired": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "zPlane": { + "enum": [ + "front", + "behind-subject" + ], + "type": "string" + } + }, + "required": [ + "kind", + "componentId", + "props" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "anchor": { + "additionalProperties": {}, + "properties": { + "space": { + "const": "scene", + "type": "string" + }, + "x": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "space", + "x", + "y" + ], + "type": "object" + }, + "kind": { + "const": "overlay", + "type": "string" + }, + "parallax": { + "maximum": 0.3, + "minimum": -0.3, + "type": "number" + }, + "params": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "pattern": "^(?!custom$)", + "type": "string" + }, + "zPlane": { + "enum": [ + "front", + "behind-subject" + ], + "type": "string" + } + }, + "required": [ + "kind", + "primitiveId", + "params" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "component": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } + ] + }, + "kind": { + "const": "effect", + "type": "string" + }, + "params": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "type": "string" + }, + "targetTrackIds": { + "items": { + "minLength": 1, + "type": "string" + }, + "minItems": 1, + "type": "array" + }, + "wrapperOrder": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "html": { + "minLength": 1, + "type": "string" + }, + "kind": { + "const": "card", + "type": "string" + }, + "tokens": { + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "zPlane": { + "const": "front", + "type": "string" + } + }, + "required": [ + "kind", + "html" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "compositionId": { + "minLength": 1, + "type": "string" + }, + "kind": { + "const": "composition", + "type": "string" + }, + "trim": { + "additionalProperties": {}, + "properties": { + "end": { + "minimum": 0, + "type": "number" + }, + "start": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "compositionId" + ], + "type": "object" + } +] - changed
Input schema / properties / body / properties / seededGraphics / items / properties / transitionIn / additionalPropertiesPrevious value: -falseNew value: +{} - removed
Input schema / properties / body / properties / seededGraphics / items / properties / transitionIn / properties / component / anyOfRemoved value: -[ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } -] - added
Input schema / properties / body / properties / seededGraphics / items / properties / transitionIn / properties / component / oneOfAdded value: +[ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } +] - added
Input schema / properties / body / properties / seededGraphics / items / properties / tweens / items / properties / keyframes / properties / keyframes / items / properties / properties / propertiesAdded value: +{}
- Changed
create_component21 fields changed- added
Input schema / properties / body / properties / examples / items / propertiesAdded value: +{} - added
Input schema / properties / body / properties / propSchema / propertiesAdded value: +{} - removed
Input schema / properties / body / properties / source / properties / definition / properties / capabilities / items / anyOfRemoved value: -[ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "clip", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "cut-transition", - "type": "string" - }, - "protocol": { - "const": "per-child", - "type": "string" - } - }, - "required": [ - "kind", - "protocol" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "content-slots", - "type": "string" - }, - "slots": { - "items": { - "additionalProperties": false, - "properties": { - "max": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "min": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "name": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "ownership": { - "enum": [ - "reference", - "exclusive" - ], - "type": "string" - }, - "sizing": { - "enum": [ - "canvas", - "container" - ], - "type": "string" - } - }, - "required": [ - "name", - "min", - "max", - "ownership", - "sizing" - ], - "type": "object" - }, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "kind", - "slots" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "acceptsWrappedTargets": { - "type": "boolean" - }, - "kind": { - "const": "clip-wrapper", - "type": "string" - }, - "ordering": { - "enum": [ - "any", - "innermost" - ], - "type": "string" - } - }, - "required": [ - "kind", - "ordering", - "acceptsWrappedTargets" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "acceptsWrappedTargets": { - "type": "boolean" - }, - "kind": { - "const": "global-wrapper", - "type": "string" - }, - "ordering": { - "enum": [ - "any", - "innermost" - ], - "type": "string" - }, - "scope": { - "const": "media-lanes", - "type": "string" - } - }, - "required": [ - "kind", - "scope", - "ordering", - "acceptsWrappedTargets" - ], - "type": "object" - } -] - added
Input schema / properties / body / properties / source / properties / definition / properties / capabilities / items / oneOfAdded value: +[ + { + "properties": { + "kind": { + "const": "clip", + "type": "string" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + { + "properties": { + "kind": { + "const": "cut-transition", + "type": "string" + }, + "protocol": { + "const": "per-child", + "type": "string" + } + }, + "required": [ + "kind", + "protocol" + ], + "type": "object" + }, + { + "properties": { + "kind": { + "const": "content-slots", + "type": "string" + }, + "slots": { + "items": { + "additionalProperties": false, + "properties": { + "max": { + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + }, + "min": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "name": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "ownership": { + "enum": [ + "reference", + "exclusive" + ], + "type": "string" + }, + "sizing": { + "enum": [ + "canvas", + "container" + ], + "type": "string" + } + }, + "required": [ + "name", + "min", + "max", + "ownership", + "sizing" + ], + "type": "object" + }, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "kind", + "slots" + ], + "type": "object" + }, + { + "properties": { + "acceptsWrappedTargets": { + "type": "boolean" + }, + "kind": { + "const": "clip-wrapper", + "type": "string" + }, + "ordering": { + "enum": [ + "any", + "innermost" + ], + "type": "string" + } + }, + "required": [ + "kind", + "ordering", + "acceptsWrappedTargets" + ], + "type": "object" + }, + { + "properties": { + "acceptsWrappedTargets": { + "type": "boolean" + }, + "kind": { + "const": "global-wrapper", + "type": "string" + }, + "ordering": { + "enum": [ + "any", + "innermost" + ], + "type": "string" + }, + "scope": { + "const": "media-lanes", + "type": "string" + } + }, + "required": [ + "kind", + "scope", + "ordering", + "acceptsWrappedTargets" + ], + "type": "object" + } +] - added
Input schema / properties / body / properties / source / properties / definition / properties / defaults / propertiesAdded value: +{} - added
Input schema / properties / body / properties / source / properties / definition / properties / inputSchema / propertiesAdded value: +{} - removed
Input schema / properties / body / properties / source / properties / definition / properties / mediaBindings / items / properties / mediaDemand / anyOfRemoved value: -[ - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "original", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "tier", - "type": "string" - }, - "tier": { - "anyOf": [ - { - "const": 256, - "type": "number" - }, - { - "const": 512, - "type": "number" - }, - { - "const": 1024, - "type": "number" - }, - { - "const": 2048, - "type": "number" - } - ] - } - }, - "required": [ - "mode", - "tier" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "maxProjectedHeightRatio": { - "exclusiveMinimum": 0, - "maximum": 64, - "type": "number" - }, - "maxProjectedWidthRatio": { - "exclusiveMinimum": 0, - "maximum": 64, - "type": "number" - }, - "minVisibleSourceHeightRatio": { - "default": 1, - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "minVisibleSourceWidthRatio": { - "default": 1, - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "mode": { - "const": "auto", - "type": "string" - } - }, - "required": [ - "mode", - "maxProjectedWidthRatio", - "maxProjectedHeightRatio" - ], - "type": "object" - } -] - added
Input schema / properties / body / properties / source / properties / definition / properties / mediaBindings / items / properties / mediaDemand / oneOfAdded value: +[ + { + "properties": { + "mode": { + "const": "original", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" + }, + { + "properties": { + "mode": { + "const": "tier", + "type": "string" + }, + "tier": { + "anyOf": [ + { + "const": 256, + "type": "number" + }, + { + "const": 512, + "type": "number" + }, + { + "const": 1024, + "type": "number" + }, + { + "const": 2048, + "type": "number" + } + ] + } + }, + "required": [ + "mode", + "tier" + ], + "type": "object" + }, + { + "properties": { + "maxProjectedHeightRatio": { + "exclusiveMinimum": 0, + "maximum": 64, + "type": "number" + }, + "maxProjectedWidthRatio": { + "exclusiveMinimum": 0, + "maximum": 64, + "type": "number" + }, + "minVisibleSourceHeightRatio": { + "default": 1, + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "minVisibleSourceWidthRatio": { + "default": 1, + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "mode": { + "const": "auto", + "type": "string" + } + }, + "required": [ + "mode", + "maxProjectedWidthRatio", + "maxProjectedHeightRatio" + ], + "type": "object" + } +] - added
Input schema / properties / body / properties / source / properties / definition / properties / preview / properties / assets / propertiesAdded value: +{} - added
Input schema / properties / body / properties / source / properties / definition / properties / preview / properties / assets / propertyNames / maxLengthAdded value: +128 - added
Input schema / properties / body / properties / source / properties / definition / properties / preview / properties / assets / propertyNames / minLengthAdded value: +1 - changed
Input schema / properties / body / properties / source / properties / definition / properties / preview / properties / format / additionalPropertiesPrevious value: -falseNew value: +{} - added
Input schema / properties / body / properties / source / properties / definition / properties / preview / properties / mediaBindings / propertiesAdded value: +{} - added
Input schema / properties / body / properties / source / properties / definition / properties / preview / properties / mediaBindings / propertyNames / maxLengthAdded value: +128 - added
Input schema / properties / body / properties / source / properties / definition / properties / preview / properties / mediaBindings / propertyNames / minLengthAdded value: +1 - added
Input schema / properties / body / properties / source / properties / definition / properties / preview / properties / params / propertiesAdded value: +{} - removed
Input schema / properties / body / properties / source / properties / manifest / properties / assets / additionalProperties / properties / mediaDemand / anyOfRemoved value: -[ - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "original", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "tier", - "type": "string" - }, - "tier": { - "anyOf": [ - { - "const": 256, - "type": "number" - }, - { - "const": 512, - "type": "number" - }, - { - "const": 1024, - "type": "number" - }, - { - "const": 2048, - "type": "number" - } - ] - } - }, - "required": [ - "mode", - "tier" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "maxProjectedHeightRatio": { - "exclusiveMinimum": 0, - "maximum": 64, - "type": "number" - }, - "maxProjectedWidthRatio": { - "exclusiveMinimum": 0, - "maximum": 64, - "type": "number" - }, - "minVisibleSourceHeightRatio": { - "default": 1, - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "minVisibleSourceWidthRatio": { - "default": 1, - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "mode": { - "const": "auto", - "type": "string" - } - }, - "required": [ - "mode", - "maxProjectedWidthRatio", - "maxProjectedHeightRatio" - ], - "type": "object" - } -] - added
Input schema / properties / body / properties / source / properties / manifest / properties / assets / additionalProperties / properties / mediaDemand / oneOfAdded value: +[ + { + "properties": { + "mode": { + "const": "original", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" + }, + { + "properties": { + "mode": { + "const": "tier", + "type": "string" + }, + "tier": { + "anyOf": [ + { + "const": 256, + "type": "number" + }, + { + "const": 512, + "type": "number" + }, + { + "const": 1024, + "type": "number" + }, + { + "const": 2048, + "type": "number" + } + ] + } + }, + "required": [ + "mode", + "tier" + ], + "type": "object" + }, + { + "properties": { + "maxProjectedHeightRatio": { + "exclusiveMinimum": 0, + "maximum": 64, + "type": "number" + }, + "maxProjectedWidthRatio": { + "exclusiveMinimum": 0, + "maximum": 64, + "type": "number" + }, + "minVisibleSourceHeightRatio": { + "default": 1, + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "minVisibleSourceWidthRatio": { + "default": 1, + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "mode": { + "const": "auto", + "type": "string" + } + }, + "required": [ + "mode", + "maxProjectedWidthRatio", + "maxProjectedHeightRatio" + ], + "type": "object" + } +] - added
Input schema / properties / body / properties / source / properties / manifest / properties / assets / propertiesAdded value: +{} - added
Input schema / properties / body / properties / source / properties / manifest / properties / assets / propertyNames / minLengthAdded value: +1 - added
Input schema / properties / body / properties / tokens / propertiesAdded value: +{}
- Changed
create_project3 fields changed- changed
Input schema / properties / body / properties / format / additionalPropertiesPrevious value: -falseNew value: +{} - added
Input schema / properties / body / properties / height / deprecatedAdded value: +true - added
Input schema / properties / body / properties / width / deprecatedAdded value: +true
- Changed
create_render7 fields changed- changed
Input schema / properties / body / properties / format / additionalPropertiesPrevious value: -falseNew value: +{} - added
Output schema / properties / completedAtAdded value: +{ + "description": "ISO-8601 instant the render reached its terminal status (complete, error or cancelled); null while it runs. Pair with createdAt for the wall time.", + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / compositionIdAdded value: +{ + "description": "The composition this render froze at create time (the project's active one, or the compositionId the request named). Null on renders minted before this was recorded.", + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / engineAdded value: +{ + "description": "The render engine the row was minted for. Null on rows minted before the engine was recorded." +} - added
Output schema / properties / formatAdded value: +{ + "description": "The resolved output format the render was encoded at (aspectRatio, fps, resolution): the frozen composition's, after any create-time scale override. Null on legacy rows." +} - added
Output schema / properties / outputDurationSecAdded value: +{ + "description": "The output's length in seconds (the composition timeline's, or the preview window's), as billed. Null on legacy rows.", + "type": [ + "number", + "null" + ] +} - added
Output schema / properties / previewAdded value: +{ + "description": "The scoped preview window when this is a preview_clip render; null for a full deliverable." +}
- Changed
create_upload1 field changed- changed
Input schema / properties / body / properties / size / maximumPrevious value: -10737418240New value: +5368709120
- Changed
create_webhook1 field changed- added
Input schema / properties / body / properties / url / exampleAdded value: +"https://hooks.example.com/cueframe"
- Changed
derive_composition1 field changed- changed
Input schema / properties / body / properties / targetFormat / additionalPropertiesPrevious value: -falseNew value: +{}
- Added
download_media - Added
editorial_apply - Added
editorial_create_brief - Added
editorial_create_run - Added
editorial_findings_append - Added
editorial_findings_list - Added
editorial_get_run - Added
editorial_inspect_audio - Added
editorial_inspect_source - Added
editorial_inspect_transcript - Added
editorial_integrate - Added
editorial_list_briefs - Added
editorial_list_evidence - Added
editorial_list_runs - Added
editorial_run_source - Added
editorial_sample_motion - Changed
generate_media1 field changed- added
Input schema / properties / body / properties / style / propertiesAdded value: +{}
- Changed
get_component_source1 field changed- changed
Output schema / properties / sourceSnapshot / descriptionPrevious value: -"Canonical immutable source snapshot (version 4 template, or a retired version 3 TSX module); source remains provenance."New value: +"Immutable source snapshot: a version 4 template, a retired version 3 TSX module, or the historical version 2 source of a component stored before versioned sources (read-only; it never executes). source remains provenance."
- Changed
get_media_context3 fields changed- added
Input schema / properties / afterAdded value: +{ + "description": "Zero-based utterance cursor from transcript.data.pagination.nextCursor.", + "type": "string" +} - added
Input schema / properties / limitAdded value: +{ + "description": "Transcript utterances per context page (default 20, maximum 100).", + "maximum": 100, + "minimum": 1, + "type": "integer" +} - changed
Output schema / properties / wordGrid / descriptionPrevious value: -"The VO-role rhythm grid: word onsets surfaced from the transcript (pure exposure). Present only when a transcript exists; null otherwise. For a VO-driven (narration) film, cut every beat boundary to the voice — the film-spine rule."New value: +"The VO-role rhythm grid for this bounded transcript page. Present when a transcript exists; null otherwise. Check pagination.hasMore before treating it as a complete voice spine."
- Added
get_render - Added
get_template - Changed
import_resource1 field changed- added
Input schema / properties / body / exampleAdded value: +{ + "candidateId": "cand_01J8Z3K9Q2X4Y5W6V7T8R9S0P1", + "projectId": "abcdefghij1234567890abcdef123456" +}
- Changed
list_media1 field changed- added
Input schema / properties / projectIdAdded value: +{ + "minLength": 1, + "type": "string" +}
- Added
list_templates - Changed
new_composition2 fields changed- changed
Input schema / properties / body / properties / format / additionalPropertiesPrevious value: -falseNew value: +{} - changed
Output schema / (root)Previous value: -nullNew value: +{ + "$schema": "https://json-schema.org/draft/2020-12/schema", + "additionalProperties": {}, + "properties": { + "compositionId": { + "description": "The new composition's id: `composition_id` for apply_composition, `compositionId` for preview_frame and create_render.", + "type": "string" + }, + "etag": { + "description": "The strong ETag of the empty composition, for If-Match on its first write.", + "type": "string" + }, + "format": { + "additionalProperties": {}, + "properties": {}, + "type": "object" + } + }, + "type": "object" +}
- Changed
preview_clip6 fields changed- added
Output schema / properties / completedAtAdded value: +{ + "description": "ISO-8601 instant the render reached its terminal status (complete, error or cancelled); null while it runs. Pair with createdAt for the wall time.", + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / compositionIdAdded value: +{ + "description": "The composition this render froze at create time (the project's active one, or the compositionId the request named). Null on renders minted before this was recorded.", + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / engineAdded value: +{ + "description": "The render engine the row was minted for. Null on rows minted before the engine was recorded." +} - added
Output schema / properties / formatAdded value: +{ + "description": "The resolved output format the render was encoded at (aspectRatio, fps, resolution): the frozen composition's, after any create-time scale override. Null on legacy rows." +} - added
Output schema / properties / outputDurationSecAdded value: +{ + "description": "The output's length in seconds (the composition timeline's, or the preview window's), as billed. Null on legacy rows.", + "type": [ + "number", + "null" + ] +} - added
Output schema / properties / previewAdded value: +{ + "description": "The scoped preview window when this is a preview_clip render; null for a full deliverable." +}
- Changed
preview_component4 fields changed- added
Input schema / properties / body / exampleAdded value: +{ + "componentId": "cmp_lower_third", + "params": { + "subtitle": "up 40%", + "title": "Q3 revenue" + } +} - added
Input schema / properties / body / properties / assets / propertiesAdded value: +{} - added
Input schema / properties / body / properties / assets / propertyNames / minLengthAdded value: +1 - added
Input schema / properties / body / properties / params / propertiesAdded value: +{}
- Changed
preview_frame1 field changed- added
Input schema / properties / body / exampleAdded value: +{ + "imageFormat": "jpeg", + "timestamps": [ + 1.5, + 4 + ] +}
- Added
refresh_render_url - Changed
register_critic1 field changed- added
Input schema / properties / body / properties / rules / items / propertiesAdded value: +{}
- Changed
repin_component3 fields changed- added
Input schema / properties / body / exampleAdded value: +{} - added
Output schema / properties / inputsRefusedAdded value: +{ + "description": "Clips whose successor refuses their stored inputs (its input schema), each with why: fix the inputs by rebuilding the clip, or remove it.", + "items": {}, + "type": "array" +} - changed
Output schema / properties / withoutSuccessor / descriptionPrevious value: -"Clips pinning a retired TSX source no curated release shipped: rebuild them as native components."New value: +"Clips in a retired form no curated release recorded: rebuild them as native components, or remove them, in the same edit that upgrades the others."
- Changed
resume1 field changed- added
Input schema / properties / body / exampleAdded value: +{ + "decision": "approve" +}
- Changed
retry_render6 fields changed- added
Output schema / properties / completedAtAdded value: +{ + "description": "ISO-8601 instant the render reached its terminal status (complete, error or cancelled); null while it runs. Pair with createdAt for the wall time.", + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / compositionIdAdded value: +{ + "description": "The composition this render froze at create time (the project's active one, or the compositionId the request named). Null on renders minted before this was recorded.", + "type": [ + "string", + "null" + ] +} - added
Output schema / properties / engineAdded value: +{ + "description": "The render engine the row was minted for. Null on rows minted before the engine was recorded." +} - added
Output schema / properties / formatAdded value: +{ + "description": "The resolved output format the render was encoded at (aspectRatio, fps, resolution): the frozen composition's, after any create-time scale override. Null on legacy rows." +} - added
Output schema / properties / outputDurationSecAdded value: +{ + "description": "The output's length in seconds (the composition timeline's, or the preview window's), as billed. Null on legacy rows.", + "type": [ + "number", + "null" + ] +} - added
Output schema / properties / previewAdded value: +{ + "description": "The scoped preview window when this is a preview_clip render; null for a full deliverable." +}
- Changed
score_composition1 field changed- added
Input schema / properties / body / exampleAdded value: +{ + "editorialIntent": "punchy, founder-led" +}
- Changed
update_brief13 fields changed- changed
Input schema / $defs / __schema0 / anyOfPrevious value: -[ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - }, - { - "items": { - "$ref": "#/$defs/__schema0" - }, - "type": "array" - }, - { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - } -]New value: +[ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "items": { + "$ref": "#/$defs/__schema0" + }, + "type": "array" + }, + { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } +] - changed
Input schema / properties / body / properties / format / additionalPropertiesPrevious value: -falseNew value: +{} - removed
Input schema / properties / body / properties / seededGraphics / items / properties / effects / items / properties / component / anyOfRemoved value: -[ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } -] - added
Input schema / properties / body / properties / seededGraphics / items / properties / effects / items / properties / component / oneOfAdded value: +[ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } +] - added
Input schema / properties / body / properties / seededGraphics / items / properties / effects / items / properties / params / propertiesAdded value: +{} - changed
Input schema / properties / body / properties / seededGraphics / items / properties / position / additionalPropertiesPrevious value: -falseNew value: +{} - changed
Input schema / properties / body / properties / seededGraphics / items / properties / region / additionalPropertiesPrevious value: -falseNew value: +{} - removed
Input schema / properties / body / properties / seededGraphics / items / properties / source / anyOfRemoved value: -[ - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "clipId": { - "minLength": 1, - "type": "string" - }, - "offsetMs": { - "type": "number" - } - }, - "required": [ - "clipId", - "offsetMs" - ], - "type": "object" - }, - "audioRole": { - "enum": [ - "sfx", - "music", - "vo", - "ambience" - ], - "type": "string" - }, - "duck": { - "additionalProperties": false, - "properties": { - "attackMs": { - "minimum": 0, - "type": "number" - }, - "duckDb": { - "maximum": 0, - "type": "number" - }, - "releaseMs": { - "minimum": 0, - "type": "number" - }, - "windows": { - "items": { - "additionalProperties": false, - "properties": { - "endMs": { - "type": "number" - }, - "startMs": { - "type": "number" - } - }, - "required": [ - "startMs", - "endMs" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "duckDb", - "attackMs", - "releaseMs" - ], - "type": "object" - }, - "excludedRanges": { - "items": { - "additionalProperties": false, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "reason": { - "type": "string" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "type": "array" - }, - "fadeInMs": { - "minimum": 0, - "type": "number" - }, - "fadeOutMs": { - "minimum": 0, - "type": "number" - }, - "kenBurns": { - "enum": [ - "in", - "out", - "pan-l", - "pan-r", - "none" - ], - "type": "string" - }, - "kind": { - "const": "media", - "type": "string" - }, - "loop": { - "type": "boolean" - }, - "mediaId": { - "type": "string" - }, - "muted": { - "type": "boolean" - }, - "playbackRate": { - "exclusiveMinimum": 0, - "type": "number" - }, - "reframe": { - "additionalProperties": false, - "properties": { - "segments": { - "items": { - "additionalProperties": false, - "properties": { - "bias": { - "additionalProperties": false, - "description": "Optional FINE framing nudge off the focus center, source-normalized in [−0.3, 0.3]. A small correction (headroom, rule-of-thirds), NOT a reframe — use `focus`/`zoom` for the actual shot. Omit (treated as 0) to sit dead-center on the focus.", - "properties": { - "x": { - "description": "Horizontal nudge, source-normalized (+ = right).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "y": { - "description": "Vertical nudge, source-normalized (+ = down).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "ease": { - "additionalProperties": false, - "description": "Zoom/center ramp DURATIONS in SECONDS at this segment's edges — NOT a unitless 0–1 curve. ~0.3–0.6s reads as a snappy push; >1s reads sluggish. Keep `in` + `out` ≤ the segment's duration (endSec − startSec): the two edges share the span, so to ramp across the WHOLE segment set one edge to the full duration and the other to 0. Omit for an instant cut to this framing.", - "properties": { - "in": { - "description": "Ease-IN ramp DURATION in seconds at the segment START.", - "minimum": 0, - "type": "number" - }, - "out": { - "description": "Ease-OUT ramp DURATION in seconds at the segment END.", - "minimum": 0, - "type": "number" - } - }, - "required": [ - "in", - "out" - ], - "type": "object" - }, - "endSec": { - "description": "Segment END in seconds, clip-relative. The span (endSec − startSec) is this segment's duration — the window `ease` ramps over.", - "exclusiveMinimum": 0, - "type": "number" - }, - "focus": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "frame-center", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "point", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "mode", - "x", - "y" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "faceId": { - "minLength": 1, - "type": "string" - }, - "mode": { - "const": "face", - "type": "string" - }, - "shotScale": { - "enum": [ - "close", - "standard", - "wide" - ], - "type": "string" - } - }, - "required": [ - "mode", - "faceId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "all-faces", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "active-speaker", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - } - ], - "description": "WHO/WHAT the camera tracks this segment (the reframe center), selected by `mode`: `frame-center` = no tracking, hold the geometric center (static/graphic footage, or a pure zoom); `point` = lock to a fixed source-normalized {x,y} (a non-moving on-screen element); `face` = track a detected face by `faceId` (from get_media_context), with optional `shotScale` close|standard|wide for tightness; `all-faces` = frame the bounding box of every detected face (group/ensemble shots); `active-speaker` = follow whoever is speaking (diarized talking-head / podcast). Pick by what the beat is about; pair with `zoom` for how tight." - }, - "intent": { - "description": "Optional editorial LABEL for diff/log readability (e.g. 'speaker-tight', 'wide-context'). Cosmetic — NOT honored by the derive math and excluded from the variant cache key.", - "type": "string" - }, - "startSec": { - "description": "Segment START in seconds, clip-relative. Segments tile the clip's duration in order.", - "minimum": 0, - "type": "number" - }, - "zoom": { - "description": "How TIGHT the framing is — the fraction of the source the output viewport shows. <1 punches IN (a smaller source fraction, magnified to fill the frame); 1 = the full frame (no crop). ~0.6–0.8 is a moderate push-in, ~0.5 a tight close-up, 0.1 the maximum zoom. There is NO zoom-OUT past the full frame (max 1). Omit for the full frame. MUTUALLY EXCLUSIVE with `focus.shotScale`: a face-tracked shot is sized EITHER by the editorial scale (shotScale, calibrated to the detected face) OR by an explicit zoom — never both.", - "maximum": 1, - "minimum": 0.1, - "type": "number" - } - }, - "required": [ - "startSec", - "endSec", - "focus" - ], - "type": "object" - }, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "segments" - ], - "type": "object" - }, - "sync": { - "enum": [ - "video", - "independent" - ], - "type": "string" - }, - "trim": { - "additionalProperties": false, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "volume": { - "maximum": 4, - "minimum": 0, - "type": "number" - }, - "volumeDb": { - "type": "number" - } - }, - "required": [ - "kind", - "mediaId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "componentId": { - "minLength": 1, - "type": "string" - }, - "execution": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "kind": { - "const": "component", - "type": "string" - }, - "placement": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "clip", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "content-slots", - "type": "string" - }, - "slots": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "ownership": { - "enum": [ - "reference", - "exclusive" - ], - "type": "string" - }, - "targetClipIds": { - "items": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "targetClipIds", - "ownership" - ], - "type": "object" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind", - "slots" - ], - "type": "object" - } - ] - }, - "props": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "retired": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "componentId", - "props" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "space": { - "const": "scene", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "space", - "x", - "y" - ], - "type": "object" - }, - "kind": { - "const": "overlay", - "type": "string" - }, - "parallax": { - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "params": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "pattern": "^(?!custom$)", - "type": "string" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "primitiveId", - "params" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "component": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } - ] - }, - "kind": { - "const": "effect", - "type": "string" - }, - "params": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "targetTrackIds": { - "items": { - "minLength": 1, - "type": "string" - }, - "minItems": 1, - "type": "array" - }, - "wrapperOrder": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "html": { - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "card", - "type": "string" - }, - "tokens": { - "additionalProperties": { - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "zPlane": { - "const": "front", - "type": "string" - } - }, - "required": [ - "kind", - "html" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "compositionId": { - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "composition", - "type": "string" - }, - "trim": { - "additionalProperties": false, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - } - }, - "required": [ - "kind", - "compositionId" - ], - "type": "object" - } -] - added
Input schema / properties / body / properties / seededGraphics / items / properties / source / oneOfAdded value: +[ + { + "additionalProperties": {}, + "properties": { + "anchor": { + "additionalProperties": {}, + "properties": { + "clipId": { + "minLength": 1, + "type": "string" + }, + "offsetMs": { + "type": "number" + } + }, + "required": [ + "clipId", + "offsetMs" + ], + "type": "object" + }, + "audioRole": { + "enum": [ + "sfx", + "music", + "vo", + "ambience" + ], + "type": "string" + }, + "duck": { + "additionalProperties": {}, + "properties": { + "attackMs": { + "minimum": 0, + "type": "number" + }, + "duckDb": { + "maximum": 0, + "type": "number" + }, + "releaseMs": { + "minimum": 0, + "type": "number" + }, + "windows": { + "items": { + "additionalProperties": {}, + "properties": { + "endMs": { + "type": "number" + }, + "startMs": { + "type": "number" + } + }, + "required": [ + "startMs", + "endMs" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "duckDb", + "attackMs", + "releaseMs" + ], + "type": "object" + }, + "excludedRanges": { + "items": { + "additionalProperties": {}, + "properties": { + "end": { + "minimum": 0, + "type": "number" + }, + "reason": { + "type": "string" + }, + "start": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "type": "array" + }, + "fadeInMs": { + "minimum": 0, + "type": "number" + }, + "fadeOutMs": { + "minimum": 0, + "type": "number" + }, + "kenBurns": { + "enum": [ + "in", + "out", + "pan-l", + "pan-r", + "none" + ], + "type": "string" + }, + "kind": { + "const": "media", + "type": "string" + }, + "loop": { + "type": "boolean" + }, + "mediaId": { + "type": "string" + }, + "muted": { + "type": "boolean" + }, + "playbackRate": { + "exclusiveMinimum": 0, + "type": "number" + }, + "reframe": { + "additionalProperties": {}, + "properties": { + "segments": { + "items": { + "additionalProperties": {}, + "properties": { + "bias": { + "additionalProperties": {}, + "description": "Optional FINE framing nudge off the focus center, source-normalized in [−0.3, 0.3]. A small correction (headroom, rule-of-thirds), NOT a reframe — use `focus`/`zoom` for the actual shot. Omit (treated as 0) to sit dead-center on the focus.", + "properties": { + "x": { + "description": "Horizontal nudge, source-normalized (+ = right).", + "maximum": 0.3, + "minimum": -0.3, + "type": "number" + }, + "y": { + "description": "Vertical nudge, source-normalized (+ = down).", + "maximum": 0.3, + "minimum": -0.3, + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "type": "object" + }, + "ease": { + "additionalProperties": {}, + "description": "Zoom/center ramp DURATIONS in SECONDS at this segment's edges — NOT a unitless 0–1 curve. ~0.3–0.6s reads as a snappy push; >1s reads sluggish. Keep `in` + `out` ≤ the segment's duration (endSec − startSec): the two edges share the span, so to ramp across the WHOLE segment set one edge to the full duration and the other to 0. Omit for an instant cut to this framing.", + "properties": { + "in": { + "description": "Ease-IN ramp DURATION in seconds at the segment START.", + "minimum": 0, + "type": "number" + }, + "out": { + "description": "Ease-OUT ramp DURATION in seconds at the segment END.", + "minimum": 0, + "type": "number" + } + }, + "required": [ + "in", + "out" + ], + "type": "object" + }, + "endSec": { + "description": "Segment END in seconds, clip-relative. The span (endSec − startSec) is this segment's duration — the window `ease` ramps over.", + "exclusiveMinimum": 0, + "type": "number" + }, + "focus": { + "description": "WHO/WHAT the camera tracks this segment (the reframe center), selected by `mode`: `frame-center` = no tracking, hold the geometric center (static/graphic footage, or a pure zoom); `point` = lock to a fixed source-normalized {x,y} (a non-moving on-screen element); `face` = track a detected face by `faceId` (from get_media_context), with optional `shotScale` close|standard|wide for tightness; `all-faces` = frame the bounding box of every detected face (group/ensemble shots); `active-speaker` = follow whoever is speaking (diarized talking-head / podcast). Pick by what the beat is about; pair with `zoom` for how tight.", + "oneOf": [ + { + "additionalProperties": {}, + "properties": { + "mode": { + "const": "frame-center", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "mode": { + "const": "point", + "type": "string" + }, + "x": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "mode", + "x", + "y" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "faceId": { + "minLength": 1, + "type": "string" + }, + "mode": { + "const": "face", + "type": "string" + }, + "shotScale": { + "enum": [ + "close", + "standard", + "wide" + ], + "type": "string" + } + }, + "required": [ + "mode", + "faceId" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "mode": { + "const": "all-faces", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "mode": { + "const": "active-speaker", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" + } + ] + }, + "intent": { + "description": "Optional editorial LABEL for diff/log readability (e.g. 'speaker-tight', 'wide-context'). Cosmetic — NOT honored by the derive math and excluded from the variant cache key.", + "type": "string" + }, + "startSec": { + "description": "Segment START in seconds, clip-relative. Segments tile the clip's duration in order.", + "minimum": 0, + "type": "number" + }, + "zoom": { + "description": "How TIGHT the framing is — the fraction of the source the output viewport shows. <1 punches IN (a smaller source fraction, magnified to fill the frame); 1 = the full frame (no crop). ~0.6–0.8 is a moderate push-in, ~0.5 a tight close-up, 0.1 the maximum zoom. There is NO zoom-OUT past the full frame (max 1). Omit for the full frame. MUTUALLY EXCLUSIVE with `focus.shotScale`: a face-tracked shot is sized EITHER by the editorial scale (shotScale, calibrated to the detected face) OR by an explicit zoom — never both.", + "maximum": 1, + "minimum": 0.1, + "type": "number" + } + }, + "required": [ + "startSec", + "endSec", + "focus" + ], + "type": "object" + }, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "segments" + ], + "type": "object" + }, + "sync": { + "enum": [ + "video", + "independent" + ], + "type": "string" + }, + "trim": { + "additionalProperties": {}, + "properties": { + "end": { + "minimum": 0, + "type": "number" + }, + "start": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "volume": { + "maximum": 4, + "minimum": 0, + "type": "number" + }, + "volumeDb": { + "type": "number" + } + }, + "required": [ + "kind", + "mediaId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "componentId": { + "minLength": 1, + "type": "string" + }, + "execution": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } + ] + }, + "kind": { + "const": "component", + "type": "string" + }, + "placement": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "clip", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "content-slots", + "type": "string" + }, + "slots": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "ownership": { + "enum": [ + "reference", + "exclusive" + ], + "type": "string" + }, + "targetClipIds": { + "items": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "targetClipIds", + "ownership" + ], + "type": "object" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "kind", + "slots" + ], + "type": "object" + } + ] + }, + "props": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "retired": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "zPlane": { + "enum": [ + "front", + "behind-subject" + ], + "type": "string" + } + }, + "required": [ + "kind", + "componentId", + "props" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "anchor": { + "additionalProperties": {}, + "properties": { + "space": { + "const": "scene", + "type": "string" + }, + "x": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "space", + "x", + "y" + ], + "type": "object" + }, + "kind": { + "const": "overlay", + "type": "string" + }, + "parallax": { + "maximum": 0.3, + "minimum": -0.3, + "type": "number" + }, + "params": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "pattern": "^(?!custom$)", + "type": "string" + }, + "zPlane": { + "enum": [ + "front", + "behind-subject" + ], + "type": "string" + } + }, + "required": [ + "kind", + "primitiveId", + "params" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "component": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } + ] + }, + "kind": { + "const": "effect", + "type": "string" + }, + "params": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "type": "string" + }, + "targetTrackIds": { + "items": { + "minLength": 1, + "type": "string" + }, + "minItems": 1, + "type": "array" + }, + "wrapperOrder": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "html": { + "minLength": 1, + "type": "string" + }, + "kind": { + "const": "card", + "type": "string" + }, + "tokens": { + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "zPlane": { + "const": "front", + "type": "string" + } + }, + "required": [ + "kind", + "html" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "compositionId": { + "minLength": 1, + "type": "string" + }, + "kind": { + "const": "composition", + "type": "string" + }, + "trim": { + "additionalProperties": {}, + "properties": { + "end": { + "minimum": 0, + "type": "number" + }, + "start": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "compositionId" + ], + "type": "object" + } +] - changed
Input schema / properties / body / properties / seededGraphics / items / properties / transitionIn / additionalPropertiesPrevious value: -falseNew value: +{} - removed
Input schema / properties / body / properties / seededGraphics / items / properties / transitionIn / properties / component / anyOfRemoved value: -[ - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 4, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - } -] - added
Input schema / properties / body / properties / seededGraphics / items / properties / transitionIn / properties / component / oneOfAdded value: +[ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } +] - added
Input schema / properties / body / properties / seededGraphics / items / properties / tweens / items / properties / keyframes / properties / keyframes / items / properties / properties / propertiesAdded value: +{}
- Changed
update_component23 fields changed- removed
Input schema / properties / body / properties / concurrency / anyOfRemoved value: -[ - { - "additionalProperties": false, - "properties": { - "expectedRevision": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "mode": { - "const": "exact", - "type": "string" - } - }, - "required": [ - "mode", - "expectedRevision" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "basis": { - "items": { - "additionalProperties": false, - "properties": { - "key": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "token": { - "maxLength": 65536, - "type": "string" - } - }, - "required": [ - "key", - "token" - ], - "type": "object" - }, - "maxItems": 2048, - "type": "array" - }, - "compositionId": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "mode": { - "const": "guarded", - "type": "string" - }, - "observedRevision": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "mode", - "observedRevision", - "basis" - ], - "type": "object" - } -] - added
Input schema / properties / body / properties / concurrency / oneOfAdded value: +[ + { + "additionalProperties": false, + "properties": { + "expectedRevision": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "mode": { + "const": "exact", + "type": "string" + } + }, + "required": [ + "mode", + "expectedRevision" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "basis": { + "items": { + "additionalProperties": false, + "properties": { + "key": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "token": { + "maxLength": 65536, + "type": "string" + } + }, + "required": [ + "key", + "token" + ], + "type": "object" + }, + "maxItems": 2048, + "type": "array" + }, + "compositionId": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "mode": { + "const": "guarded", + "type": "string" + }, + "observedRevision": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "mode", + "observedRevision", + "basis" + ], + "type": "object" + } +] - added
Input schema / properties / body / properties / examples / items / propertiesAdded value: +{} - added
Input schema / properties / body / properties / propSchema / propertiesAdded value: +{} - removed
Input schema / properties / body / properties / source / properties / definition / properties / capabilities / items / anyOfRemoved value: -[ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "clip", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "cut-transition", - "type": "string" - }, - "protocol": { - "const": "per-child", - "type": "string" - } - }, - "required": [ - "kind", - "protocol" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "content-slots", - "type": "string" - }, - "slots": { - "items": { - "additionalProperties": false, - "properties": { - "max": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "min": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "name": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "ownership": { - "enum": [ - "reference", - "exclusive" - ], - "type": "string" - }, - "sizing": { - "enum": [ - "canvas", - "container" - ], - "type": "string" - } - }, - "required": [ - "name", - "min", - "max", - "ownership", - "sizing" - ], - "type": "object" - }, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "kind", - "slots" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "acceptsWrappedTargets": { - "type": "boolean" - }, - "kind": { - "const": "clip-wrapper", - "type": "string" - }, - "ordering": { - "enum": [ - "any", - "innermost" - ], - "type": "string" - } - }, - "required": [ - "kind", - "ordering", - "acceptsWrappedTargets" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "acceptsWrappedTargets": { - "type": "boolean" - }, - "kind": { - "const": "global-wrapper", - "type": "string" - }, - "ordering": { - "enum": [ - "any", - "innermost" - ], - "type": "string" - }, - "scope": { - "const": "media-lanes", - "type": "string" - } - }, - "required": [ - "kind", - "scope", - "ordering", - "acceptsWrappedTargets" - ], - "type": "object" - } -] - added
Input schema / properties / body / properties / source / properties / definition / properties / capabilities / items / oneOfAdded value: +[ + { + "properties": { + "kind": { + "const": "clip", + "type": "string" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + { + "properties": { + "kind": { + "const": "cut-transition", + "type": "string" + }, + "protocol": { + "const": "per-child", + "type": "string" + } + }, + "required": [ + "kind", + "protocol" + ], + "type": "object" + }, + { + "properties": { + "kind": { + "const": "content-slots", + "type": "string" + }, + "slots": { + "items": { + "additionalProperties": false, + "properties": { + "max": { + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + }, + "min": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "name": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "ownership": { + "enum": [ + "reference", + "exclusive" + ], + "type": "string" + }, + "sizing": { + "enum": [ + "canvas", + "container" + ], + "type": "string" + } + }, + "required": [ + "name", + "min", + "max", + "ownership", + "sizing" + ], + "type": "object" + }, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "kind", + "slots" + ], + "type": "object" + }, + { + "properties": { + "acceptsWrappedTargets": { + "type": "boolean" + }, + "kind": { + "const": "clip-wrapper", + "type": "string" + }, + "ordering": { + "enum": [ + "any", + "innermost" + ], + "type": "string" + } + }, + "required": [ + "kind", + "ordering", + "acceptsWrappedTargets" + ], + "type": "object" + }, + { + "properties": { + "acceptsWrappedTargets": { + "type": "boolean" + }, + "kind": { + "const": "global-wrapper", + "type": "string" + }, + "ordering": { + "enum": [ + "any", + "innermost" + ], + "type": "string" + }, + "scope": { + "const": "media-lanes", + "type": "string" + } + }, + "required": [ + "kind", + "scope", + "ordering", + "acceptsWrappedTargets" + ], + "type": "object" + } +] - added
Input schema / properties / body / properties / source / properties / definition / properties / defaults / propertiesAdded value: +{} - added
Input schema / properties / body / properties / source / properties / definition / properties / inputSchema / propertiesAdded value: +{} - removed
Input schema / properties / body / properties / source / properties / definition / properties / mediaBindings / items / properties / mediaDemand / anyOfRemoved value: -[ - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "original", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "tier", - "type": "string" - }, - "tier": { - "anyOf": [ - { - "const": 256, - "type": "number" - }, - { - "const": 512, - "type": "number" - }, - { - "const": 1024, - "type": "number" - }, - { - "const": 2048, - "type": "number" - } - ] - } - }, - "required": [ - "mode", - "tier" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "maxProjectedHeightRatio": { - "exclusiveMinimum": 0, - "maximum": 64, - "type": "number" - }, - "maxProjectedWidthRatio": { - "exclusiveMinimum": 0, - "maximum": 64, - "type": "number" - }, - "minVisibleSourceHeightRatio": { - "default": 1, - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "minVisibleSourceWidthRatio": { - "default": 1, - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "mode": { - "const": "auto", - "type": "string" - } - }, - "required": [ - "mode", - "maxProjectedWidthRatio", - "maxProjectedHeightRatio" - ], - "type": "object" - } -] - added
Input schema / properties / body / properties / source / properties / definition / properties / mediaBindings / items / properties / mediaDemand / oneOfAdded value: +[ + { + "properties": { + "mode": { + "const": "original", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" + }, + { + "properties": { + "mode": { + "const": "tier", + "type": "string" + }, + "tier": { + "anyOf": [ + { + "const": 256, + "type": "number" + }, + { + "const": 512, + "type": "number" + }, + { + "const": 1024, + "type": "number" + }, + { + "const": 2048, + "type": "number" + } + ] + } + }, + "required": [ + "mode", + "tier" + ], + "type": "object" + }, + { + "properties": { + "maxProjectedHeightRatio": { + "exclusiveMinimum": 0, + "maximum": 64, + "type": "number" + }, + "maxProjectedWidthRatio": { + "exclusiveMinimum": 0, + "maximum": 64, + "type": "number" + }, + "minVisibleSourceHeightRatio": { + "default": 1, + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "minVisibleSourceWidthRatio": { + "default": 1, + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "mode": { + "const": "auto", + "type": "string" + } + }, + "required": [ + "mode", + "maxProjectedWidthRatio", + "maxProjectedHeightRatio" + ], + "type": "object" + } +] - added
Input schema / properties / body / properties / source / properties / definition / properties / preview / properties / assets / propertiesAdded value: +{} - added
Input schema / properties / body / properties / source / properties / definition / properties / preview / properties / assets / propertyNames / maxLengthAdded value: +128 - added
Input schema / properties / body / properties / source / properties / definition / properties / preview / properties / assets / propertyNames / minLengthAdded value: +1 - changed
Input schema / properties / body / properties / source / properties / definition / properties / preview / properties / format / additionalPropertiesPrevious value: -falseNew value: +{} - added
Input schema / properties / body / properties / source / properties / definition / properties / preview / properties / mediaBindings / propertiesAdded value: +{} - added
Input schema / properties / body / properties / source / properties / definition / properties / preview / properties / mediaBindings / propertyNames / maxLengthAdded value: +128 - added
Input schema / properties / body / properties / source / properties / definition / properties / preview / properties / mediaBindings / propertyNames / minLengthAdded value: +1 - added
Input schema / properties / body / properties / source / properties / definition / properties / preview / properties / params / propertiesAdded value: +{} - removed
Input schema / properties / body / properties / source / properties / manifest / properties / assets / additionalProperties / properties / mediaDemand / anyOfRemoved value: -[ - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "original", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "tier", - "type": "string" - }, - "tier": { - "anyOf": [ - { - "const": 256, - "type": "number" - }, - { - "const": 512, - "type": "number" - }, - { - "const": 1024, - "type": "number" - }, - { - "const": 2048, - "type": "number" - } - ] - } - }, - "required": [ - "mode", - "tier" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "maxProjectedHeightRatio": { - "exclusiveMinimum": 0, - "maximum": 64, - "type": "number" - }, - "maxProjectedWidthRatio": { - "exclusiveMinimum": 0, - "maximum": 64, - "type": "number" - }, - "minVisibleSourceHeightRatio": { - "default": 1, - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "minVisibleSourceWidthRatio": { - "default": 1, - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "mode": { - "const": "auto", - "type": "string" - } - }, - "required": [ - "mode", - "maxProjectedWidthRatio", - "maxProjectedHeightRatio" - ], - "type": "object" - } -] - added
Input schema / properties / body / properties / source / properties / manifest / properties / assets / additionalProperties / properties / mediaDemand / oneOfAdded value: +[ + { + "properties": { + "mode": { + "const": "original", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" + }, + { + "properties": { + "mode": { + "const": "tier", + "type": "string" + }, + "tier": { + "anyOf": [ + { + "const": 256, + "type": "number" + }, + { + "const": 512, + "type": "number" + }, + { + "const": 1024, + "type": "number" + }, + { + "const": 2048, + "type": "number" + } + ] + } + }, + "required": [ + "mode", + "tier" + ], + "type": "object" + }, + { + "properties": { + "maxProjectedHeightRatio": { + "exclusiveMinimum": 0, + "maximum": 64, + "type": "number" + }, + "maxProjectedWidthRatio": { + "exclusiveMinimum": 0, + "maximum": 64, + "type": "number" + }, + "minVisibleSourceHeightRatio": { + "default": 1, + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "minVisibleSourceWidthRatio": { + "default": 1, + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "mode": { + "const": "auto", + "type": "string" + } + }, + "required": [ + "mode", + "maxProjectedWidthRatio", + "maxProjectedHeightRatio" + ], + "type": "object" + } +] - added
Input schema / properties / body / properties / source / properties / manifest / properties / assets / propertiesAdded value: +{} - added
Input schema / properties / body / properties / source / properties / manifest / properties / assets / propertyNames / minLengthAdded value: +1 - added
Input schema / properties / body / properties / tokens / propertiesAdded value: +{}
- Changed
update_project1 field changed- changed
Input schema / properties / body / properties / format / additionalPropertiesPrevious value: -falseNew value: +{}
- Changed
update_webhook1 field changed- added
Input schema / properties / body / properties / url / exampleAdded value: +"https://hooks.example.com/cueframe"
17 tool updates
- Changed
apply_composition15 fields changed- changed
Input schema / $defs / __schema0 / anyOfPrevious value: -[ - { - "type": "null" - }, - { - "type": "boolean" - }, - { - "type": "number" - }, - { - "type": "string" - }, - { - "items": { - "$ref": "#/$defs/__schema0" - }, - "type": "array" - }, - { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - } -]New value: +[ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "items": { + "$ref": "#/$defs/__schema0" + }, + "type": "array" + }, + { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } +] - changed
Input schema / $defs / __schema1 / anyOfPrevious value: -[ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - }, - { - "items": { - "$ref": "#/$defs/__schema1" - }, - "type": "array" - }, - { - "additionalProperties": { - "$ref": "#/$defs/__schema1" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "children": { + "items": { + "$ref": "#/$defs/__schema1" + }, + "maxItems": 16, + "minItems": 1, + "type": "array" + }, + "id": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", + "type": "string" + }, + "kind": { + "const": "group", + "type": "string" + }, + "opacity": { + "default": 1, + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "transform": { + "additionalProperties": false, + "default": { + "position": [ + 0, + 0, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "scale": 1 + }, + "properties": { + "position": { + "default": [ + 0, + 0, + 0 + ], + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "type": "array" + }, + "rotation": { + "default": [ + 0, + 0, + 0 + ], + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "type": "array" + }, + "scale": { + "default": 1, + "exclusiveMinimum": 0, + "type": "number" + } + }, + "type": "object" + } + }, + "required": [ + "kind", + "id", + "children" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "id": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", + "type": "string" + }, + "kind": { + "const": "laptop", + "type": "string" + }, + "materials": { + "items": { + "additionalProperties": false, + "properties": { + "anisotropy": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "anisotropyRotation": { + "type": "number" + }, + "clearcoat": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "clearcoatRoughness": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "color": { + "anyOf": [ + { + "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", + "type": "string" + }, + { + "enum": [ + "$brand:colors.background", + "$brand:colors.surface", + "$brand:colors.text", + "$brand:colors.textMuted", + "$brand:colors.accent", + "$brand:colors.accentStrong", + "$brand:colors.accentSoft", + "$brand:colors.success", + "$brand:colors.warning", + "$brand:colors.danger" + ], + "type": "string" + } + ] + }, + "ior": { + "maximum": 2.333, + "minimum": 1, + "type": "number" + }, + "metalness": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "reflectivity": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "role": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "roughness": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "type": { + "enum": [ + "physical", + "unlit" + ], + "type": "string" + } + }, + "required": [ + "role", + "type" + ], + "type": "object" + }, + "maxItems": 16, + "type": "array" + }, + "opacity": { + "default": 1, + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "openAngle": { + "maximum": 3.141592653589793, + "minimum": 0, + "type": "number" + }, + "surfaces": { + "additionalProperties": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "assetSlot": { + "description": "Image asset slot name bound by the clip assets map; never a URL.", + "maxLength": 64, + "minLength": 1, + "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", + "type": "string" + }, + "source": { + "const": "image", + "type": "string" + } + }, + "required": [ + "source", + "assetSlot" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "color": { + "anyOf": [ + { + "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", + "type": "string" + }, + { + "enum": [ + "$brand:colors.background", + "$brand:colors.surface", + "$brand:colors.text", + "$brand:colors.textMuted", + "$brand:colors.accent", + "$brand:colors.accentStrong", + "$brand:colors.accentSoft", + "$brand:colors.success", + "$brand:colors.warning", + "$brand:colors.danger" + ], + "type": "string" + } + ] + }, + "source": { + "const": "color", + "type": "string" + } + }, + "required": [ + "source", + "color" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "bakeScale": { + "anyOf": [ + { + "const": 2, + "type": "number" + }, + { + "const": 3, + "type": "number" + } + ], + "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." + }, + "captureFrame": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "component": { + "additionalProperties": false, + "properties": { + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 1, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId" + ], + "type": "object" + }, + "layout": { + "additionalProperties": false, + "properties": { + "height": { + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + }, + "width": { + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + } + }, + "required": [ + "width", + "height" + ], + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema2" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "source": { + "const": "component", + "type": "string" + } + }, + "required": [ + "source", + "component", + "captureFrame", + "layout" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "endFrame": { + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + }, + "mediaId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "source": { + "const": "video", + "type": "string" + }, + "startFrame": { + "default": 0, + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "source", + "mediaId" + ], + "type": "object" + } + ] + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "transform": { + "additionalProperties": false, + "default": { + "position": [ + 0, + 0, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "scale": 1 + }, + "properties": { + "position": { + "default": [ + 0, + 0, + 0 + ], + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "type": "array" + }, + "rotation": { + "default": [ + 0, + 0, + 0 + ], + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "type": "array" + }, + "scale": { + "default": 1, + "exclusiveMinimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "width": { + "maximum": 4000, + "minimum": 200, + "type": "number" + } + }, + "required": [ + "kind", + "id", + "width", + "openAngle" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "id": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", + "type": "string" + }, + "kind": { + "const": "phone", + "type": "string" + }, + "materials": { + "items": { + "additionalProperties": false, + "properties": { + "anisotropy": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "anisotropyRotation": { + "type": "number" + }, + "clearcoat": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "clearcoatRoughness": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "color": { + "anyOf": [ + { + "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", + "type": "string" + }, + { + "enum": [ + "$brand:colors.background", + "$brand:colors.surface", + "$brand:colors.text", + "$brand:colors.textMuted", + "$brand:colors.accent", + "$brand:colors.accentStrong", + "$brand:colors.accentSoft", + "$brand:colors.success", + "$brand:colors.warning", + "$brand:colors.danger" + ], + "type": "string" + } + ] + }, + "ior": { + "maximum": 2.333, + "minimum": 1, + "type": "number" + }, + "metalness": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "reflectivity": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "role": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "roughness": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "type": { + "enum": [ + "physical", + "unlit" + ], + "type": "string" + } + }, + "required": [ + "role", + "type" + ], + "type": "object" + }, + "maxItems": 16, + "type": "array" + }, + "opacity": { + "default": 1, + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "surfaces": { + "additionalProperties": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "assetSlot": { + "description": "Image asset slot name bound by the clip assets map; never a URL.", + "maxLength": 64, + "minLength": 1, + "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", + "type": "string" + }, + "source": { + "const": "image", + "type": "string" + } + }, + "required": [ + "source", + "assetSlot" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "color": { + "anyOf": [ + { + "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", + "type": "string" + }, + { + "enum": [ + "$brand:colors.background", + "$brand:colors.surface", + "$brand:colors.text", + "$brand:colors.textMuted", + "$brand:colors.accent", + "$brand:colors.accentStrong", + "$brand:colors.accentSoft", + "$brand:colors.success", + "$brand:colors.warning", + "$brand:colors.danger" + ], + "type": "string" + } + ] + }, + "source": { + "const": "color", + "type": "string" + } + }, + "required": [ + "source", + "color" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "bakeScale": { + "anyOf": [ + { + "const": 2, + "type": "number" + }, + { + "const": 3, + "type": "number" + } + ], + "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." + }, + "captureFrame": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "component": { + "additionalProperties": false, + "properties": { + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 1, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId" + ], + "type": "object" + }, + "layout": { + "additionalProperties": false, + "properties": { + "height": { + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + }, + "width": { + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + } + }, + "required": [ + "width", + "height" + ], + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema2" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "source": { + "const": "component", + "type": "string" + } + }, + "required": [ + "source", + "component", + "captureFrame", + "layout" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "endFrame": { + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + }, + "mediaId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "source": { + "const": "video", + "type": "string" + }, + "startFrame": { + "default": 0, + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "source", + "mediaId" + ], + "type": "object" + } + ] + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "transform": { + "additionalProperties": false, + "default": { + "position": [ + 0, + 0, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "scale": 1 + }, + "properties": { + "position": { + "default": [ + 0, + 0, + 0 + ], + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "type": "array" + }, + "rotation": { + "default": [ + 0, + 0, + 0 + ], + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "type": "array" + }, + "scale": { + "default": 1, + "exclusiveMinimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "width": { + "maximum": 2000, + "minimum": 80, + "type": "number" + } + }, + "required": [ + "kind", + "id", + "width" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "cornerRadius": { + "default": 32, + "minimum": 0, + "type": "number" + }, + "edgeRadius": { + "default": 15, + "minimum": 0, + "type": "number" + }, + "finish": { + "default": "satin", + "enum": [ + "satin", + "brushed" + ], + "type": "string" + }, + "height": { + "maximum": 8000, + "minimum": 40, + "type": "number" + }, + "id": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", + "type": "string" + }, + "kind": { + "const": "slab", + "type": "string" + }, + "materials": { + "items": { + "additionalProperties": false, + "properties": { + "anisotropy": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "anisotropyRotation": { + "type": "number" + }, + "clearcoat": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "clearcoatRoughness": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "color": { + "anyOf": [ + { + "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", + "type": "string" + }, + { + "enum": [ + "$brand:colors.background", + "$brand:colors.surface", + "$brand:colors.text", + "$brand:colors.textMuted", + "$brand:colors.accent", + "$brand:colors.accentStrong", + "$brand:colors.accentSoft", + "$brand:colors.success", + "$brand:colors.warning", + "$brand:colors.danger" + ], + "type": "string" + } + ] + }, + "ior": { + "maximum": 2.333, + "minimum": 1, + "type": "number" + }, + "metalness": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "reflectivity": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "role": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "roughness": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "type": { + "enum": [ + "physical", + "unlit" + ], + "type": "string" + } + }, + "required": [ + "role", + "type" + ], + "type": "object" + }, + "maxItems": 16, + "type": "array" + }, + "opacity": { + "default": 1, + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "surfaces": { + "additionalProperties": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "assetSlot": { + "description": "Image asset slot name bound by the clip assets map; never a URL.", + "maxLength": 64, + "minLength": 1, + "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", + "type": "string" + }, + "source": { + "const": "image", + "type": "string" + } + }, + "required": [ + "source", + "assetSlot" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "color": { + "anyOf": [ + { + "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", + "type": "string" + }, + { + "enum": [ + "$brand:colors.background", + "$brand:colors.surface", + "$brand:colors.text", + "$brand:colors.textMuted", + "$brand:colors.accent", + "$brand:colors.accentStrong", + "$brand:colors.accentSoft", + "$brand:colors.success", + "$brand:colors.warning", + "$brand:colors.danger" + ], + "type": "string" + } + ] + }, + "source": { + "const": "color", + "type": "string" + } + }, + "required": [ + "source", + "color" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "bakeScale": { + "anyOf": [ + { + "const": 2, + "type": "number" + }, + { + "const": 3, + "type": "number" + } + ], + "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." + }, + "captureFrame": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "component": { + "additionalProperties": false, + "properties": { + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 1, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId" + ], + "type": "object" + }, + "layout": { + "additionalProperties": false, + "properties": { + "height": { + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + }, + "width": { + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + } + }, + "required": [ + "width", + "height" + ], + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema2" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "source": { + "const": "component", + "type": "string" + } + }, + "required": [ + "source", + "component", + "captureFrame", + "layout" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "endFrame": { + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + }, + "mediaId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "source": { + "const": "video", + "type": "string" + }, + "startFrame": { + "default": 0, + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "source", + "mediaId" + ], + "type": "object" + } + ] + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "thickness": { + "default": 32, + "maximum": 200, + "minimum": 4, + "type": "number" + }, + "transform": { + "additionalProperties": false, + "default": { + "position": [ + 0, + 0, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "scale": 1 + }, + "properties": { + "position": { + "default": [ + 0, + 0, + 0 + ], + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "type": "array" + }, + "rotation": { + "default": [ + 0, + 0, + 0 + ], + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "type": "array" + }, + "scale": { + "default": 1, + "exclusiveMinimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "width": { + "maximum": 8000, + "minimum": 40, + "type": "number" + } + }, + "required": [ + "kind", + "id", + "width", + "height" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "backface": { + "default": "hidden", + "enum": [ + "hidden", + "visible" + ], + "type": "string" + }, + "depthWrite": { + "default": true, + "type": "boolean" + }, + "fit": { + "default": "contain", + "enum": [ + "contain", + "cover" + ], + "type": "string" + }, + "height": { + "maximum": 8000, + "minimum": 40, + "type": "number" + }, + "id": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", + "type": "string" + }, + "kind": { + "const": "page", + "type": "string" + }, + "materials": { + "items": { + "additionalProperties": false, + "properties": { + "anisotropy": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "anisotropyRotation": { + "type": "number" + }, + "clearcoat": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "clearcoatRoughness": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "color": { + "anyOf": [ + { + "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", + "type": "string" + }, + { + "enum": [ + "$brand:colors.background", + "$brand:colors.surface", + "$brand:colors.text", + "$brand:colors.textMuted", + "$brand:colors.accent", + "$brand:colors.accentStrong", + "$brand:colors.accentSoft", + "$brand:colors.success", + "$brand:colors.warning", + "$brand:colors.danger" + ], + "type": "string" + } + ] + }, + "ior": { + "maximum": 2.333, + "minimum": 1, + "type": "number" + }, + "metalness": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "reflectivity": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "role": { + "maxLength": 64, + "minLength": 1, + "type": "string" + }, + "roughness": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "type": { + "enum": [ + "physical", + "unlit" + ], + "type": "string" + } + }, + "required": [ + "role", + "type" + ], + "type": "object" + }, + "maxItems": 16, + "type": "array" + }, + "opacity": { + "default": 1, + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "surfaces": { + "additionalProperties": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "assetSlot": { + "description": "Image asset slot name bound by the clip assets map; never a URL.", + "maxLength": 64, + "minLength": 1, + "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", + "type": "string" + }, + "source": { + "const": "image", + "type": "string" + } + }, + "required": [ + "source", + "assetSlot" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "color": { + "anyOf": [ + { + "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", + "type": "string" + }, + { + "enum": [ + "$brand:colors.background", + "$brand:colors.surface", + "$brand:colors.text", + "$brand:colors.textMuted", + "$brand:colors.accent", + "$brand:colors.accentStrong", + "$brand:colors.accentSoft", + "$brand:colors.success", + "$brand:colors.warning", + "$brand:colors.danger" + ], + "type": "string" + } + ] + }, + "source": { + "const": "color", + "type": "string" + } + }, + "required": [ + "source", + "color" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "bakeScale": { + "anyOf": [ + { + "const": 2, + "type": "number" + }, + { + "const": 3, + "type": "number" + } + ], + "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." + }, + "captureFrame": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "component": { + "additionalProperties": false, + "properties": { + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 1, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId" + ], + "type": "object" + }, + "layout": { + "additionalProperties": false, + "properties": { + "height": { + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + }, + "width": { + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + } + }, + "required": [ + "width", + "height" + ], + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema2" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "source": { + "const": "component", + "type": "string" + } + }, + "required": [ + "source", + "component", + "captureFrame", + "layout" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "endFrame": { + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + }, + "mediaId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "source": { + "const": "video", + "type": "string" + }, + "startFrame": { + "default": 0, + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "source", + "mediaId" + ], + "type": "object" + } + ] + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "transform": { + "additionalProperties": false, + "default": { + "position": [ + 0, + 0, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "scale": 1 + }, + "properties": { + "position": { + "default": [ + 0, + 0, + 0 + ], + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "type": "array" + }, + "rotation": { + "default": [ + 0, + 0, + 0 + ], + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "type": "array" + }, + "scale": { + "default": 1, + "exclusiveMinimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "transparency": { + "default": "straight", + "enum": [ + "straight", + "premultiplied", + "opaque" + ], + "type": "string" + }, + "width": { + "maximum": 8000, + "minimum": 40, + "type": "number" + } + }, + "required": [ + "kind", + "id", + "width", + "height", + "surfaces" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "align": { + "default": "center", + "enum": [ + "left", + "center", + "right" + ], + "type": "string" + }, + "color": { + "anyOf": [ + { + "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", + "type": "string" + }, + { + "enum": [ + "$brand:colors.background", + "$brand:colors.surface", + "$brand:colors.text", + "$brand:colors.textMuted", + "$brand:colors.accent", + "$brand:colors.accentStrong", + "$brand:colors.accentSoft", + "$brand:colors.success", + "$brand:colors.warning", + "$brand:colors.danger" + ], + "type": "string" + } + ] + }, + "fontFamily": { + "anyOf": [ + { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9 _.\\-]*$", + "type": "string" + }, + { + "enum": [ + "$brand:fonts.heading", + "$brand:fonts.body", + "$brand:fonts.caption" + ], + "type": "string" + } + ] + }, + "fontSize": { + "maximum": 800, + "minimum": 8, + "type": "number" + }, + "fontStyle": { + "enum": [ + "normal", + "italic" + ], + "type": "string" + }, + "fontWeight": { + "maximum": 900, + "minimum": 100, + "type": "integer" + }, + "id": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", + "type": "string" + }, + "kind": { + "const": "text", + "type": "string" + }, + "letterSpacing": { + "default": 0, + "maximum": 40, + "minimum": -20, + "type": "number" + }, + "lineHeight": { + "default": 1.2, + "maximum": 3, + "minimum": 0.6, + "type": "number" + }, + "lines": { + "items": { + "additionalProperties": false, + "properties": { + "runs": { + "items": { + "additionalProperties": false, + "properties": { + "color": { + "anyOf": [ + { + "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", + "type": "string" + }, + { + "enum": [ + "$brand:colors.background", + "$brand:colors.surface", + "$brand:colors.text", + "$brand:colors.textMuted", + "$brand:colors.accent", + "$brand:colors.accentStrong", + "$brand:colors.accentSoft", + "$brand:colors.success", + "$brand:colors.warning", + "$brand:colors.danger" + ], + "type": "string" + } + ] + }, + "emphasis": { + "type": "boolean" + }, + "text": { + "maxLength": 512, + "minLength": 1, + "pattern": "^[^\\r\\n]+$", + "type": "string" + } + }, + "required": [ + "text" + ], + "type": "object" + }, + "maxItems": 16, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "runs" + ], + "type": "object" + }, + "maxItems": 24, + "minItems": 1, + "type": "array" + }, + "maxWidth": { + "exclusiveMinimum": 0, + "type": "number" + }, + "opacity": { + "default": 1, + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "space": { + "const": "world", + "type": "string" + }, + "transform": { + "additionalProperties": false, + "default": { + "position": [ + 0, + 0, + 0 + ], + "rotation": [ + 0, + 0, + 0 + ], + "scale": 1 + }, + "properties": { + "position": { + "default": [ + 0, + 0, + 0 + ], + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "type": "array" + }, + "rotation": { + "default": [ + 0, + 0, + 0 + ], + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "type": "array" + }, + "scale": { + "default": 1, + "exclusiveMinimum": 0, + "type": "number" + } + }, + "type": "object" + } + }, + "required": [ + "id", + "kind", + "lines", + "fontFamily", + "fontWeight", + "fontStyle", + "fontSize", + "color", + "space" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "align": { + "default": "center", + "enum": [ + "left", + "center", + "right" + ], + "type": "string" + }, + "color": { + "anyOf": [ + { + "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", + "type": "string" + }, + { + "enum": [ + "$brand:colors.background", + "$brand:colors.surface", + "$brand:colors.text", + "$brand:colors.textMuted", + "$brand:colors.accent", + "$brand:colors.accentStrong", + "$brand:colors.accentSoft", + "$brand:colors.success", + "$brand:colors.warning", + "$brand:colors.danger" + ], + "type": "string" + } + ] + }, + "fontFamily": { + "anyOf": [ + { + "maxLength": 128, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9 _.\\-]*$", + "type": "string" + }, + { + "enum": [ + "$brand:fonts.heading", + "$brand:fonts.body", + "$brand:fonts.caption" + ], + "type": "string" + } + ] + }, + "fontSize": { + "maximum": 800, + "minimum": 8, + "type": "number" + }, + "fontStyle": { + "enum": [ + "normal", + "italic" + ], + "type": "string" + }, + "fontWeight": { + "maximum": 900, + "minimum": 100, + "type": "integer" + }, + "id": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", + "type": "string" + }, + "kind": { + "const": "text", + "type": "string" + }, + "letterSpacing": { + "default": 0, + "maximum": 40, + "minimum": -20, + "type": "number" + }, + "lineHeight": { + "default": 1.2, + "maximum": 3, + "minimum": 0.6, + "type": "number" + }, + "lines": { + "items": { + "additionalProperties": false, + "properties": { + "runs": { + "items": { + "additionalProperties": false, + "properties": { + "color": { + "anyOf": [ + { + "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", + "type": "string" + }, + { + "enum": [ + "$brand:colors.background", + "$brand:colors.surface", + "$brand:colors.text", + "$brand:colors.textMuted", + "$brand:colors.accent", + "$brand:colors.accentStrong", + "$brand:colors.accentSoft", + "$brand:colors.success", + "$brand:colors.warning", + "$brand:colors.danger" + ], + "type": "string" + } + ] + }, + "emphasis": { + "type": "boolean" + }, + "text": { + "maxLength": 512, + "minLength": 1, + "pattern": "^[^\\r\\n]+$", + "type": "string" + } + }, + "required": [ + "text" + ], + "type": "object" + }, + "maxItems": 16, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "runs" + ], + "type": "object" + }, + "maxItems": 24, + "minItems": 1, + "type": "array" + }, + "maxWidth": { + "exclusiveMinimum": 0, + "type": "number" + }, + "opacity": { + "default": 1, + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "rotation": { + "default": 0, + "type": "number" + }, + "scale": { + "default": 1, + "exclusiveMinimum": 0, + "type": "number" + }, + "space": { + "const": "screen", + "type": "string" + }, + "x": { + "type": "number" + }, + "y": { + "type": "number" + } + }, + "required": [ + "id", + "kind", + "lines", + "fontFamily", + "fontWeight", + "fontStyle", + "fontSize", + "color", + "space", + "x", + "y" + ], + "type": "object" + } +] - added
Input schema / $defs / __schema2Added value: +{ + "anyOf": [ + { + "type": "null" + }, + { + "type": "boolean" + }, + { + "type": "number" + }, + { + "type": "string" + }, + { + "items": { + "$ref": "#/$defs/__schema2" + }, + "type": "array" + }, + { + "additionalProperties": { + "$ref": "#/$defs/__schema2" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + ] +} - added
Input schema / properties / body / properties / builtinSources / items / properties / sourceVersion / anyOfAdded value: +[ + { + "const": 3, + "type": "number" + }, + { + "const": 4, + "type": "number" + } +] - removed
Input schema / properties / body / properties / builtinSources / items / properties / sourceVersion / constRemoved value: -3 - removed
Input schema / properties / body / properties / builtinSources / items / properties / sourceVersion / typeRemoved value: -"number" - added
Input schema / properties / body / properties / componentExecutionVersions / anyOfAdded value: +[ + { + "items": false, + "maxItems": 1, + "minItems": 1, + "prefixItems": [ + { + "const": 3, + "type": "number" + } + ], + "type": "array" + }, + { + "items": false, + "maxItems": 2, + "minItems": 2, + "prefixItems": [ + { + "const": 3, + "type": "number" + }, + { + "const": 4, + "type": "number" + } + ], + "type": "array" + } +] - removed
Input schema / properties / body / properties / componentExecutionVersions / itemsRemoved value: -{ - "const": 3, - "type": "number" -} - removed
Input schema / properties / body / properties / componentExecutionVersions / maxItemsRemoved value: -1 - removed
Input schema / properties / body / properties / componentExecutionVersions / minItemsRemoved value: -1 - removed
Input schema / properties / body / properties / componentExecutionVersions / typeRemoved value: -"array" - removed
Input schema / properties / body / properties / concurrency / anyOfRemoved value: -[ - { - "additionalProperties": false, - "properties": { - "expectedRevision": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "mode": { - "const": "exact", - "type": "string" - } - }, - "required": [ - "mode", - "expectedRevision" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "basis": { - "items": { - "additionalProperties": false, - "properties": { - "key": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "token": { - "maxLength": 65536, - "type": "string" - } - }, - "required": [ - "key", - "token" - ], - "type": "object" - }, - "maxItems": 2048, - "type": "array" - }, - "compositionId": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "mode": { - "const": "guarded", - "type": "string" - }, - "observedRevision": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "mode", - "observedRevision", - "basis" - ], - "type": "object" - } -] - added
Input schema / properties / body / properties / concurrency / oneOfAdded value: +[ + { + "additionalProperties": false, + "properties": { + "expectedRevision": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "mode": { + "const": "exact", + "type": "string" + } + }, + "required": [ + "mode", + "expectedRevision" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "basis": { + "items": { + "additionalProperties": false, + "properties": { + "key": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "token": { + "maxLength": 65536, + "type": "string" + } + }, + "required": [ + "key", + "token" + ], + "type": "object" + }, + "maxItems": 2048, + "type": "array" + }, + "compositionId": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "mode": { + "const": "guarded", + "type": "string" + }, + "observedRevision": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "mode", + "observedRevision", + "basis" + ], + "type": "object" + } +] - removed
Input schema / properties / body / properties / ops / items / anyOfRemoved value: -[ - { - "additionalProperties": false, - "description": "Author a scene shot and place it on a dedicated overlay track. The host validates the scene, generates and registers an immutable wrapper component source, and emits the ordinary track/clip operations carrying `props.componentRef` — you edit a scene SPEC, never wrapper TSX or a source hash. Registration and the composition update are ONE undoable edit; a failure publishes nothing and leaves no clip pointing at an unresolved source. Pass EXACTLY ONE of `trackId` (an existing dedicated scene track) or `newTrack: true` (mint one). That track holds scene-shot clips and gaps only — no generic component/primitive/media clips in v1 — and existing generic overlay tracks are unaffected. Scene clips use front zPlane and full-frame placement: outer per-clip `region`, `position`, `scale`, `rotation`, `fit`, `effects`, `animate`, `params.transition`, `params.sequenceGroup` and internal fadeIn/fadeOut are REFUSED with a path, because the shot's own layer transforms are the single transform owner. TEXT: `space: \"screen\"` text is composed above the world result, stays fixed in the frame and stays sharp through focus; `space: \"world\"` text is rasterized into the 3D scene, moves with the camera and is occluded by geometry. Screenshots and world text are UNLIT and colour-managed so product UI colours are not tinted by the studio lighting, while device bodies are lit and cast shadows; an unlit surface still occludes. SCOPE GAP (pre-existing, neither closed nor changed by scene shots): global wrap effects — composition-level grades and camera effects — do not reach front-overlay clips, so they do not affect a scene shot. Author the look INSIDE the shot (`post.grain`, `post.vignette`, `post.focus`, `backdrop`, `environment`) instead. DISCOVERY: there is no built-in scene primitive to look up in list_catalog; the wrapper this operation registers appears afterwards as an ordinary INSTALLED component under the existing catalog rules. ASSETS: `assets` binds each slot name a layer references to a media id in the same project, and the slot's declared KIND decides what it admits — an image slot takes PNG, JPEG or WebP, a video slot MP4 or WebM. Binding the wrong kind is refused with the slot's path.", - "properties": { - "assets": { - "additionalProperties": { - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "clipId": { - "type": "string" - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "newTrack": { - "type": "boolean" - }, - "newTrackId": { - "type": "string" - }, - "scene": { - "additionalProperties": false, - "description": "A version-2 scene shot: a self-contained 3D world-object shot that scene.add / scene.update materializes into an ordinary component clip. The shot owns its layers, camera, lighting, backdrop and normalized local animation; the composition owns start, duration, ordering, cuts and transitions. Coordinates are REFERENCE PIXELS: origin at frame centre, +X right, +Y down, +Z toward the viewer. referenceSize must have the SAME aspect ratio as the composition format; mismatch fails instead of cropping. At equal aspect ratio the shot scales uniformly by outputWidth/referenceWidth. A segment's easing belongs to the keyframe it ARRIVES at; the first keyframe has no easing. Authoring limits: 32 layers, 4 devices, 16 distinct image slots, 256 keyframes per channel, 2048 keyframes per shot. Version 2 supports nested groups, procedural slab/page/phone/laptop objects, screen- and world-space text, admitted image/component/video surfaces, fixed photographic and generated studio environments, transparent/solid/linear/radial backdrops, constraints, focus, grain and vignette. Raw HTML, custom shader props, imported GLB models, arbitrary external HDR environments, skeletal animation and physics are refused with an exact field path.", - "properties": { - "animation": { - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "keyframes": { - "items": { - "additionalProperties": false, - "properties": { - "at": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "easing": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "linear", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "hold", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "bezier", - "type": "string" - }, - "x1": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "x2": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y1": { - "maximum": 5, - "minimum": -4, - "type": "number" - }, - "y2": { - "maximum": 5, - "minimum": -4, - "type": "number" - } - }, - "required": [ - "kind", - "x1", - "y1", - "x2", - "y2" - ], - "type": "object" - } - ] - }, - "value": { - "type": "number" - } - }, - "required": [ - "at", - "value" - ], - "type": "object" - }, - "maxItems": 256, - "minItems": 1, - "type": "array" - }, - "property": { - "enum": [ - "positionX", - "positionY", - "positionZ", - "rotationX", - "rotationY", - "rotationZ", - "fov", - "scale", - "opacity", - "openAngle", - "x", - "y", - "rotation", - "intensity", - "distance", - "range", - "maxBlur" - ], - "type": "string" - }, - "target": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "camera", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "layer", - "type": "string" - }, - "layerId": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - } - }, - "required": [ - "kind", - "layerId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "environment", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "focus", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - } - ] - } - }, - "required": [ - "target", - "property", - "keyframes" - ], - "type": "object" - }, - "type": "array" - }, - "backdrop": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "transparent", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "kind": { - "const": "solid", - "type": "string" - } - }, - "required": [ - "kind", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "angle": { - "default": 0, - "type": "number" - }, - "kind": { - "const": "linear", - "type": "string" - }, - "stops": { - "items": { - "additionalProperties": false, - "properties": { - "at": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - } - }, - "required": [ - "at", - "color" - ], - "type": "object" - }, - "maxItems": 8, - "minItems": 2, - "type": "array" - } - }, - "required": [ - "kind", - "stops" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "at": { - "default": [ - 0.5, - 0.5 - ], - "items": false, - "maxItems": 2, - "minItems": 2, - "prefixItems": [ - { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - { - "maximum": 1, - "minimum": 0, - "type": "number" - } - ], - "type": "array" - }, - "kind": { - "const": "radial", - "type": "string" - }, - "stops": { - "items": { - "additionalProperties": false, - "properties": { - "at": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - } - }, - "required": [ - "at", - "color" - ], - "type": "object" - }, - "maxItems": 8, - "minItems": 2, - "type": "array" - } - }, - "required": [ - "kind", - "stops" - ], - "type": "object" - } - ], - "default": { - "kind": "transparent" - } - }, - "camera": { - "additionalProperties": false, - "properties": { - "fov": { - "maximum": 1.3962634015954636, - "minimum": 0.3141592653589793, - "type": "number" - }, - "position": { - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - } - }, - "type": "object" - }, - "constraints": { - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "gap": { - "exclusiveMinimum": 0, - "type": "number" - }, - "kind": { - "const": "minSeparation", - "type": "string" - }, - "objects": { - "items": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "minItems": 2, - "type": "array" - } - }, - "required": [ - "kind", - "objects", - "gap" - ], - "type": "object" - }, - "type": "array" - }, - "environment": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "floorY": { - "default": -420, - "type": "number" - }, - "intensity": { - "default": 1, - "minimum": 0, - "type": "number" - }, - "kind": { - "const": "studio", - "type": "string" - }, - "lightingProfile": { - "default": "studio", - "enum": [ - "studio", - "studio-edge" - ], - "type": "string" - }, - "preset": { - "default": "soft", - "enum": [ - "soft", - "key", - "rim" - ], - "type": "string" - }, - "shadowOpacity": { - "default": 0.5, - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "photographic-studio-v1", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - } - ], - "default": { - "floorY": -420, - "intensity": 1, - "lightingProfile": "studio", - "preset": "soft", - "shadowOpacity": 0.5 - } - }, - "layers": { - "items": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "children": { - "items": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "children": { - "items": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "children": { - "items": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "children": { - "items": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "laptop", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "openAngle": { - "maximum": 3.141592653589793, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 4000, - "minimum": 200, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "openAngle" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "phone", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 2000, - "minimum": 80, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "cornerRadius": { - "default": 32, - "minimum": 0, - "type": "number" - }, - "edgeRadius": { - "default": 15, - "minimum": 0, - "type": "number" - }, - "finish": { - "default": "satin", - "enum": [ - "satin", - "brushed" - ], - "type": "string" - }, - "height": { - "maximum": 8000, - "minimum": 40, - "type": "number" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "slab", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "thickness": { - "default": 32, - "maximum": 200, - "minimum": 4, - "type": "number" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 8000, - "minimum": 40, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "height" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "backface": { - "default": "hidden", - "enum": [ - "hidden", - "visible" - ], - "type": "string" - }, - "depthWrite": { - "default": true, - "type": "boolean" - }, - "fit": { - "default": "contain", - "enum": [ - "contain", - "cover" - ], - "type": "string" - }, - "height": { - "maximum": 8000, - "minimum": 40, - "type": "number" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "page", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "transparency": { - "default": "straight", - "enum": [ - "straight", - "premultiplied", - "opaque" - ], - "type": "string" - }, - "width": { - "maximum": 8000, - "minimum": 40, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "height", - "surfaces" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "align": { - "default": "center", - "enum": [ - "left", - "center", - "right" - ], - "type": "string" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "fontFamily": { - "anyOf": [ - { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9 _.\\-]*$", - "type": "string" - }, - { - "enum": [ - "$brand:fonts.heading", - "$brand:fonts.body", - "$brand:fonts.caption" - ], - "type": "string" - } - ] - }, - "fontSize": { - "maximum": 800, - "minimum": 8, - "type": "number" - }, - "fontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "text", - "type": "string" - }, - "letterSpacing": { - "default": 0, - "maximum": 40, - "minimum": -20, - "type": "number" - }, - "lineHeight": { - "default": 1.2, - "maximum": 3, - "minimum": 0.6, - "type": "number" - }, - "lines": { - "items": { - "additionalProperties": false, - "properties": { - "runs": { - "items": { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "emphasis": { - "type": "boolean" - }, - "text": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^\\r\\n]+$", - "type": "string" - } - }, - "required": [ - "text" - ], - "type": "object" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "runs" - ], - "type": "object" - }, - "maxItems": 24, - "minItems": 1, - "type": "array" - }, - "maxWidth": { - "exclusiveMinimum": 0, - "type": "number" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "space": { - "const": "world", - "type": "string" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - } - }, - "required": [ - "id", - "kind", - "lines", - "fontFamily", - "fontWeight", - "fontStyle", - "fontSize", - "color", - "space" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "align": { - "default": "center", - "enum": [ - "left", - "center", - "right" - ], - "type": "string" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "fontFamily": { - "anyOf": [ - { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9 _.\\-]*$", - "type": "string" - }, - { - "enum": [ - "$brand:fonts.heading", - "$brand:fonts.body", - "$brand:fonts.caption" - ], - "type": "string" - } - ] - }, - "fontSize": { - "maximum": 800, - "minimum": 8, - "type": "number" - }, - "fontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "text", - "type": "string" - }, - "letterSpacing": { - "default": 0, - "maximum": 40, - "minimum": -20, - "type": "number" - }, - "lineHeight": { - "default": 1.2, - "maximum": 3, - "minimum": 0.6, - "type": "number" - }, - "lines": { - "items": { - "additionalProperties": false, - "properties": { - "runs": { - "items": { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "emphasis": { - "type": "boolean" - }, - "text": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^\\r\\n]+$", - "type": "string" - } - }, - "required": [ - "text" - ], - "type": "object" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "runs" - ], - "type": "object" - }, - "maxItems": 24, - "minItems": 1, - "type": "array" - }, - "maxWidth": { - "exclusiveMinimum": 0, - "type": "number" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "rotation": { - "default": 0, - "type": "number" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - }, - "space": { - "const": "screen", - "type": "string" - }, - "x": { - "type": "number" - }, - "y": { - "type": "number" - } - }, - "required": [ - "id", - "kind", - "lines", - "fontFamily", - "fontWeight", - "fontStyle", - "fontSize", - "color", - "space", - "x", - "y" - ], - "type": "object" - } - ] - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "group", - "type": "string" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - } - }, - "required": [ - "kind", - "id", - "children" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "laptop", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "openAngle": { - "maximum": 3.141592653589793, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 4000, - "minimum": 200, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "openAngle" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "phone", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 2000, - "minimum": 80, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "cornerRadius": { - "default": 32, - "minimum": 0, - "type": "number" - }, - "edgeRadius": { - "default": 15, - "minimum": 0, - "type": "number" - }, - "finish": { - "default": "satin", - "enum": [ - "satin", - "brushed" - ], - "type": "string" - }, - "height": { - "maximum": 8000, - "minimum": 40, - "type": "number" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "slab", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "thickness": { - "default": 32, - "maximum": 200, - "minimum": 4, - "type": "number" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 8000, - "minimum": 40, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "height" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "backface": { - "default": "hidden", - "enum": [ - "hidden", - "visible" - ], - "type": "string" - }, - "depthWrite": { - "default": true, - "type": "boolean" - }, - "fit": { - "default": "contain", - "enum": [ - "contain", - "cover" - ], - "type": "string" - }, - "height": { - "maximum": 8000, - "minimum": 40, - "type": "number" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "page", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "transparency": { - "default": "straight", - "enum": [ - "straight", - "premultiplied", - "opaque" - ], - "type": "string" - }, - "width": { - "maximum": 8000, - "minimum": 40, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "height", - "surfaces" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "align": { - "default": "center", - "enum": [ - "left", - "center", - "right" - ], - "type": "string" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "fontFamily": { - "anyOf": [ - { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9 _.\\-]*$", - "type": "string" - }, - { - "enum": [ - "$brand:fonts.heading", - "$brand:fonts.body", - "$brand:fonts.caption" - ], - "type": "string" - } - ] - }, - "fontSize": { - "maximum": 800, - "minimum": 8, - "type": "number" - }, - "fontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "text", - "type": "string" - }, - "letterSpacing": { - "default": 0, - "maximum": 40, - "minimum": -20, - "type": "number" - }, - "lineHeight": { - "default": 1.2, - "maximum": 3, - "minimum": 0.6, - "type": "number" - }, - "lines": { - "items": { - "additionalProperties": false, - "properties": { - "runs": { - "items": { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "emphasis": { - "type": "boolean" - }, - "text": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^\\r\\n]+$", - "type": "string" - } - }, - "required": [ - "text" - ], - "type": "object" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "runs" - ], - "type": "object" - }, - "maxItems": 24, - "minItems": 1, - "type": "array" - }, - "maxWidth": { - "exclusiveMinimum": 0, - "type": "number" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "space": { - "const": "world", - "type": "string" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - } - }, - "required": [ - "id", - "kind", - "lines", - "fontFamily", - "fontWeight", - "fontStyle", - "fontSize", - "color", - "space" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "align": { - "default": "center", - "enum": [ - "left", - "center", - "right" - ], - "type": "string" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "fontFamily": { - "anyOf": [ - { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9 _.\\-]*$", - "type": "string" - }, - { - "enum": [ - "$brand:fonts.heading", - "$brand:fonts.body", - "$brand:fonts.caption" - ], - "type": "string" - } - ] - }, - "fontSize": { - "maximum": 800, - "minimum": 8, - "type": "number" - }, - "fontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "text", - "type": "string" - }, - "letterSpacing": { - "default": 0, - "maximum": 40, - "minimum": -20, - "type": "number" - }, - "lineHeight": { - "default": 1.2, - "maximum": 3, - "minimum": 0.6, - "type": "number" - }, - "lines": { - "items": { - "additionalProperties": false, - "properties": { - "runs": { - "items": { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "emphasis": { - "type": "boolean" - }, - "text": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^\\r\\n]+$", - "type": "string" - } - }, - "required": [ - "text" - ], - "type": "object" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "runs" - ], - "type": "object" - }, - "maxItems": 24, - "minItems": 1, - "type": "array" - }, - "maxWidth": { - "exclusiveMinimum": 0, - "type": "number" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "rotation": { - "default": 0, - "type": "number" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - }, - "space": { - "const": "screen", - "type": "string" - }, - "x": { - "type": "number" - }, - "y": { - "type": "number" - } - }, - "required": [ - "id", - "kind", - "lines", - "fontFamily", - "fontWeight", - "fontStyle", - "fontSize", - "color", - "space", - "x", - "y" - ], - "type": "object" - } - ] - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "group", - "type": "string" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - } - }, - "required": [ - "kind", - "id", - "children" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "laptop", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "openAngle": { - "maximum": 3.141592653589793, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 4000, - "minimum": 200, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "openAngle" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "phone", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 2000, - "minimum": 80, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "cornerRadius": { - "default": 32, - "minimum": 0, - "type": "number" - }, - "edgeRadius": { - "default": 15, - "minimum": 0, - "type": "number" - }, - "finish": { - "default": "satin", - "enum": [ - "satin", - "brushed" - ], - "type": "string" - }, - "height": { - "maximum": 8000, - "minimum": 40, - "type": "number" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "slab", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "thickness": { - "default": 32, - "maximum": 200, - "minimum": 4, - "type": "number" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 8000, - "minimum": 40, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "height" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "backface": { - "default": "hidden", - "enum": [ - "hidden", - "visible" - ], - "type": "string" - }, - "depthWrite": { - "default": true, - "type": "boolean" - }, - "fit": { - "default": "contain", - "enum": [ - "contain", - "cover" - ], - "type": "string" - }, - "height": { - "maximum": 8000, - "minimum": 40, - "type": "number" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "page", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "transparency": { - "default": "straight", - "enum": [ - "straight", - "premultiplied", - "opaque" - ], - "type": "string" - }, - "width": { - "maximum": 8000, - "minimum": 40, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "height", - "surfaces" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "align": { - "default": "center", - "enum": [ - "left", - "center", - "right" - ], - "type": "string" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "fontFamily": { - "anyOf": [ - { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9 _.\\-]*$", - "type": "string" - }, - { - "enum": [ - "$brand:fonts.heading", - "$brand:fonts.body", - "$brand:fonts.caption" - ], - "type": "string" - } - ] - }, - "fontSize": { - "maximum": 800, - "minimum": 8, - "type": "number" - }, - "fontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "text", - "type": "string" - }, - "letterSpacing": { - "default": 0, - "maximum": 40, - "minimum": -20, - "type": "number" - }, - "lineHeight": { - "default": 1.2, - "maximum": 3, - "minimum": 0.6, - "type": "number" - }, - "lines": { - "items": { - "additionalProperties": false, - "properties": { - "runs": { - "items": { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "emphasis": { - "type": "boolean" - }, - "text": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^\\r\\n]+$", - "type": "string" - } - }, - "required": [ - "text" - ], - "type": "object" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "runs" - ], - "type": "object" - }, - "maxItems": 24, - "minItems": 1, - "type": "array" - }, - "maxWidth": { - "exclusiveMinimum": 0, - "type": "number" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "space": { - "const": "world", - "type": "string" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - } - }, - "required": [ - "id", - "kind", - "lines", - "fontFamily", - "fontWeight", - "fontStyle", - "fontSize", - "color", - "space" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "align": { - "default": "center", - "enum": [ - "left", - "center", - "right" - ], - "type": "string" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "fontFamily": { - "anyOf": [ - { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9 _.\\-]*$", - "type": "string" - }, - { - "enum": [ - "$brand:fonts.heading", - "$brand:fonts.body", - "$brand:fonts.caption" - ], - "type": "string" - } - ] - }, - "fontSize": { - "maximum": 800, - "minimum": 8, - "type": "number" - }, - "fontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "text", - "type": "string" - }, - "letterSpacing": { - "default": 0, - "maximum": 40, - "minimum": -20, - "type": "number" - }, - "lineHeight": { - "default": 1.2, - "maximum": 3, - "minimum": 0.6, - "type": "number" - }, - "lines": { - "items": { - "additionalProperties": false, - "properties": { - "runs": { - "items": { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "emphasis": { - "type": "boolean" - }, - "text": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^\\r\\n]+$", - "type": "string" - } - }, - "required": [ - "text" - ], - "type": "object" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "runs" - ], - "type": "object" - }, - "maxItems": 24, - "minItems": 1, - "type": "array" - }, - "maxWidth": { - "exclusiveMinimum": 0, - "type": "number" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "rotation": { - "default": 0, - "type": "number" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - }, - "space": { - "const": "screen", - "type": "string" - }, - "x": { - "type": "number" - }, - "y": { - "type": "number" - } - }, - "required": [ - "id", - "kind", - "lines", - "fontFamily", - "fontWeight", - "fontStyle", - "fontSize", - "color", - "space", - "x", - "y" - ], - "type": "object" - } - ] - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "group", - "type": "string" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - } - }, - "required": [ - "kind", - "id", - "children" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "laptop", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "openAngle": { - "maximum": 3.141592653589793, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 4000, - "minimum": 200, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "openAngle" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "phone", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 2000, - "minimum": 80, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "cornerRadius": { - "default": 32, - "minimum": 0, - "type": "number" - }, - "edgeRadius": { - "default": 15, - "minimum": 0, - "type": "number" - }, - "finish": { - "default": "satin", - "enum": [ - "satin", - "brushed" - ], - "type": "string" - }, - "height": { - "maximum": 8000, - "minimum": 40, - "type": "number" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "slab", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "thickness": { - "default": 32, - "maximum": 200, - "minimum": 4, - "type": "number" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 8000, - "minimum": 40, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "height" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "backface": { - "default": "hidden", - "enum": [ - "hidden", - "visible" - ], - "type": "string" - }, - "depthWrite": { - "default": true, - "type": "boolean" - }, - "fit": { - "default": "contain", - "enum": [ - "contain", - "cover" - ], - "type": "string" - }, - "height": { - "maximum": 8000, - "minimum": 40, - "type": "number" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "page", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "transparency": { - "default": "straight", - "enum": [ - "straight", - "premultiplied", - "opaque" - ], - "type": "string" - }, - "width": { - "maximum": 8000, - "minimum": 40, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "height", - "surfaces" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "align": { - "default": "center", - "enum": [ - "left", - "center", - "right" - ], - "type": "string" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "fontFamily": { - "anyOf": [ - { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9 _.\\-]*$", - "type": "string" - }, - { - "enum": [ - "$brand:fonts.heading", - "$brand:fonts.body", - "$brand:fonts.caption" - ], - "type": "string" - } - ] - }, - "fontSize": { - "maximum": 800, - "minimum": 8, - "type": "number" - }, - "fontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "text", - "type": "string" - }, - "letterSpacing": { - "default": 0, - "maximum": 40, - "minimum": -20, - "type": "number" - }, - "lineHeight": { - "default": 1.2, - "maximum": 3, - "minimum": 0.6, - "type": "number" - }, - "lines": { - "items": { - "additionalProperties": false, - "properties": { - "runs": { - "items": { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "emphasis": { - "type": "boolean" - }, - "text": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^\\r\\n]+$", - "type": "string" - } - }, - "required": [ - "text" - ], - "type": "object" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "runs" - ], - "type": "object" - }, - "maxItems": 24, - "minItems": 1, - "type": "array" - }, - "maxWidth": { - "exclusiveMinimum": 0, - "type": "number" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "space": { - "const": "world", - "type": "string" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - } - }, - "required": [ - "id", - "kind", - "lines", - "fontFamily", - "fontWeight", - "fontStyle", - "fontSize", - "color", - "space" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "align": { - "default": "center", - "enum": [ - "left", - "center", - "right" - ], - "type": "string" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "fontFamily": { - "anyOf": [ - { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9 _.\\-]*$", - "type": "string" - }, - { - "enum": [ - "$brand:fonts.heading", - "$brand:fonts.body", - "$brand:fonts.caption" - ], - "type": "string" - } - ] - }, - "fontSize": { - "maximum": 800, - "minimum": 8, - "type": "number" - }, - "fontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "text", - "type": "string" - }, - "letterSpacing": { - "default": 0, - "maximum": 40, - "minimum": -20, - "type": "number" - }, - "lineHeight": { - "default": 1.2, - "maximum": 3, - "minimum": 0.6, - "type": "number" - }, - "lines": { - "items": { - "additionalProperties": false, - "properties": { - "runs": { - "items": { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "emphasis": { - "type": "boolean" - }, - "text": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^\\r\\n]+$", - "type": "string" - } - }, - "required": [ - "text" - ], - "type": "object" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "runs" - ], - "type": "object" - }, - "maxItems": 24, - "minItems": 1, - "type": "array" - }, - "maxWidth": { - "exclusiveMinimum": 0, - "type": "number" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "rotation": { - "default": 0, - "type": "number" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - }, - "space": { - "const": "screen", - "type": "string" - }, - "x": { - "type": "number" - }, - "y": { - "type": "number" - } - }, - "required": [ - "id", - "kind", - "lines", - "fontFamily", - "fontWeight", - "fontStyle", - "fontSize", - "color", - "space", - "x", - "y" - ], - "type": "object" - } - ] - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "group", - "type": "string" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - } - }, - "required": [ - "kind", - "id", - "children" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "laptop", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "openAngle": { - "maximum": 3.141592653589793, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 4000, - "minimum": 200, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "openAngle" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "phone", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 2000, - "minimum": 80, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "cornerRadius": { - "default": 32, - "minimum": 0, - "type": "number" - }, - "edgeRadius": { - "default": 15, - "minimum": 0, - "type": "number" - }, - "finish": { - "default": "satin", - "enum": [ - "satin", - "brushed" - ], - "type": "string" - }, - "height": { - "maximum": 8000, - "minimum": 40, - "type": "number" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "slab", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "thickness": { - "default": 32, - "maximum": 200, - "minimum": 4, - "type": "number" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 8000, - "minimum": 40, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "height" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "backface": { - "default": "hidden", - "enum": [ - "hidden", - "visible" - ], - "type": "string" - }, - "depthWrite": { - "default": true, - "type": "boolean" - }, - "fit": { - "default": "contain", - "enum": [ - "contain", - "cover" - ], - "type": "string" - }, - "height": { - "maximum": 8000, - "minimum": 40, - "type": "number" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "page", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "transparency": { - "default": "straight", - "enum": [ - "straight", - "premultiplied", - "opaque" - ], - "type": "string" - }, - "width": { - "maximum": 8000, - "minimum": 40, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "height", - "surfaces" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "align": { - "default": "center", - "enum": [ - "left", - "center", - "right" - ], - "type": "string" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "fontFamily": { - "anyOf": [ - { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9 _.\\-]*$", - "type": "string" - }, - { - "enum": [ - "$brand:fonts.heading", - "$brand:fonts.body", - "$brand:fonts.caption" - ], - "type": "string" - } - ] - }, - "fontSize": { - "maximum": 800, - "minimum": 8, - "type": "number" - }, - "fontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "text", - "type": "string" - }, - "letterSpacing": { - "default": 0, - "maximum": 40, - "minimum": -20, - "type": "number" - }, - "lineHeight": { - "default": 1.2, - "maximum": 3, - "minimum": 0.6, - "type": "number" - }, - "lines": { - "items": { - "additionalProperties": false, - "properties": { - "runs": { - "items": { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "emphasis": { - "type": "boolean" - }, - "text": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^\\r\\n]+$", - "type": "string" - } - }, - "required": [ - "text" - ], - "type": "object" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "runs" - ], - "type": "object" - }, - "maxItems": 24, - "minItems": 1, - "type": "array" - }, - "maxWidth": { - "exclusiveMinimum": 0, - "type": "number" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "space": { - "const": "world", - "type": "string" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - } - }, - "required": [ - "id", - "kind", - "lines", - "fontFamily", - "fontWeight", - "fontStyle", - "fontSize", - "color", - "space" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "align": { - "default": "center", - "enum": [ - "left", - "center", - "right" - ], - "type": "string" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "fontFamily": { - "anyOf": [ - { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9 _.\\-]*$", - "type": "string" - }, - { - "enum": [ - "$brand:fonts.heading", - "$brand:fonts.body", - "$brand:fonts.caption" - ], - "type": "string" - } - ] - }, - "fontSize": { - "maximum": 800, - "minimum": 8, - "type": "number" - }, - "fontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "text", - "type": "string" - }, - "letterSpacing": { - "default": 0, - "maximum": 40, - "minimum": -20, - "type": "number" - }, - "lineHeight": { - "default": 1.2, - "maximum": 3, - "minimum": 0.6, - "type": "number" - }, - "lines": { - "items": { - "additionalProperties": false, - "properties": { - "runs": { - "items": { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "emphasis": { - "type": "boolean" - }, - "text": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^\\r\\n]+$", - "type": "string" - } - }, - "required": [ - "text" - ], - "type": "object" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "runs" - ], - "type": "object" - }, - "maxItems": 24, - "minItems": 1, - "type": "array" - }, - "maxWidth": { - "exclusiveMinimum": 0, - "type": "number" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "rotation": { - "default": 0, - "type": "number" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - }, - "space": { - "const": "screen", - "type": "string" - }, - "x": { - "type": "number" - }, - "y": { - "type": "number" - } - }, - "required": [ - "id", - "kind", - "lines", - "fontFamily", - "fontWeight", - "fontStyle", - "fontSize", - "color", - "space", - "x", - "y" - ], - "type": "object" - } - ] - }, - "minItems": 1, - "type": "array" - }, - "post": { - "additionalProperties": false, - "default": { - "focus": null, - "grain": 0, - "vignette": 0 - }, - "properties": { - "focus": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "distance": { - "exclusiveMinimum": 0, - "type": "number" - }, - "maxBlur": { - "maximum": 64, - "minimum": 0, - "type": "number" - }, - "range": { - "exclusiveMinimum": 0, - "type": "number" - } - }, - "required": [ - "distance", - "range", - "maxBlur" - ], - "type": "object" - }, - { - "type": "null" - } - ], - "default": null - }, - "grain": { - "default": 0, - "maximum": 0.5, - "minimum": 0, - "type": "number" - }, - "vignette": { - "default": 0, - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "referenceSize": { - "additionalProperties": false, - "properties": { - "height": { - "maximum": 8192, - "minimum": 16, - "type": "integer" - }, - "width": { - "maximum": 8192, - "minimum": 16, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "version": { - "const": 2, - "type": "number" - } - }, - "required": [ - "version", - "referenceSize", - "layers" - ], - "type": "object" - }, - "startTime": { - "minimum": 0, - "type": "number" - }, - "trackId": { - "type": "string" - }, - "transitionIn": { - "additionalProperties": false, - "description": "Inter-scene transition.", - "properties": { - "duration": { - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "cut", - "fade", - "dissolve", - "wipe" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "type": { - "const": "scene.add", - "type": "string" - } - }, - "required": [ - "type", - "clipId", - "startTime", - "duration", - "scene", - "assets" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Revise a scene shot in place by clip id. Send a replacement `scene` and/or `assets`; timing changes use the ordinary clip timing fields (`startTime`, `duration`, `transitionIn`). Omitted fields keep their persisted values and the MERGED result is re-validated as a whole, so a partial edit cannot leave the shot invalid. Changing only values or asset IDs updates props and bindings and REUSES the pinned source; changing the referenced SLOT SET regenerates the wrapper manifest and registers a new immutable source version atomically. Undo restores the source reference, spec, bindings and timing together. Topology, asset bindings, text content, font properties, device kind and colours are STATIC within a shot's animation — change them here (a revised spec) rather than trying to animate them. This is not a source trim or slip: a shortened or extended clip resamples the SAME normalized animation over its new duration, and trim/slip requests on generated animation are rejected rather than reinterpreted as media trims. In one batch, `scene.update` may target a shot added by an earlier `scene.add`. ASSETS: `assets` binds each slot name a layer references to a media id in the same project, and the slot's declared KIND decides what it admits — an image slot takes PNG, JPEG or WebP, a video slot MP4 or WebM. Binding the wrong kind is refused with the slot's path.", - "properties": { - "assets": { - "additionalProperties": { - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "clipId": { - "type": "string" - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "scene": { - "additionalProperties": false, - "description": "A version-2 scene shot: a self-contained 3D world-object shot that scene.add / scene.update materializes into an ordinary component clip. The shot owns its layers, camera, lighting, backdrop and normalized local animation; the composition owns start, duration, ordering, cuts and transitions. Coordinates are REFERENCE PIXELS: origin at frame centre, +X right, +Y down, +Z toward the viewer. referenceSize must have the SAME aspect ratio as the composition format; mismatch fails instead of cropping. At equal aspect ratio the shot scales uniformly by outputWidth/referenceWidth. A segment's easing belongs to the keyframe it ARRIVES at; the first keyframe has no easing. Authoring limits: 32 layers, 4 devices, 16 distinct image slots, 256 keyframes per channel, 2048 keyframes per shot. Version 2 supports nested groups, procedural slab/page/phone/laptop objects, screen- and world-space text, admitted image/component/video surfaces, fixed photographic and generated studio environments, transparent/solid/linear/radial backdrops, constraints, focus, grain and vignette. Raw HTML, custom shader props, imported GLB models, arbitrary external HDR environments, skeletal animation and physics are refused with an exact field path.", - "properties": { - "animation": { - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "keyframes": { - "items": { - "additionalProperties": false, - "properties": { - "at": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "easing": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "linear", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "hold", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "bezier", - "type": "string" - }, - "x1": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "x2": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y1": { - "maximum": 5, - "minimum": -4, - "type": "number" - }, - "y2": { - "maximum": 5, - "minimum": -4, - "type": "number" - } - }, - "required": [ - "kind", - "x1", - "y1", - "x2", - "y2" - ], - "type": "object" - } - ] - }, - "value": { - "type": "number" - } - }, - "required": [ - "at", - "value" - ], - "type": "object" - }, - "maxItems": 256, - "minItems": 1, - "type": "array" - }, - "property": { - "enum": [ - "positionX", - "positionY", - "positionZ", - "rotationX", - "rotationY", - "rotationZ", - "fov", - "scale", - "opacity", - "openAngle", - "x", - "y", - "rotation", - "intensity", - "distance", - "range", - "maxBlur" - ], - "type": "string" - }, - "target": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "camera", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "layer", - "type": "string" - }, - "layerId": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - } - }, - "required": [ - "kind", - "layerId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "environment", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "focus", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - } - ] - } - }, - "required": [ - "target", - "property", - "keyframes" - ], - "type": "object" - }, - "type": "array" - }, - "backdrop": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "transparent", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "kind": { - "const": "solid", - "type": "string" - } - }, - "required": [ - "kind", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "angle": { - "default": 0, - "type": "number" - }, - "kind": { - "const": "linear", - "type": "string" - }, - "stops": { - "items": { - "additionalProperties": false, - "properties": { - "at": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - } - }, - "required": [ - "at", - "color" - ], - "type": "object" - }, - "maxItems": 8, - "minItems": 2, - "type": "array" - } - }, - "required": [ - "kind", - "stops" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "at": { - "default": [ - 0.5, - 0.5 - ], - "items": false, - "maxItems": 2, - "minItems": 2, - "prefixItems": [ - { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - { - "maximum": 1, - "minimum": 0, - "type": "number" - } - ], - "type": "array" - }, - "kind": { - "const": "radial", - "type": "string" - }, - "stops": { - "items": { - "additionalProperties": false, - "properties": { - "at": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - } - }, - "required": [ - "at", - "color" - ], - "type": "object" - }, - "maxItems": 8, - "minItems": 2, - "type": "array" - } - }, - "required": [ - "kind", - "stops" - ], - "type": "object" - } - ], - "default": { - "kind": "transparent" - } - }, - "camera": { - "additionalProperties": false, - "properties": { - "fov": { - "maximum": 1.3962634015954636, - "minimum": 0.3141592653589793, - "type": "number" - }, - "position": { - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - } - }, - "type": "object" - }, - "constraints": { - "default": [], - "items": { - "additionalProperties": false, - "properties": { - "gap": { - "exclusiveMinimum": 0, - "type": "number" - }, - "kind": { - "const": "minSeparation", - "type": "string" - }, - "objects": { - "items": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "minItems": 2, - "type": "array" - } - }, - "required": [ - "kind", - "objects", - "gap" - ], - "type": "object" - }, - "type": "array" - }, - "environment": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "floorY": { - "default": -420, - "type": "number" - }, - "intensity": { - "default": 1, - "minimum": 0, - "type": "number" - }, - "kind": { - "const": "studio", - "type": "string" - }, - "lightingProfile": { - "default": "studio", - "enum": [ - "studio", - "studio-edge" - ], - "type": "string" - }, - "preset": { - "default": "soft", - "enum": [ - "soft", - "key", - "rim" - ], - "type": "string" - }, - "shadowOpacity": { - "default": 0.5, - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "photographic-studio-v1", - "type": "string" - } - }, - "required": [ - "kind" - ], - "type": "object" - } - ], - "default": { - "floorY": -420, - "intensity": 1, - "lightingProfile": "studio", - "preset": "soft", - "shadowOpacity": 0.5 - } - }, - "layers": { - "items": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "children": { - "items": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "children": { - "items": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "children": { - "items": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "children": { - "items": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "laptop", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "openAngle": { - "maximum": 3.141592653589793, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 4000, - "minimum": 200, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "openAngle" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "phone", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 2000, - "minimum": 80, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "cornerRadius": { - "default": 32, - "minimum": 0, - "type": "number" - }, - "edgeRadius": { - "default": 15, - "minimum": 0, - "type": "number" - }, - "finish": { - "default": "satin", - "enum": [ - "satin", - "brushed" - ], - "type": "string" - }, - "height": { - "maximum": 8000, - "minimum": 40, - "type": "number" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "slab", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "thickness": { - "default": 32, - "maximum": 200, - "minimum": 4, - "type": "number" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 8000, - "minimum": 40, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "height" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "backface": { - "default": "hidden", - "enum": [ - "hidden", - "visible" - ], - "type": "string" - }, - "depthWrite": { - "default": true, - "type": "boolean" - }, - "fit": { - "default": "contain", - "enum": [ - "contain", - "cover" - ], - "type": "string" - }, - "height": { - "maximum": 8000, - "minimum": 40, - "type": "number" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "page", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "transparency": { - "default": "straight", - "enum": [ - "straight", - "premultiplied", - "opaque" - ], - "type": "string" - }, - "width": { - "maximum": 8000, - "minimum": 40, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "height", - "surfaces" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "align": { - "default": "center", - "enum": [ - "left", - "center", - "right" - ], - "type": "string" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "fontFamily": { - "anyOf": [ - { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9 _.\\-]*$", - "type": "string" - }, - { - "enum": [ - "$brand:fonts.heading", - "$brand:fonts.body", - "$brand:fonts.caption" - ], - "type": "string" - } - ] - }, - "fontSize": { - "maximum": 800, - "minimum": 8, - "type": "number" - }, - "fontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "text", - "type": "string" - }, - "letterSpacing": { - "default": 0, - "maximum": 40, - "minimum": -20, - "type": "number" - }, - "lineHeight": { - "default": 1.2, - "maximum": 3, - "minimum": 0.6, - "type": "number" - }, - "lines": { - "items": { - "additionalProperties": false, - "properties": { - "runs": { - "items": { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "emphasis": { - "type": "boolean" - }, - "text": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^\\r\\n]+$", - "type": "string" - } - }, - "required": [ - "text" - ], - "type": "object" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "runs" - ], - "type": "object" - }, - "maxItems": 24, - "minItems": 1, - "type": "array" - }, - "maxWidth": { - "exclusiveMinimum": 0, - "type": "number" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "space": { - "const": "world", - "type": "string" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - } - }, - "required": [ - "id", - "kind", - "lines", - "fontFamily", - "fontWeight", - "fontStyle", - "fontSize", - "color", - "space" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "align": { - "default": "center", - "enum": [ - "left", - "center", - "right" - ], - "type": "string" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "fontFamily": { - "anyOf": [ - { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9 _.\\-]*$", - "type": "string" - }, - { - "enum": [ - "$brand:fonts.heading", - "$brand:fonts.body", - "$brand:fonts.caption" - ], - "type": "string" - } - ] - }, - "fontSize": { - "maximum": 800, - "minimum": 8, - "type": "number" - }, - "fontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "text", - "type": "string" - }, - "letterSpacing": { - "default": 0, - "maximum": 40, - "minimum": -20, - "type": "number" - }, - "lineHeight": { - "default": 1.2, - "maximum": 3, - "minimum": 0.6, - "type": "number" - }, - "lines": { - "items": { - "additionalProperties": false, - "properties": { - "runs": { - "items": { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "emphasis": { - "type": "boolean" - }, - "text": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^\\r\\n]+$", - "type": "string" - } - }, - "required": [ - "text" - ], - "type": "object" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "runs" - ], - "type": "object" - }, - "maxItems": 24, - "minItems": 1, - "type": "array" - }, - "maxWidth": { - "exclusiveMinimum": 0, - "type": "number" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "rotation": { - "default": 0, - "type": "number" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - }, - "space": { - "const": "screen", - "type": "string" - }, - "x": { - "type": "number" - }, - "y": { - "type": "number" - } - }, - "required": [ - "id", - "kind", - "lines", - "fontFamily", - "fontWeight", - "fontStyle", - "fontSize", - "color", - "space", - "x", - "y" - ], - "type": "object" - } - ] - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "group", - "type": "string" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - } - }, - "required": [ - "kind", - "id", - "children" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "laptop", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "openAngle": { - "maximum": 3.141592653589793, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 4000, - "minimum": 200, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "openAngle" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "phone", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 2000, - "minimum": 80, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "cornerRadius": { - "default": 32, - "minimum": 0, - "type": "number" - }, - "edgeRadius": { - "default": 15, - "minimum": 0, - "type": "number" - }, - "finish": { - "default": "satin", - "enum": [ - "satin", - "brushed" - ], - "type": "string" - }, - "height": { - "maximum": 8000, - "minimum": 40, - "type": "number" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "slab", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "thickness": { - "default": 32, - "maximum": 200, - "minimum": 4, - "type": "number" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 8000, - "minimum": 40, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "height" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "backface": { - "default": "hidden", - "enum": [ - "hidden", - "visible" - ], - "type": "string" - }, - "depthWrite": { - "default": true, - "type": "boolean" - }, - "fit": { - "default": "contain", - "enum": [ - "contain", - "cover" - ], - "type": "string" - }, - "height": { - "maximum": 8000, - "minimum": 40, - "type": "number" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "page", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "transparency": { - "default": "straight", - "enum": [ - "straight", - "premultiplied", - "opaque" - ], - "type": "string" - }, - "width": { - "maximum": 8000, - "minimum": 40, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "height", - "surfaces" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "align": { - "default": "center", - "enum": [ - "left", - "center", - "right" - ], - "type": "string" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "fontFamily": { - "anyOf": [ - { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9 _.\\-]*$", - "type": "string" - }, - { - "enum": [ - "$brand:fonts.heading", - "$brand:fonts.body", - "$brand:fonts.caption" - ], - "type": "string" - } - ] - }, - "fontSize": { - "maximum": 800, - "minimum": 8, - "type": "number" - }, - "fontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "text", - "type": "string" - }, - "letterSpacing": { - "default": 0, - "maximum": 40, - "minimum": -20, - "type": "number" - }, - "lineHeight": { - "default": 1.2, - "maximum": 3, - "minimum": 0.6, - "type": "number" - }, - "lines": { - "items": { - "additionalProperties": false, - "properties": { - "runs": { - "items": { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "emphasis": { - "type": "boolean" - }, - "text": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^\\r\\n]+$", - "type": "string" - } - }, - "required": [ - "text" - ], - "type": "object" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "runs" - ], - "type": "object" - }, - "maxItems": 24, - "minItems": 1, - "type": "array" - }, - "maxWidth": { - "exclusiveMinimum": 0, - "type": "number" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "space": { - "const": "world", - "type": "string" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - } - }, - "required": [ - "id", - "kind", - "lines", - "fontFamily", - "fontWeight", - "fontStyle", - "fontSize", - "color", - "space" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "align": { - "default": "center", - "enum": [ - "left", - "center", - "right" - ], - "type": "string" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "fontFamily": { - "anyOf": [ - { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9 _.\\-]*$", - "type": "string" - }, - { - "enum": [ - "$brand:fonts.heading", - "$brand:fonts.body", - "$brand:fonts.caption" - ], - "type": "string" - } - ] - }, - "fontSize": { - "maximum": 800, - "minimum": 8, - "type": "number" - }, - "fontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "text", - "type": "string" - }, - "letterSpacing": { - "default": 0, - "maximum": 40, - "minimum": -20, - "type": "number" - }, - "lineHeight": { - "default": 1.2, - "maximum": 3, - "minimum": 0.6, - "type": "number" - }, - "lines": { - "items": { - "additionalProperties": false, - "properties": { - "runs": { - "items": { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "emphasis": { - "type": "boolean" - }, - "text": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^\\r\\n]+$", - "type": "string" - } - }, - "required": [ - "text" - ], - "type": "object" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "runs" - ], - "type": "object" - }, - "maxItems": 24, - "minItems": 1, - "type": "array" - }, - "maxWidth": { - "exclusiveMinimum": 0, - "type": "number" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "rotation": { - "default": 0, - "type": "number" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - }, - "space": { - "const": "screen", - "type": "string" - }, - "x": { - "type": "number" - }, - "y": { - "type": "number" - } - }, - "required": [ - "id", - "kind", - "lines", - "fontFamily", - "fontWeight", - "fontStyle", - "fontSize", - "color", - "space", - "x", - "y" - ], - "type": "object" - } - ] - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "group", - "type": "string" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - } - }, - "required": [ - "kind", - "id", - "children" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "laptop", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "openAngle": { - "maximum": 3.141592653589793, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 4000, - "minimum": 200, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "openAngle" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "phone", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 2000, - "minimum": 80, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "cornerRadius": { - "default": 32, - "minimum": 0, - "type": "number" - }, - "edgeRadius": { - "default": 15, - "minimum": 0, - "type": "number" - }, - "finish": { - "default": "satin", - "enum": [ - "satin", - "brushed" - ], - "type": "string" - }, - "height": { - "maximum": 8000, - "minimum": 40, - "type": "number" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "slab", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "thickness": { - "default": 32, - "maximum": 200, - "minimum": 4, - "type": "number" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 8000, - "minimum": 40, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "height" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "backface": { - "default": "hidden", - "enum": [ - "hidden", - "visible" - ], - "type": "string" - }, - "depthWrite": { - "default": true, - "type": "boolean" - }, - "fit": { - "default": "contain", - "enum": [ - "contain", - "cover" - ], - "type": "string" - }, - "height": { - "maximum": 8000, - "minimum": 40, - "type": "number" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "page", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "transparency": { - "default": "straight", - "enum": [ - "straight", - "premultiplied", - "opaque" - ], - "type": "string" - }, - "width": { - "maximum": 8000, - "minimum": 40, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "height", - "surfaces" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "align": { - "default": "center", - "enum": [ - "left", - "center", - "right" - ], - "type": "string" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "fontFamily": { - "anyOf": [ - { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9 _.\\-]*$", - "type": "string" - }, - { - "enum": [ - "$brand:fonts.heading", - "$brand:fonts.body", - "$brand:fonts.caption" - ], - "type": "string" - } - ] - }, - "fontSize": { - "maximum": 800, - "minimum": 8, - "type": "number" - }, - "fontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "text", - "type": "string" - }, - "letterSpacing": { - "default": 0, - "maximum": 40, - "minimum": -20, - "type": "number" - }, - "lineHeight": { - "default": 1.2, - "maximum": 3, - "minimum": 0.6, - "type": "number" - }, - "lines": { - "items": { - "additionalProperties": false, - "properties": { - "runs": { - "items": { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "emphasis": { - "type": "boolean" - }, - "text": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^\\r\\n]+$", - "type": "string" - } - }, - "required": [ - "text" - ], - "type": "object" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "runs" - ], - "type": "object" - }, - "maxItems": 24, - "minItems": 1, - "type": "array" - }, - "maxWidth": { - "exclusiveMinimum": 0, - "type": "number" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "space": { - "const": "world", - "type": "string" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - } - }, - "required": [ - "id", - "kind", - "lines", - "fontFamily", - "fontWeight", - "fontStyle", - "fontSize", - "color", - "space" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "align": { - "default": "center", - "enum": [ - "left", - "center", - "right" - ], - "type": "string" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "fontFamily": { - "anyOf": [ - { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9 _.\\-]*$", - "type": "string" - }, - { - "enum": [ - "$brand:fonts.heading", - "$brand:fonts.body", - "$brand:fonts.caption" - ], - "type": "string" - } - ] - }, - "fontSize": { - "maximum": 800, - "minimum": 8, - "type": "number" - }, - "fontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "text", - "type": "string" - }, - "letterSpacing": { - "default": 0, - "maximum": 40, - "minimum": -20, - "type": "number" - }, - "lineHeight": { - "default": 1.2, - "maximum": 3, - "minimum": 0.6, - "type": "number" - }, - "lines": { - "items": { - "additionalProperties": false, - "properties": { - "runs": { - "items": { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "emphasis": { - "type": "boolean" - }, - "text": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^\\r\\n]+$", - "type": "string" - } - }, - "required": [ - "text" - ], - "type": "object" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "runs" - ], - "type": "object" - }, - "maxItems": 24, - "minItems": 1, - "type": "array" - }, - "maxWidth": { - "exclusiveMinimum": 0, - "type": "number" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "rotation": { - "default": 0, - "type": "number" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - }, - "space": { - "const": "screen", - "type": "string" - }, - "x": { - "type": "number" - }, - "y": { - "type": "number" - } - }, - "required": [ - "id", - "kind", - "lines", - "fontFamily", - "fontWeight", - "fontStyle", - "fontSize", - "color", - "space", - "x", - "y" - ], - "type": "object" - } - ] - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "group", - "type": "string" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - } - }, - "required": [ - "kind", - "id", - "children" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "laptop", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "openAngle": { - "maximum": 3.141592653589793, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 4000, - "minimum": 200, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "openAngle" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "phone", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 2000, - "minimum": 80, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "cornerRadius": { - "default": 32, - "minimum": 0, - "type": "number" - }, - "edgeRadius": { - "default": 15, - "minimum": 0, - "type": "number" - }, - "finish": { - "default": "satin", - "enum": [ - "satin", - "brushed" - ], - "type": "string" - }, - "height": { - "maximum": 8000, - "minimum": 40, - "type": "number" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "slab", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "thickness": { - "default": 32, - "maximum": 200, - "minimum": 4, - "type": "number" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 8000, - "minimum": 40, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "height" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "backface": { - "default": "hidden", - "enum": [ - "hidden", - "visible" - ], - "type": "string" - }, - "depthWrite": { - "default": true, - "type": "boolean" - }, - "fit": { - "default": "contain", - "enum": [ - "contain", - "cover" - ], - "type": "string" - }, - "height": { - "maximum": 8000, - "minimum": 40, - "type": "number" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "page", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "transparency": { - "default": "straight", - "enum": [ - "straight", - "premultiplied", - "opaque" - ], - "type": "string" - }, - "width": { - "maximum": 8000, - "minimum": 40, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "height", - "surfaces" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "align": { - "default": "center", - "enum": [ - "left", - "center", - "right" - ], - "type": "string" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "fontFamily": { - "anyOf": [ - { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9 _.\\-]*$", - "type": "string" - }, - { - "enum": [ - "$brand:fonts.heading", - "$brand:fonts.body", - "$brand:fonts.caption" - ], - "type": "string" - } - ] - }, - "fontSize": { - "maximum": 800, - "minimum": 8, - "type": "number" - }, - "fontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "text", - "type": "string" - }, - "letterSpacing": { - "default": 0, - "maximum": 40, - "minimum": -20, - "type": "number" - }, - "lineHeight": { - "default": 1.2, - "maximum": 3, - "minimum": 0.6, - "type": "number" - }, - "lines": { - "items": { - "additionalProperties": false, - "properties": { - "runs": { - "items": { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "emphasis": { - "type": "boolean" - }, - "text": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^\\r\\n]+$", - "type": "string" - } - }, - "required": [ - "text" - ], - "type": "object" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "runs" - ], - "type": "object" - }, - "maxItems": 24, - "minItems": 1, - "type": "array" - }, - "maxWidth": { - "exclusiveMinimum": 0, - "type": "number" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "space": { - "const": "world", - "type": "string" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - } - }, - "required": [ - "id", - "kind", - "lines", - "fontFamily", - "fontWeight", - "fontStyle", - "fontSize", - "color", - "space" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "align": { - "default": "center", - "enum": [ - "left", - "center", - "right" - ], - "type": "string" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "fontFamily": { - "anyOf": [ - { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9 _.\\-]*$", - "type": "string" - }, - { - "enum": [ - "$brand:fonts.heading", - "$brand:fonts.body", - "$brand:fonts.caption" - ], - "type": "string" - } - ] - }, - "fontSize": { - "maximum": 800, - "minimum": 8, - "type": "number" - }, - "fontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "text", - "type": "string" - }, - "letterSpacing": { - "default": 0, - "maximum": 40, - "minimum": -20, - "type": "number" - }, - "lineHeight": { - "default": 1.2, - "maximum": 3, - "minimum": 0.6, - "type": "number" - }, - "lines": { - "items": { - "additionalProperties": false, - "properties": { - "runs": { - "items": { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "emphasis": { - "type": "boolean" - }, - "text": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^\\r\\n]+$", - "type": "string" - } - }, - "required": [ - "text" - ], - "type": "object" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "runs" - ], - "type": "object" - }, - "maxItems": 24, - "minItems": 1, - "type": "array" - }, - "maxWidth": { - "exclusiveMinimum": 0, - "type": "number" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "rotation": { - "default": 0, - "type": "number" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - }, - "space": { - "const": "screen", - "type": "string" - }, - "x": { - "type": "number" - }, - "y": { - "type": "number" - } - }, - "required": [ - "id", - "kind", - "lines", - "fontFamily", - "fontWeight", - "fontStyle", - "fontSize", - "color", - "space", - "x", - "y" - ], - "type": "object" - } - ] - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "group", - "type": "string" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - } - }, - "required": [ - "kind", - "id", - "children" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "laptop", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "openAngle": { - "maximum": 3.141592653589793, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 4000, - "minimum": 200, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "openAngle" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "phone", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 2000, - "minimum": 80, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "cornerRadius": { - "default": 32, - "minimum": 0, - "type": "number" - }, - "edgeRadius": { - "default": 15, - "minimum": 0, - "type": "number" - }, - "finish": { - "default": "satin", - "enum": [ - "satin", - "brushed" - ], - "type": "string" - }, - "height": { - "maximum": 8000, - "minimum": 40, - "type": "number" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "slab", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "thickness": { - "default": 32, - "maximum": 200, - "minimum": 4, - "type": "number" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "width": { - "maximum": 8000, - "minimum": 40, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "height" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "backface": { - "default": "hidden", - "enum": [ - "hidden", - "visible" - ], - "type": "string" - }, - "depthWrite": { - "default": true, - "type": "boolean" - }, - "fit": { - "default": "contain", - "enum": [ - "contain", - "cover" - ], - "type": "string" - }, - "height": { - "maximum": 8000, - "minimum": 40, - "type": "number" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "page", - "type": "string" - }, - "materials": { - "items": { - "additionalProperties": false, - "properties": { - "anisotropy": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "anisotropyRotation": { - "type": "number" - }, - "clearcoat": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "clearcoatRoughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "ior": { - "maximum": 2.333, - "minimum": 1, - "type": "number" - }, - "metalness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "reflectivity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "role": { - "maxLength": 64, - "minLength": 1, - "type": "string" - }, - "roughness": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "physical", - "unlit" - ], - "type": "string" - } - }, - "required": [ - "role", - "type" - ], - "type": "object" - }, - "maxItems": 16, - "type": "array" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "surfaces": { - "additionalProperties": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "assetSlot": { - "description": "Image asset slot name bound by the clip assets map; never a URL.", - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z_][A-Za-z0-9_-]*$", - "type": "string" - }, - "source": { - "const": "image", - "type": "string" - } - }, - "required": [ - "source", - "assetSlot" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "source": { - "const": "color", - "type": "string" - } - }, - "required": [ - "source", - "color" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "bakeScale": { - "anyOf": [ - { - "const": 2, - "type": "number" - }, - { - "const": 3, - "type": "number" - } - ], - "description": "Optional authored scale. Preparation defaults omission to 2 and may auto-raise it to 3." - }, - "captureFrame": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "component": { - "additionalProperties": false, - "properties": { - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId" - ], - "type": "object" - }, - "layout": { - "additionalProperties": false, - "properties": { - "height": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "width": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "source": { - "const": "component", - "type": "string" - } - }, - "required": [ - "source", - "component", - "captureFrame", - "layout" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "endFrame": { - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "mediaId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "source": { - "const": "video", - "type": "string" - }, - "startFrame": { - "default": 0, - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "source", - "mediaId" - ], - "type": "object" - } - ] - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "transparency": { - "default": "straight", - "enum": [ - "straight", - "premultiplied", - "opaque" - ], - "type": "string" - }, - "width": { - "maximum": 8000, - "minimum": 40, - "type": "number" - } - }, - "required": [ - "kind", - "id", - "width", - "height", - "surfaces" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "align": { - "default": "center", - "enum": [ - "left", - "center", - "right" - ], - "type": "string" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "fontFamily": { - "anyOf": [ - { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9 _.\\-]*$", - "type": "string" - }, - { - "enum": [ - "$brand:fonts.heading", - "$brand:fonts.body", - "$brand:fonts.caption" - ], - "type": "string" - } - ] - }, - "fontSize": { - "maximum": 800, - "minimum": 8, - "type": "number" - }, - "fontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "text", - "type": "string" - }, - "letterSpacing": { - "default": 0, - "maximum": 40, - "minimum": -20, - "type": "number" - }, - "lineHeight": { - "default": 1.2, - "maximum": 3, - "minimum": 0.6, - "type": "number" - }, - "lines": { - "items": { - "additionalProperties": false, - "properties": { - "runs": { - "items": { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "emphasis": { - "type": "boolean" - }, - "text": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^\\r\\n]+$", - "type": "string" - } - }, - "required": [ - "text" - ], - "type": "object" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "runs" - ], - "type": "object" - }, - "maxItems": 24, - "minItems": 1, - "type": "array" - }, - "maxWidth": { - "exclusiveMinimum": 0, - "type": "number" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "space": { - "const": "world", - "type": "string" - }, - "transform": { - "additionalProperties": false, - "default": { - "position": [ - 0, - 0, - 0 - ], - "rotation": [ - 0, - 0, - 0 - ], - "scale": 1 - }, - "properties": { - "position": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "rotation": { - "default": [ - 0, - 0, - 0 - ], - "items": false, - "maxItems": 3, - "minItems": 3, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - } - }, - "type": "object" - } - }, - "required": [ - "id", - "kind", - "lines", - "fontFamily", - "fontWeight", - "fontStyle", - "fontSize", - "color", - "space" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "align": { - "default": "center", - "enum": [ - "left", - "center", - "right" - ], - "type": "string" - }, - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "fontFamily": { - "anyOf": [ - { - "maxLength": 128, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9 _.\\-]*$", - "type": "string" - }, - { - "enum": [ - "$brand:fonts.heading", - "$brand:fonts.body", - "$brand:fonts.caption" - ], - "type": "string" - } - ] - }, - "fontSize": { - "maximum": 800, - "minimum": 8, - "type": "number" - }, - "fontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "id": { - "maxLength": 64, - "minLength": 1, - "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", - "type": "string" - }, - "kind": { - "const": "text", - "type": "string" - }, - "letterSpacing": { - "default": 0, - "maximum": 40, - "minimum": -20, - "type": "number" - }, - "lineHeight": { - "default": 1.2, - "maximum": 3, - "minimum": 0.6, - "type": "number" - }, - "lines": { - "items": { - "additionalProperties": false, - "properties": { - "runs": { - "items": { - "additionalProperties": false, - "properties": { - "color": { - "anyOf": [ - { - "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", - "type": "string" - }, - { - "enum": [ - "$brand:colors.background", - "$brand:colors.surface", - "$brand:colors.text", - "$brand:colors.textMuted", - "$brand:colors.accent", - "$brand:colors.accentStrong", - "$brand:colors.accentSoft", - "$brand:colors.success", - "$brand:colors.warning", - "$brand:colors.danger" - ], - "type": "string" - } - ] - }, - "emphasis": { - "type": "boolean" - }, - "text": { - "maxLength": 512, - "minLength": 1, - "pattern": "^[^\\r\\n]+$", - "type": "string" - } - }, - "required": [ - "text" - ], - "type": "object" - }, - "maxItems": 16, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "runs" - ], - "type": "object" - }, - "maxItems": 24, - "minItems": 1, - "type": "array" - }, - "maxWidth": { - "exclusiveMinimum": 0, - "type": "number" - }, - "opacity": { - "default": 1, - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "rotation": { - "default": 0, - "type": "number" - }, - "scale": { - "default": 1, - "exclusiveMinimum": 0, - "type": "number" - }, - "space": { - "const": "screen", - "type": "string" - }, - "x": { - "type": "number" - }, - "y": { - "type": "number" - } - }, - "required": [ - "id", - "kind", - "lines", - "fontFamily", - "fontWeight", - "fontStyle", - "fontSize", - "color", - "space", - "x", - "y" - ], - "type": "object" - } - ] - }, - "minItems": 1, - "type": "array" - }, - "post": { - "additionalProperties": false, - "default": { - "focus": null, - "grain": 0, - "vignette": 0 - }, - "properties": { - "focus": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "distance": { - "exclusiveMinimum": 0, - "type": "number" - }, - "maxBlur": { - "maximum": 64, - "minimum": 0, - "type": "number" - }, - "range": { - "exclusiveMinimum": 0, - "type": "number" - } - }, - "required": [ - "distance", - "range", - "maxBlur" - ], - "type": "object" - }, - { - "type": "null" - } - ], - "default": null - }, - "grain": { - "default": 0, - "maximum": 0.5, - "minimum": 0, - "type": "number" - }, - "vignette": { - "default": 0, - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "referenceSize": { - "additionalProperties": false, - "properties": { - "height": { - "maximum": 8192, - "minimum": 16, - "type": "integer" - }, - "width": { - "maximum": 8192, - "minimum": 16, - "type": "integer" - } - }, - "required": [ - "width", - "height" - ], - "type": "object" - }, - "version": { - "const": 2, - "type": "number" - } - }, - "required": [ - "version", - "referenceSize", - "layers" - ], - "type": "object" - }, - "startTime": { - "minimum": 0, - "type": "number" - }, - "transitionIn": { - "additionalProperties": false, - "description": "Inter-scene transition.", - "properties": { - "duration": { - "minimum": 0, - "type": "number" - }, - "type": { - "enum": [ - "cut", - "fade", - "dissolve", - "wipe" - ], - "type": "string" - } - }, - "required": [ - "type" - ], - "type": "object" - }, - "type": { - "const": "scene.update", - "type": "string" - } - }, - "required": [ - "type", - "clipId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Add a clip to the timeline. The clip self-routes to a track by FAMILY (`clip.kind`, else derived from `source.kind`, else the target track) — a `media` clip MUST carry `kind` (video|audio|image) or a `trackId`, else it is rejected as ambiguous. `trackId` targets an existing SAME-family track; `newTrack:true` (with optional pinned `newTrackId`) creates a fresh track of that family.", - "properties": { - "clip": { - "additionalProperties": false, - "properties": { - "animate": { - "additionalProperties": { - "items": { - "additionalProperties": false, - "properties": { - "easing": { - "anyOf": [ - { - "enum": [ - "linear", - "ease", - "easeIn", - "easeOut", - "easeInOut" - ], - "type": "string" - }, - { - "additionalProperties": false, - "properties": { - "cubicBezier": { - "items": false, - "maxItems": 4, - "minItems": 4, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - } - }, - "required": [ - "cubicBezier" - ], - "type": "object" - } - ] - }, - "time": { - "minimum": 0, - "type": "number" - }, - "value": { - "type": "number" - } - }, - "required": [ - "time", - "value" - ], - "type": "object" - }, - "minItems": 2, - "type": "array" - }, - "description": "Keyframe channels, clip-relative seconds. Each channel's values use the SAME unit as the scalar it animates: `opacity` 0 to 1, `scale` a multiplier (>0), `rotation` degrees, `position.x`/`position.y` a FRACTION of the frame like `position` (0.5 = centre; NOT pixels), `volume` 0 to 4.", - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "captionVisibility": { - "description": "Video media clip only. Hide native captions while this clip is topmost and covers the lower picture, or when an opaque, effect-free clip has an explicitly full-frame region, even with fit:contain. Caption words and timings remain stored and resume when another visible clip takes over.", - "enum": [ - "visible", - "hidden" - ], - "type": "string" - }, - "duration": { - "description": "Clip duration (seconds).", - "exclusiveMinimum": 0, - "type": "number" - }, - "effects": { - "items": { - "additionalProperties": false, - "properties": { - "component": { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema1" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "params": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "window": { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "startTime": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "startTime", - "duration" - ], - "type": "object" - } - }, - "type": "object" - }, - "type": "array" - }, - "fit": { - "enum": [ - "cover", - "contain" - ], - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "kind": { - "enum": [ - "video", - "audio", - "image", - "overlay", - "effect" - ], - "type": "string" - }, - "linkGroupId": { - "minLength": 1, - "type": "string" - }, - "opacity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "position": { - "additionalProperties": false, - "description": "Clip CENTRE as a fraction of the frame: {x:0.5,y:0.5} is dead centre, 0 to 1 is inside the frame, and a little overshoot (down to -1, up to 2) is how an entrance starts off-canvas. NOT pixels: the renderer maps x to `left: x*100%`, so `x: 180` sits 180 frame-widths away and draws nothing.", - "properties": { - "x": { - "maximum": 2, - "minimum": -1, - "type": "number" - }, - "y": { - "maximum": 2, - "minimum": -1, - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "region": { - "additionalProperties": false, - "properties": { - "h": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "w": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "rotation": { - "type": "number" - }, - "scale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "source": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "clipId": { - "minLength": 1, - "type": "string" - }, - "offsetMs": { - "type": "number" - } - }, - "required": [ - "clipId", - "offsetMs" - ], - "type": "object" - }, - "audioRole": { - "enum": [ - "sfx", - "music", - "vo", - "ambience" - ], - "type": "string" - }, - "duck": { - "additionalProperties": false, - "properties": { - "attackMs": { - "minimum": 0, - "type": "number" - }, - "duckDb": { - "maximum": 0, - "type": "number" - }, - "releaseMs": { - "minimum": 0, - "type": "number" - }, - "windows": { - "items": { - "additionalProperties": false, - "properties": { - "endMs": { - "type": "number" - }, - "startMs": { - "type": "number" - } - }, - "required": [ - "startMs", - "endMs" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "duckDb", - "attackMs", - "releaseMs" - ], - "type": "object" - }, - "excludedRanges": { - "items": { - "additionalProperties": false, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "reason": { - "type": "string" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "type": "array" - }, - "fadeInMs": { - "minimum": 0, - "type": "number" - }, - "fadeOutMs": { - "minimum": 0, - "type": "number" - }, - "kenBurns": { - "enum": [ - "in", - "out", - "pan-l", - "pan-r", - "none" - ], - "type": "string" - }, - "kind": { - "const": "media", - "type": "string" - }, - "loop": { - "type": "boolean" - }, - "mediaId": { - "minLength": 1, - "type": "string" - }, - "muted": { - "type": "boolean" - }, - "playbackRate": { - "exclusiveMinimum": 0, - "type": "number" - }, - "reframe": { - "additionalProperties": false, - "properties": { - "segments": { - "items": { - "additionalProperties": false, - "properties": { - "bias": { - "additionalProperties": false, - "description": "Optional FINE framing nudge off the focus center, source-normalized in [−0.3, 0.3]. A small correction (headroom, rule-of-thirds), NOT a reframe — use `focus`/`zoom` for the actual shot. Omit (treated as 0) to sit dead-center on the focus.", - "properties": { - "x": { - "description": "Horizontal nudge, source-normalized (+ = right).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "y": { - "description": "Vertical nudge, source-normalized (+ = down).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "ease": { - "additionalProperties": false, - "description": "Zoom/center ramp DURATIONS in SECONDS at this segment's edges — NOT a unitless 0–1 curve. ~0.3–0.6s reads as a snappy push; >1s reads sluggish. Keep `in` + `out` ≤ the segment's duration (endSec − startSec): the two edges share the span, so to ramp across the WHOLE segment set one edge to the full duration and the other to 0. Omit for an instant cut to this framing.", - "properties": { - "in": { - "description": "Ease-IN ramp DURATION in seconds at the segment START.", - "minimum": 0, - "type": "number" - }, - "out": { - "description": "Ease-OUT ramp DURATION in seconds at the segment END.", - "minimum": 0, - "type": "number" - } - }, - "required": [ - "in", - "out" - ], - "type": "object" - }, - "endSec": { - "description": "Segment END in seconds, clip-relative. The span (endSec − startSec) is this segment's duration — the window `ease` ramps over.", - "exclusiveMinimum": 0, - "type": "number" - }, - "focus": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "frame-center", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "point", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "mode", - "x", - "y" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "faceId": { - "minLength": 1, - "type": "string" - }, - "mode": { - "const": "face", - "type": "string" - }, - "shotScale": { - "enum": [ - "close", - "standard", - "wide" - ], - "type": "string" - } - }, - "required": [ - "mode", - "faceId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "all-faces", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "active-speaker", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - } - ], - "description": "WHO/WHAT the camera tracks this segment (the reframe center), selected by `mode`: `frame-center` = no tracking, hold the geometric center (static/graphic footage, or a pure zoom); `point` = lock to a fixed source-normalized {x,y} (a non-moving on-screen element); `face` = track a detected face by `faceId` (from get_media_context), with optional `shotScale` close|standard|wide for tightness; `all-faces` = frame the bounding box of every detected face (group/ensemble shots); `active-speaker` = follow whoever is speaking (diarized talking-head / podcast). Pick by what the beat is about; pair with `zoom` for how tight." - }, - "intent": { - "description": "Optional editorial LABEL for diff/log readability (e.g. 'speaker-tight', 'wide-context'). Cosmetic — NOT honored by the derive math and excluded from the variant cache key.", - "type": "string" - }, - "startSec": { - "description": "Segment START in seconds, clip-relative. Segments tile the clip's duration in order.", - "minimum": 0, - "type": "number" - }, - "zoom": { - "description": "How TIGHT the framing is — the fraction of the source the output viewport shows. <1 punches IN (a smaller source fraction, magnified to fill the frame); 1 = the full frame (no crop). ~0.6–0.8 is a moderate push-in, ~0.5 a tight close-up, 0.1 the maximum zoom. There is NO zoom-OUT past the full frame (max 1). Omit for the full frame. MUTUALLY EXCLUSIVE with `focus.shotScale` — a face-tracked shot is sized EITHER by the editorial scale (shotScale, which the bake calibrates to the detected face) OR by an explicit zoom, never both. A segment carrying both is REJECTED: shotScale wins at bake time and the zoom would be silently discarded.", - "maximum": 1, - "minimum": 0.1, - "type": "number" - } - }, - "required": [ - "startSec", - "endSec", - "focus" - ], - "type": "object" - }, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "segments" - ], - "type": "object" - }, - "sync": { - "enum": [ - "video", - "independent" - ], - "type": "string" - }, - "trim": { - "additionalProperties": false, - "properties": { - "end": { - "description": "Source trim end (seconds).", - "minimum": 0, - "type": "number" - }, - "start": { - "description": "Source trim start (seconds).", - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "volume": { - "maximum": 4, - "minimum": 0, - "type": "number" - }, - "volumeDb": { - "type": "number" - } - }, - "required": [ - "kind", - "mediaId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "componentId": { - "minLength": 1, - "type": "string" - }, - "execution": { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema1" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - "kind": { - "const": "component", - "type": "string" - }, - "placement": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "clip", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "content-slots", - "type": "string" - }, - "slots": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "ownership": { - "enum": [ - "reference", - "exclusive" - ], - "type": "string" - }, - "targetClipIds": { - "items": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "targetClipIds", - "ownership" - ], - "type": "object" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind", - "slots" - ], - "type": "object" - } - ] - }, - "props": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "componentId", - "props", - "execution", - "placement" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "space": { - "const": "scene", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "space", - "x", - "y" - ], - "type": "object" - }, - "kind": { - "const": "overlay", - "type": "string" - }, - "parallax": { - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "params": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "pattern": "^(?!custom$)", - "type": "string" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "primitiveId", - "params" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "component": { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema1" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - "kind": { - "const": "effect", - "type": "string" - }, - "params": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "targetTrackIds": { - "items": { - "minLength": 1, - "type": "string" - }, - "minItems": 1, - "type": "array" - }, - "wrapperOrder": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "html": { - "description": "Your card's HTML — rendered VERBATIM as the graphic (shell motion via applyMotionPreset in a FOLLOWING call). CANVAS CONTRACT: the card renders in a viewport equal to the composition format's pixel frame (1080×1920 at 9:16 fhd); the root is NOT auto-pinned — declare explicit width/height matching the frame (box-sizing:border-box) and anchor content with flex/grid; position:absolute;inset:0 on the root does NOT fill the frame; for edge-to-edge backgrounds add an inner absolutely-positioned layer with generous negative inset. Overlay compositing applies a ~92% safe-area inset — keep critical copy away from the extreme edges. FONTS: name a family from GET /v1/fonts (list_render_fonts) — the renderer loads those faces for the card and waits for them, so `font-family: Inter` draws Inter. `@import` and remote font files are REFUSED: the card renders with no network. A family that is not on that list has no bytes behind it and the browser falls back, so end any stack with a generic (`Inter, sans-serif`) rather than relying on a system face being present.", - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "card", - "type": "string" - }, - "tokens": { - "additionalProperties": { - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "zPlane": { - "const": "front", - "type": "string" - } - }, - "required": [ - "kind", - "html" - ], - "type": "object" - } - ] - }, - "startTime": { - "description": "Timeline start (seconds).", - "minimum": 0, - "type": "number" - }, - "transitionIn": { - "additionalProperties": false, - "properties": { - "component": { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema1" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "fromClipId": { - "minLength": 1, - "type": "string" - }, - "handlePolicy": { - "const": "outgoing-overrun-at-cut-v1", - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "toClipId": { - "minLength": 1, - "type": "string" - }, - "type": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "type", - "duration" - ], - "type": "object" - } - }, - "required": [ - "id", - "startTime", - "duration", - "source" - ], - "type": "object" - }, - "newTrack": { - "type": "boolean" - }, - "newTrackId": { - "type": "string" - }, - "trackId": { - "type": "string" - }, - "type": { - "const": "clip.add", - "type": "string" - } - }, - "required": [ - "type", - "clip" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Remove a clip by id (located across every track).", - "properties": { - "clipId": { - "type": "string" - }, - "type": { - "const": "clip.remove", - "type": "string" - } - }, - "required": [ - "type", - "clipId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Patch an existing clip by id (cross-family). The patch is a partial TimelineClip. NOTE: `source` is REPLACED wholesale — the patch merges at the top level only, so a partial `source` WIPES the source fields you omit. Patch the whole source object when changing it. (To change reframe/excluded ranges, prefer setCropIntents / addExcludedRange, not a source patch.)", - "properties": { - "clipId": { - "type": "string" - }, - "patch": { - "additionalProperties": false, - "properties": { - "animate": { - "additionalProperties": { - "items": { - "additionalProperties": false, - "properties": { - "easing": { - "anyOf": [ - { - "enum": [ - "linear", - "ease", - "easeIn", - "easeOut", - "easeInOut" - ], - "type": "string" - }, - { - "additionalProperties": false, - "properties": { - "cubicBezier": { - "items": false, - "maxItems": 4, - "minItems": 4, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - } - }, - "required": [ - "cubicBezier" - ], - "type": "object" - } - ] - }, - "time": { - "minimum": 0, - "type": "number" - }, - "value": { - "type": "number" - } - }, - "required": [ - "time", - "value" - ], - "type": "object" - }, - "minItems": 2, - "type": "array" - }, - "description": "Keyframe channels, clip-relative seconds. Each channel's values use the SAME unit as the scalar it animates: `opacity` 0 to 1, `scale` a multiplier (>0), `rotation` degrees, `position.x`/`position.y` a FRACTION of the frame like `position` (0.5 = centre; NOT pixels), `volume` 0 to 4.", - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "captionVisibility": { - "description": "Video media clip only. Hide native captions while this clip is topmost and covers the lower picture, or when an opaque, effect-free clip has an explicitly full-frame region, even with fit:contain. Caption words and timings remain stored and resume when another visible clip takes over.", - "enum": [ - "visible", - "hidden" - ], - "type": "string" - }, - "duration": { - "description": "Clip duration (seconds).", - "exclusiveMinimum": 0, - "type": "number" - }, - "effects": { - "items": { - "additionalProperties": false, - "properties": { - "component": { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema1" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "params": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "window": { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "startTime": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "startTime", - "duration" - ], - "type": "object" - } - }, - "type": "object" - }, - "type": "array" - }, - "fit": { - "enum": [ - "cover", - "contain" - ], - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "kind": { - "enum": [ - "video", - "audio", - "image", - "overlay", - "effect" - ], - "type": "string" - }, - "linkGroupId": { - "minLength": 1, - "type": "string" - }, - "opacity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "position": { - "additionalProperties": false, - "description": "Clip CENTRE as a fraction of the frame: {x:0.5,y:0.5} is dead centre, 0 to 1 is inside the frame, and a little overshoot (down to -1, up to 2) is how an entrance starts off-canvas. NOT pixels: the renderer maps x to `left: x*100%`, so `x: 180` sits 180 frame-widths away and draws nothing.", - "properties": { - "x": { - "maximum": 2, - "minimum": -1, - "type": "number" - }, - "y": { - "maximum": 2, - "minimum": -1, - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "region": { - "additionalProperties": false, - "properties": { - "h": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "w": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "rotation": { - "type": "number" - }, - "scale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "source": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "clipId": { - "minLength": 1, - "type": "string" - }, - "offsetMs": { - "type": "number" - } - }, - "required": [ - "clipId", - "offsetMs" - ], - "type": "object" - }, - "audioRole": { - "enum": [ - "sfx", - "music", - "vo", - "ambience" - ], - "type": "string" - }, - "duck": { - "additionalProperties": false, - "properties": { - "attackMs": { - "minimum": 0, - "type": "number" - }, - "duckDb": { - "maximum": 0, - "type": "number" - }, - "releaseMs": { - "minimum": 0, - "type": "number" - }, - "windows": { - "items": { - "additionalProperties": false, - "properties": { - "endMs": { - "type": "number" - }, - "startMs": { - "type": "number" - } - }, - "required": [ - "startMs", - "endMs" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "duckDb", - "attackMs", - "releaseMs" - ], - "type": "object" - }, - "excludedRanges": { - "items": { - "additionalProperties": false, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "reason": { - "type": "string" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "type": "array" - }, - "fadeInMs": { - "minimum": 0, - "type": "number" - }, - "fadeOutMs": { - "minimum": 0, - "type": "number" - }, - "kenBurns": { - "enum": [ - "in", - "out", - "pan-l", - "pan-r", - "none" - ], - "type": "string" - }, - "kind": { - "const": "media", - "type": "string" - }, - "loop": { - "type": "boolean" - }, - "mediaId": { - "minLength": 1, - "type": "string" - }, - "muted": { - "type": "boolean" - }, - "playbackRate": { - "exclusiveMinimum": 0, - "type": "number" - }, - "reframe": { - "additionalProperties": false, - "properties": { - "segments": { - "items": { - "additionalProperties": false, - "properties": { - "bias": { - "additionalProperties": false, - "description": "Optional FINE framing nudge off the focus center, source-normalized in [−0.3, 0.3]. A small correction (headroom, rule-of-thirds), NOT a reframe — use `focus`/`zoom` for the actual shot. Omit (treated as 0) to sit dead-center on the focus.", - "properties": { - "x": { - "description": "Horizontal nudge, source-normalized (+ = right).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "y": { - "description": "Vertical nudge, source-normalized (+ = down).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "ease": { - "additionalProperties": false, - "description": "Zoom/center ramp DURATIONS in SECONDS at this segment's edges — NOT a unitless 0–1 curve. ~0.3–0.6s reads as a snappy push; >1s reads sluggish. Keep `in` + `out` ≤ the segment's duration (endSec − startSec): the two edges share the span, so to ramp across the WHOLE segment set one edge to the full duration and the other to 0. Omit for an instant cut to this framing.", - "properties": { - "in": { - "description": "Ease-IN ramp DURATION in seconds at the segment START.", - "minimum": 0, - "type": "number" - }, - "out": { - "description": "Ease-OUT ramp DURATION in seconds at the segment END.", - "minimum": 0, - "type": "number" - } - }, - "required": [ - "in", - "out" - ], - "type": "object" - }, - "endSec": { - "description": "Segment END in seconds, clip-relative. The span (endSec − startSec) is this segment's duration — the window `ease` ramps over.", - "exclusiveMinimum": 0, - "type": "number" - }, - "focus": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "frame-center", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "point", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "mode", - "x", - "y" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "faceId": { - "minLength": 1, - "type": "string" - }, - "mode": { - "const": "face", - "type": "string" - }, - "shotScale": { - "enum": [ - "close", - "standard", - "wide" - ], - "type": "string" - } - }, - "required": [ - "mode", - "faceId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "all-faces", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "active-speaker", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - } - ], - "description": "WHO/WHAT the camera tracks this segment (the reframe center), selected by `mode`: `frame-center` = no tracking, hold the geometric center (static/graphic footage, or a pure zoom); `point` = lock to a fixed source-normalized {x,y} (a non-moving on-screen element); `face` = track a detected face by `faceId` (from get_media_context), with optional `shotScale` close|standard|wide for tightness; `all-faces` = frame the bounding box of every detected face (group/ensemble shots); `active-speaker` = follow whoever is speaking (diarized talking-head / podcast). Pick by what the beat is about; pair with `zoom` for how tight." - }, - "intent": { - "description": "Optional editorial LABEL for diff/log readability (e.g. 'speaker-tight', 'wide-context'). Cosmetic — NOT honored by the derive math and excluded from the variant cache key.", - "type": "string" - }, - "startSec": { - "description": "Segment START in seconds, clip-relative. Segments tile the clip's duration in order.", - "minimum": 0, - "type": "number" - }, - "zoom": { - "description": "How TIGHT the framing is — the fraction of the source the output viewport shows. <1 punches IN (a smaller source fraction, magnified to fill the frame); 1 = the full frame (no crop). ~0.6–0.8 is a moderate push-in, ~0.5 a tight close-up, 0.1 the maximum zoom. There is NO zoom-OUT past the full frame (max 1). Omit for the full frame. MUTUALLY EXCLUSIVE with `focus.shotScale` — a face-tracked shot is sized EITHER by the editorial scale (shotScale, which the bake calibrates to the detected face) OR by an explicit zoom, never both. A segment carrying both is REJECTED: shotScale wins at bake time and the zoom would be silently discarded.", - "maximum": 1, - "minimum": 0.1, - "type": "number" - } - }, - "required": [ - "startSec", - "endSec", - "focus" - ], - "type": "object" - }, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "segments" - ], - "type": "object" - }, - "sync": { - "enum": [ - "video", - "independent" - ], - "type": "string" - }, - "trim": { - "additionalProperties": false, - "properties": { - "end": { - "description": "Source trim end (seconds).", - "minimum": 0, - "type": "number" - }, - "start": { - "description": "Source trim start (seconds).", - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "volume": { - "maximum": 4, - "minimum": 0, - "type": "number" - }, - "volumeDb": { - "type": "number" - } - }, - "required": [ - "kind", - "mediaId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "componentId": { - "minLength": 1, - "type": "string" - }, - "execution": { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema1" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - "kind": { - "const": "component", - "type": "string" - }, - "placement": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "clip", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "content-slots", - "type": "string" - }, - "slots": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "ownership": { - "enum": [ - "reference", - "exclusive" - ], - "type": "string" - }, - "targetClipIds": { - "items": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "targetClipIds", - "ownership" - ], - "type": "object" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind", - "slots" - ], - "type": "object" - } - ] - }, - "props": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "componentId", - "props", - "execution", - "placement" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "space": { - "const": "scene", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "space", - "x", - "y" - ], - "type": "object" - }, - "kind": { - "const": "overlay", - "type": "string" - }, - "parallax": { - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "params": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "pattern": "^(?!custom$)", - "type": "string" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "primitiveId", - "params" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "component": { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema1" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - "kind": { - "const": "effect", - "type": "string" - }, - "params": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "targetTrackIds": { - "items": { - "minLength": 1, - "type": "string" - }, - "minItems": 1, - "type": "array" - }, - "wrapperOrder": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "html": { - "description": "Your card's HTML — rendered VERBATIM as the graphic (shell motion via applyMotionPreset in a FOLLOWING call). CANVAS CONTRACT: the card renders in a viewport equal to the composition format's pixel frame (1080×1920 at 9:16 fhd); the root is NOT auto-pinned — declare explicit width/height matching the frame (box-sizing:border-box) and anchor content with flex/grid; position:absolute;inset:0 on the root does NOT fill the frame; for edge-to-edge backgrounds add an inner absolutely-positioned layer with generous negative inset. Overlay compositing applies a ~92% safe-area inset — keep critical copy away from the extreme edges. FONTS: name a family from GET /v1/fonts (list_render_fonts) — the renderer loads those faces for the card and waits for them, so `font-family: Inter` draws Inter. `@import` and remote font files are REFUSED: the card renders with no network. A family that is not on that list has no bytes behind it and the browser falls back, so end any stack with a generic (`Inter, sans-serif`) rather than relying on a system face being present.", - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "card", - "type": "string" - }, - "tokens": { - "additionalProperties": { - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "zPlane": { - "const": "front", - "type": "string" - } - }, - "required": [ - "kind", - "html" - ], - "type": "object" - } - ] - }, - "startTime": { - "description": "Timeline start (seconds).", - "minimum": 0, - "type": "number" - }, - "transitionIn": { - "additionalProperties": false, - "properties": { - "component": { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema1" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "fromClipId": { - "minLength": 1, - "type": "string" - }, - "handlePolicy": { - "const": "outgoing-overrun-at-cut-v1", - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "toClipId": { - "minLength": 1, - "type": "string" - }, - "type": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "type", - "duration" - ], - "type": "object" - } - }, - "type": "object" - }, - "type": { - "const": "clip.update", - "type": "string" - } - }, - "required": [ - "type", - "clipId", - "patch" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Remove EVERY clip sourced from a given mediaId (e.g. after deleting that media).", - "properties": { - "mediaId": { - "type": "string" - }, - "type": { - "const": "removeClipsByMediaId", - "type": "string" - } - }, - "required": [ - "type", - "mediaId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Replace the overlay channel wholesale with the given clips (bulk set, not a merge).", - "properties": { - "clips": { - "items": { - "additionalProperties": false, - "properties": { - "animate": { - "additionalProperties": { - "items": { - "additionalProperties": false, - "properties": { - "easing": { - "anyOf": [ - { - "enum": [ - "linear", - "ease", - "easeIn", - "easeOut", - "easeInOut" - ], - "type": "string" - }, - { - "additionalProperties": false, - "properties": { - "cubicBezier": { - "items": false, - "maxItems": 4, - "minItems": 4, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - } - }, - "required": [ - "cubicBezier" - ], - "type": "object" - } - ] - }, - "time": { - "minimum": 0, - "type": "number" - }, - "value": { - "type": "number" - } - }, - "required": [ - "time", - "value" - ], - "type": "object" - }, - "minItems": 2, - "type": "array" - }, - "description": "Keyframe channels, clip-relative seconds. Each channel's values use the SAME unit as the scalar it animates: `opacity` 0 to 1, `scale` a multiplier (>0), `rotation` degrees, `position.x`/`position.y` a FRACTION of the frame like `position` (0.5 = centre; NOT pixels), `volume` 0 to 4.", - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "captionVisibility": { - "description": "Video media clip only. Hide native captions while this clip is topmost and covers the lower picture, or when an opaque, effect-free clip has an explicitly full-frame region, even with fit:contain. Caption words and timings remain stored and resume when another visible clip takes over.", - "enum": [ - "visible", - "hidden" - ], - "type": "string" - }, - "duration": { - "description": "Clip duration (seconds).", - "exclusiveMinimum": 0, - "type": "number" - }, - "effects": { - "items": { - "additionalProperties": false, - "properties": { - "component": { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema1" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "params": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "window": { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "startTime": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "startTime", - "duration" - ], - "type": "object" - } - }, - "type": "object" - }, - "type": "array" - }, - "fit": { - "enum": [ - "cover", - "contain" - ], - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "kind": { - "enum": [ - "video", - "audio", - "image", - "overlay", - "effect" - ], - "type": "string" - }, - "linkGroupId": { - "minLength": 1, - "type": "string" - }, - "opacity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "position": { - "additionalProperties": false, - "description": "Clip CENTRE as a fraction of the frame: {x:0.5,y:0.5} is dead centre, 0 to 1 is inside the frame, and a little overshoot (down to -1, up to 2) is how an entrance starts off-canvas. NOT pixels: the renderer maps x to `left: x*100%`, so `x: 180` sits 180 frame-widths away and draws nothing.", - "properties": { - "x": { - "maximum": 2, - "minimum": -1, - "type": "number" - }, - "y": { - "maximum": 2, - "minimum": -1, - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "region": { - "additionalProperties": false, - "properties": { - "h": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "w": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "rotation": { - "type": "number" - }, - "scale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "source": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "clipId": { - "minLength": 1, - "type": "string" - }, - "offsetMs": { - "type": "number" - } - }, - "required": [ - "clipId", - "offsetMs" - ], - "type": "object" - }, - "audioRole": { - "enum": [ - "sfx", - "music", - "vo", - "ambience" - ], - "type": "string" - }, - "duck": { - "additionalProperties": false, - "properties": { - "attackMs": { - "minimum": 0, - "type": "number" - }, - "duckDb": { - "maximum": 0, - "type": "number" - }, - "releaseMs": { - "minimum": 0, - "type": "number" - }, - "windows": { - "items": { - "additionalProperties": false, - "properties": { - "endMs": { - "type": "number" - }, - "startMs": { - "type": "number" - } - }, - "required": [ - "startMs", - "endMs" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "duckDb", - "attackMs", - "releaseMs" - ], - "type": "object" - }, - "excludedRanges": { - "items": { - "additionalProperties": false, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "reason": { - "type": "string" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "type": "array" - }, - "fadeInMs": { - "minimum": 0, - "type": "number" - }, - "fadeOutMs": { - "minimum": 0, - "type": "number" - }, - "kenBurns": { - "enum": [ - "in", - "out", - "pan-l", - "pan-r", - "none" - ], - "type": "string" - }, - "kind": { - "const": "media", - "type": "string" - }, - "loop": { - "type": "boolean" - }, - "mediaId": { - "minLength": 1, - "type": "string" - }, - "muted": { - "type": "boolean" - }, - "playbackRate": { - "exclusiveMinimum": 0, - "type": "number" - }, - "reframe": { - "additionalProperties": false, - "properties": { - "segments": { - "items": { - "additionalProperties": false, - "properties": { - "bias": { - "additionalProperties": false, - "description": "Optional FINE framing nudge off the focus center, source-normalized in [−0.3, 0.3]. A small correction (headroom, rule-of-thirds), NOT a reframe — use `focus`/`zoom` for the actual shot. Omit (treated as 0) to sit dead-center on the focus.", - "properties": { - "x": { - "description": "Horizontal nudge, source-normalized (+ = right).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "y": { - "description": "Vertical nudge, source-normalized (+ = down).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "ease": { - "additionalProperties": false, - "description": "Zoom/center ramp DURATIONS in SECONDS at this segment's edges — NOT a unitless 0–1 curve. ~0.3–0.6s reads as a snappy push; >1s reads sluggish. Keep `in` + `out` ≤ the segment's duration (endSec − startSec): the two edges share the span, so to ramp across the WHOLE segment set one edge to the full duration and the other to 0. Omit for an instant cut to this framing.", - "properties": { - "in": { - "description": "Ease-IN ramp DURATION in seconds at the segment START.", - "minimum": 0, - "type": "number" - }, - "out": { - "description": "Ease-OUT ramp DURATION in seconds at the segment END.", - "minimum": 0, - "type": "number" - } - }, - "required": [ - "in", - "out" - ], - "type": "object" - }, - "endSec": { - "description": "Segment END in seconds, clip-relative. The span (endSec − startSec) is this segment's duration — the window `ease` ramps over.", - "exclusiveMinimum": 0, - "type": "number" - }, - "focus": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "frame-center", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "point", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "mode", - "x", - "y" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "faceId": { - "minLength": 1, - "type": "string" - }, - "mode": { - "const": "face", - "type": "string" - }, - "shotScale": { - "enum": [ - "close", - "standard", - "wide" - ], - "type": "string" - } - }, - "required": [ - "mode", - "faceId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "all-faces", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "active-speaker", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - } - ], - "description": "WHO/WHAT the camera tracks this segment (the reframe center), selected by `mode`: `frame-center` = no tracking, hold the geometric center (static/graphic footage, or a pure zoom); `point` = lock to a fixed source-normalized {x,y} (a non-moving on-screen element); `face` = track a detected face by `faceId` (from get_media_context), with optional `shotScale` close|standard|wide for tightness; `all-faces` = frame the bounding box of every detected face (group/ensemble shots); `active-speaker` = follow whoever is speaking (diarized talking-head / podcast). Pick by what the beat is about; pair with `zoom` for how tight." - }, - "intent": { - "description": "Optional editorial LABEL for diff/log readability (e.g. 'speaker-tight', 'wide-context'). Cosmetic — NOT honored by the derive math and excluded from the variant cache key.", - "type": "string" - }, - "startSec": { - "description": "Segment START in seconds, clip-relative. Segments tile the clip's duration in order.", - "minimum": 0, - "type": "number" - }, - "zoom": { - "description": "How TIGHT the framing is — the fraction of the source the output viewport shows. <1 punches IN (a smaller source fraction, magnified to fill the frame); 1 = the full frame (no crop). ~0.6–0.8 is a moderate push-in, ~0.5 a tight close-up, 0.1 the maximum zoom. There is NO zoom-OUT past the full frame (max 1). Omit for the full frame. MUTUALLY EXCLUSIVE with `focus.shotScale` — a face-tracked shot is sized EITHER by the editorial scale (shotScale, which the bake calibrates to the detected face) OR by an explicit zoom, never both. A segment carrying both is REJECTED: shotScale wins at bake time and the zoom would be silently discarded.", - "maximum": 1, - "minimum": 0.1, - "type": "number" - } - }, - "required": [ - "startSec", - "endSec", - "focus" - ], - "type": "object" - }, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "segments" - ], - "type": "object" - }, - "sync": { - "enum": [ - "video", - "independent" - ], - "type": "string" - }, - "trim": { - "additionalProperties": false, - "properties": { - "end": { - "description": "Source trim end (seconds).", - "minimum": 0, - "type": "number" - }, - "start": { - "description": "Source trim start (seconds).", - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "volume": { - "maximum": 4, - "minimum": 0, - "type": "number" - }, - "volumeDb": { - "type": "number" - } - }, - "required": [ - "kind", - "mediaId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "componentId": { - "minLength": 1, - "type": "string" - }, - "execution": { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema1" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - "kind": { - "const": "component", - "type": "string" - }, - "placement": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "clip", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "content-slots", - "type": "string" - }, - "slots": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "ownership": { - "enum": [ - "reference", - "exclusive" - ], - "type": "string" - }, - "targetClipIds": { - "items": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "targetClipIds", - "ownership" - ], - "type": "object" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind", - "slots" - ], - "type": "object" - } - ] - }, - "props": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "componentId", - "props", - "execution", - "placement" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "space": { - "const": "scene", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "space", - "x", - "y" - ], - "type": "object" - }, - "kind": { - "const": "overlay", - "type": "string" - }, - "parallax": { - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "params": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "pattern": "^(?!custom$)", - "type": "string" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "primitiveId", - "params" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "component": { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema1" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - "kind": { - "const": "effect", - "type": "string" - }, - "params": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "targetTrackIds": { - "items": { - "minLength": 1, - "type": "string" - }, - "minItems": 1, - "type": "array" - }, - "wrapperOrder": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "html": { - "description": "Your card's HTML — rendered VERBATIM as the graphic (shell motion via applyMotionPreset in a FOLLOWING call). CANVAS CONTRACT: the card renders in a viewport equal to the composition format's pixel frame (1080×1920 at 9:16 fhd); the root is NOT auto-pinned — declare explicit width/height matching the frame (box-sizing:border-box) and anchor content with flex/grid; position:absolute;inset:0 on the root does NOT fill the frame; for edge-to-edge backgrounds add an inner absolutely-positioned layer with generous negative inset. Overlay compositing applies a ~92% safe-area inset — keep critical copy away from the extreme edges. FONTS: name a family from GET /v1/fonts (list_render_fonts) — the renderer loads those faces for the card and waits for them, so `font-family: Inter` draws Inter. `@import` and remote font files are REFUSED: the card renders with no network. A family that is not on that list has no bytes behind it and the browser falls back, so end any stack with a generic (`Inter, sans-serif`) rather than relying on a system face being present.", - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "card", - "type": "string" - }, - "tokens": { - "additionalProperties": { - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "zPlane": { - "const": "front", - "type": "string" - } - }, - "required": [ - "kind", - "html" - ], - "type": "object" - } - ] - }, - "startTime": { - "description": "Timeline start (seconds).", - "minimum": 0, - "type": "number" - }, - "transitionIn": { - "additionalProperties": false, - "properties": { - "component": { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema1" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "fromClipId": { - "minLength": 1, - "type": "string" - }, - "handlePolicy": { - "const": "outgoing-overrun-at-cut-v1", - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "toClipId": { - "minLength": 1, - "type": "string" - }, - "type": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "type", - "duration" - ], - "type": "object" - } - }, - "required": [ - "id", - "startTime", - "duration", - "source" - ], - "type": "object" - }, - "type": "array" - }, - "type": { - "const": "loadOverlays", - "type": "string" - } - }, - "required": [ - "type", - "clips" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Add a timeline marker (a named time point/range; carry extensions in `metadata`).", - "properties": { - "marker": { - "additionalProperties": false, - "properties": { - "endTime": { - "minimum": 0, - "type": "number" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "kind": { - "minLength": 1, - "type": "string" - }, - "metadata": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "name": { - "type": "string" - }, - "startTime": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "id", - "startTime", - "kind" - ], - "type": "object" - }, - "type": { - "const": "addMarker", - "type": "string" - } - }, - "required": [ - "type", - "marker" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Remove a marker by id.", - "properties": { - "markerId": { - "type": "string" - }, - "type": { - "const": "removeMarker", - "type": "string" - } - }, - "required": [ - "type", - "markerId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Patch a marker's fields by id (partial merge).", - "properties": { - "markerId": { - "type": "string" - }, - "type": { - "const": "updateMarker", - "type": "string" - }, - "updates": { - "additionalProperties": false, - "properties": { - "endTime": { - "minimum": 0, - "type": "number" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "kind": { - "minLength": 1, - "type": "string" - }, - "metadata": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "name": { - "type": "string" - }, - "startTime": { - "minimum": 0, - "type": "number" - } - }, - "type": "object" - } - }, - "required": [ - "type", - "markerId", - "updates" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Set (or CLEAR, with `segments: null`) the camera/reframe channel on a MEDIA clip — the time-aligned source→output viewport (focus, zoom, ease, bias). This is the PREFERRED way to author reframing; do NOT reframe via a whole-source `clip.update` patch. Segments tile the clip's duration.", - "properties": { - "clipId": { - "type": "string" - }, - "segments": { - "anyOf": [ - { - "items": { - "additionalProperties": false, - "properties": { - "bias": { - "additionalProperties": false, - "description": "Optional FINE framing nudge off the focus center, source-normalized in [−0.3, 0.3]. A small correction (headroom, rule-of-thirds), NOT a reframe — use `focus`/`zoom` for the actual shot. Omit (treated as 0) to sit dead-center on the focus.", - "properties": { - "x": { - "description": "Horizontal nudge, source-normalized (+ = right).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "y": { - "description": "Vertical nudge, source-normalized (+ = down).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "ease": { - "additionalProperties": false, - "description": "Zoom/center ramp DURATIONS in SECONDS at this segment's edges — NOT a unitless 0–1 curve. ~0.3–0.6s reads as a snappy push; >1s reads sluggish. Keep `in` + `out` ≤ the segment's duration (endSec − startSec): the two edges share the span, so to ramp across the WHOLE segment set one edge to the full duration and the other to 0. Omit for an instant cut to this framing.", - "properties": { - "in": { - "description": "Ease-IN ramp DURATION in seconds at the segment START.", - "minimum": 0, - "type": "number" - }, - "out": { - "description": "Ease-OUT ramp DURATION in seconds at the segment END.", - "minimum": 0, - "type": "number" - } - }, - "required": [ - "in", - "out" - ], - "type": "object" - }, - "endSec": { - "description": "Segment END in seconds, clip-relative. The span (endSec − startSec) is this segment's duration — the window `ease` ramps over.", - "exclusiveMinimum": 0, - "type": "number" - }, - "focus": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "frame-center", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "point", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "mode", - "x", - "y" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "faceId": { - "minLength": 1, - "type": "string" - }, - "mode": { - "const": "face", - "type": "string" - }, - "shotScale": { - "enum": [ - "close", - "standard", - "wide" - ], - "type": "string" - } - }, - "required": [ - "mode", - "faceId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "all-faces", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "active-speaker", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - } - ], - "description": "WHO/WHAT the camera tracks this segment (the reframe center), selected by `mode`: `frame-center` = no tracking, hold the geometric center (static/graphic footage, or a pure zoom); `point` = lock to a fixed source-normalized {x,y} (a non-moving on-screen element); `face` = track a detected face by `faceId` (from get_media_context), with optional `shotScale` close|standard|wide for tightness; `all-faces` = frame the bounding box of every detected face (group/ensemble shots); `active-speaker` = follow whoever is speaking (diarized talking-head / podcast). Pick by what the beat is about; pair with `zoom` for how tight." - }, - "intent": { - "description": "Optional editorial LABEL for diff/log readability (e.g. 'speaker-tight', 'wide-context'). Cosmetic — NOT honored by the derive math and excluded from the variant cache key.", - "type": "string" - }, - "startSec": { - "description": "Segment START in seconds, clip-relative. Segments tile the clip's duration in order.", - "minimum": 0, - "type": "number" - }, - "zoom": { - "description": "How TIGHT the framing is — the fraction of the source the output viewport shows. <1 punches IN (a smaller source fraction, magnified to fill the frame); 1 = the full frame (no crop). ~0.6–0.8 is a moderate push-in, ~0.5 a tight close-up, 0.1 the maximum zoom. There is NO zoom-OUT past the full frame (max 1). Omit for the full frame. MUTUALLY EXCLUSIVE with `focus.shotScale` — a face-tracked shot is sized EITHER by the editorial scale (shotScale, which the bake calibrates to the detected face) OR by an explicit zoom, never both. A segment carrying both is REJECTED: shotScale wins at bake time and the zoom would be silently discarded.", - "maximum": 1, - "minimum": 0.1, - "type": "number" - } - }, - "required": [ - "startSec", - "endSec", - "focus" - ], - "type": "object" - }, - "type": "array" - }, - { - "type": "null" - } - ] - }, - "type": { - "const": "setCropIntents", - "type": "string" - } - }, - "required": [ - "type", - "clipId", - "segments" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Set (or CLEAR, with `effects: []`) a clip's EFFECT channel — the registered effect primitives stacked onto that clip, each `{ primitiveId, params? }`. WHOLESALE: the array REPLACES the clip's current effects, so send the full stack (read the clip first to add one). This is the ONLY way to change effects on an existing clip — do NOT reach for a `clip.update` patch, whose top-level merge is the source-clobbering footgun documented above.", - "properties": { - "clipId": { - "type": "string" - }, - "effects": { - "items": { - "additionalProperties": false, - "properties": { - "component": { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema1" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "params": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "window": { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "startTime": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "startTime", - "duration" - ], - "type": "object" - } - }, - "type": "object" - }, - "type": "array" - }, - "type": { - "const": "setEffects", - "type": "string" - } - }, - "required": [ - "type", - "clipId", - "effects" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Merge style overrides (font/color/position/emphasis) onto the composition's caption layer. Partial — omitted fields keep their current value; creates the caption container if absent.", - "properties": { - "style": { - "additionalProperties": false, - "properties": { - "annotationColor": { - "type": "string" - }, - "annotationStrokeWidth": { - "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.", - "maximum": 12, - "minimum": 0.5, - "type": "number" - }, - "annotationTexture": { - "description": "Native annotation stroke finish; default clean.", - "enum": [ - "clean", - "pencil" - ], - "type": "string" - }, - "backgroundColor": { - "type": "string" - }, - "color": { - "minLength": 1, - "type": "string" - }, - "emphasisColor": { - "type": "string" - }, - "emphasisFontFamily": { - "type": "string" - }, - "emphasisFontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "emphasisFontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "emphasisGradient": { - "type": "string" - }, - "emphasisLetterSpacing": { - "type": "number" - }, - "emphasisPlate": { - "type": "boolean" - }, - "emphasisPlateAltColor": { - "type": "string" - }, - "emphasisPlateAltTextColor": { - "type": "string" - }, - "emphasisPlateColor": { - "type": "string" - }, - "emphasisPlatePadX": { - "type": "number" - }, - "emphasisPlatePadY": { - "type": "number" - }, - "emphasisPlateRadius": { - "minimum": 0, - "type": "number" - }, - "emphasisPlateReveal": { - "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.", - "type": "boolean" - }, - "emphasisPlateTextColor": { - "type": "string" - }, - "emphasisScale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "emphasisTextTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "entrance": { - "enum": [ - "none", - "fade", - "word-pop", - "stagger-up" - ], - "type": "string" - }, - "entranceMs": { - "minimum": 0, - "type": "number" - }, - "entranceStaggerMs": { - "minimum": 0, - "type": "number" - }, - "exitMs": { - "minimum": 0, - "type": "number" - }, - "fontFamily": { - "minLength": 1, - "type": "string" - }, - "fontSize": { - "description": "Font size as % of composition height (1-15, default 5). NOT px.", - "maximum": 15, - "minimum": 1, - "type": "number" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "highlightColor": { - "minLength": 1, - "type": "string" - }, - "letterSpacing": { - "description": "Base caption glyph spacing in pixels.", - "maximum": 20, - "minimum": -5, - "type": "number" - }, - "lineGapEm": { - "description": "Gap between caption lines as a multiple of base font size; default 0.25.", - "maximum": 2, - "minimum": 0, - "type": "number" - }, - "maxWidthPercent": { - "exclusiveMinimum": 0, - "maximum": 100, - "type": "number" - }, - "plate": { - "enum": [ - "glass", - "solid", - "none" - ], - "type": "string" - }, - "position": { - "enum": [ - "top", - "center", - "bottom" - ], - "type": "string" - }, - "region": { - "additionalProperties": false, - "description": "Optional caption layout box {x,y,w,h} in normalized output-frame coordinates. Overrides position; text starts at its top edge and wraps/pages within its width and height.", - "properties": { - "h": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "w": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "textTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "wordGapEm": { - "description": "Gap between caption runs as a multiple of base font size; default 0.35.", - "maximum": 2, - "minimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "type": { - "const": "setCaptionStyle", - "type": "string" - } - }, - "required": [ - "type", - "style" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Replace native caption placements without changing transcript words or timings. Each layout references a half-open word-index range in one saved segment; a one-word range is valid. region places that group independently, optional bounded scale/rotation/style changes its look, and holdThroughWordIndex keeps it visible through a later saved word in the same segment. All words in a placed range occupy one page; rendering refuses a range that cannot fit its box, so enlarge region or split the range. The box reserves horizontal space of 1.6 font sizes and vertical space of 0.8 font sizes for padding, with at most three lines. Unreferenced words keep the default caption layout. Word ranges must not overlap. Reapply after caption regeneration or timeline cuts.", - "properties": { - "layouts": { - "items": { - "additionalProperties": false, - "properties": { - "holdThroughWordIndex": { - "description": "Inclusive saved-word index in this segment. The layout stays visible until that word ends.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "region": { - "additionalProperties": false, - "properties": { - "h": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "w": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "rotation": { - "maximum": 45, - "minimum": -45, - "type": "number" - }, - "scale": { - "maximum": 4, - "minimum": 0.25, - "type": "number" - }, - "segmentIndex": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "style": { - "additionalProperties": false, - "properties": { - "annotationColor": { - "type": "string" - }, - "annotationStrokeWidth": { - "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.", - "maximum": 12, - "minimum": 0.5, - "type": "number" - }, - "annotationTexture": { - "description": "Native annotation stroke finish; default clean.", - "enum": [ - "clean", - "pencil" - ], - "type": "string" - }, - "backgroundColor": { - "type": "string" - }, - "color": { - "minLength": 1, - "type": "string" - }, - "emphasisColor": { - "type": "string" - }, - "emphasisFontFamily": { - "type": "string" - }, - "emphasisFontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "emphasisFontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "emphasisLetterSpacing": { - "type": "number" - }, - "emphasisPlate": { - "type": "boolean" - }, - "emphasisPlateAltColor": { - "type": "string" - }, - "emphasisPlateAltTextColor": { - "type": "string" - }, - "emphasisPlateColor": { - "type": "string" - }, - "emphasisPlatePadX": { - "type": "number" - }, - "emphasisPlatePadY": { - "type": "number" - }, - "emphasisPlateRadius": { - "minimum": 0, - "type": "number" - }, - "emphasisPlateReveal": { - "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.", - "type": "boolean" - }, - "emphasisPlateTextColor": { - "type": "string" - }, - "emphasisScale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "emphasisTextTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "entrance": { - "enum": [ - "none", - "fade", - "word-pop", - "stagger-up" - ], - "type": "string" - }, - "entranceMs": { - "minimum": 0, - "type": "number" - }, - "entranceStaggerMs": { - "minimum": 0, - "type": "number" - }, - "exitMs": { - "minimum": 0, - "type": "number" - }, - "fontFamily": { - "minLength": 1, - "type": "string" - }, - "fontSize": { - "description": "Font size as % of composition height (1-15, default 5). NOT px.", - "maximum": 15, - "minimum": 1, - "type": "number" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "highlightColor": { - "minLength": 1, - "type": "string" - }, - "letterSpacing": { - "description": "Base caption glyph spacing in pixels.", - "maximum": 20, - "minimum": -5, - "type": "number" - }, - "lineGapEm": { - "description": "Gap between caption lines as a multiple of base font size; default 0.25.", - "maximum": 2, - "minimum": 0, - "type": "number" - }, - "plate": { - "enum": [ - "glass", - "solid", - "none" - ], - "type": "string" - }, - "textTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "wordGapEm": { - "description": "Gap between caption runs as a multiple of base font size; default 0.35.", - "maximum": 2, - "minimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "wordEndIndex": { - "description": "Exclusive word index in the saved caption segment.", - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "wordMarks": { - "items": { - "additionalProperties": false, - "properties": { - "annotate": { - "anyOf": [ - { - "enum": [ - "circle", - "underline" - ], - "type": "string" - }, - { - "type": "null" - } - ] - }, - "emphasis": { - "type": "boolean" - }, - "wordIndex": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "wordIndex" - ], - "type": "object" - }, - "type": "array" - }, - "wordStartIndex": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "segmentIndex", - "wordStartIndex", - "wordEndIndex", - "region" - ], - "type": "object" - }, - "type": "array" - }, - "type": { - "const": "setCaptionLayouts", - "type": "string" - } - }, - "required": [ - "type", - "layouts" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Set the caption compositing plane. Use `behind-subject` to place captions behind the segmented foreground subject; use `front` for conventional captions above all video layers.", - "properties": { - "type": { - "const": "setCaptionDepth", - "type": "string" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "type", - "zPlane" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Replace the caption SEGMENTS wholesale — author the word-timed caption layer directly (each segment = one sentence/page of `words` with timeline-ms `startMs`/`endMs`, optional `emphasis`). This is how a client with its OWN word timings (e.g. a generated VO take) gets word-synced captions without a source transcript; the compose lane's transcript slice writes the same layer. `style`, when given, merges with setCaptionStyle semantics; an omitted style keeps the existing one. Renderer paginates within a segment and never pools words across two — keep segments sentence-bounded.", - "properties": { - "segments": { - "items": { - "additionalProperties": false, - "properties": { - "words": { - "items": { - "additionalProperties": false, - "properties": { - "annotate": { - "enum": [ - "circle", - "underline" - ], - "type": "string" - }, - "emphasis": { - "type": "boolean" - }, - "endMs": { - "description": "Word end on the composition timeline, in milliseconds.", - "minimum": 0, - "type": "number" - }, - "startMs": { - "description": "Word start on the composition timeline, in milliseconds.", - "minimum": 0, - "type": "number" - }, - "text": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "text", - "startMs", - "endMs" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "words" - ], - "type": "object" - }, - "type": "array" - }, - "style": { - "additionalProperties": false, - "properties": { - "annotationColor": { - "type": "string" - }, - "annotationStrokeWidth": { - "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.", - "maximum": 12, - "minimum": 0.5, - "type": "number" - }, - "annotationTexture": { - "description": "Native annotation stroke finish; default clean.", - "enum": [ - "clean", - "pencil" - ], - "type": "string" - }, - "backgroundColor": { - "type": "string" - }, - "color": { - "minLength": 1, - "type": "string" - }, - "emphasisColor": { - "type": "string" - }, - "emphasisFontFamily": { - "type": "string" - }, - "emphasisFontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "emphasisFontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "emphasisGradient": { - "type": "string" - }, - "emphasisLetterSpacing": { - "type": "number" - }, - "emphasisPlate": { - "type": "boolean" - }, - "emphasisPlateAltColor": { - "type": "string" - }, - "emphasisPlateAltTextColor": { - "type": "string" - }, - "emphasisPlateColor": { - "type": "string" - }, - "emphasisPlatePadX": { - "type": "number" - }, - "emphasisPlatePadY": { - "type": "number" - }, - "emphasisPlateRadius": { - "minimum": 0, - "type": "number" - }, - "emphasisPlateReveal": { - "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.", - "type": "boolean" - }, - "emphasisPlateTextColor": { - "type": "string" - }, - "emphasisScale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "emphasisTextTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "entrance": { - "enum": [ - "none", - "fade", - "word-pop", - "stagger-up" - ], - "type": "string" - }, - "entranceMs": { - "minimum": 0, - "type": "number" - }, - "entranceStaggerMs": { - "minimum": 0, - "type": "number" - }, - "exitMs": { - "minimum": 0, - "type": "number" - }, - "fontFamily": { - "minLength": 1, - "type": "string" - }, - "fontSize": { - "description": "Font size as % of composition height (1-15, default 5). NOT px.", - "maximum": 15, - "minimum": 1, - "type": "number" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "highlightColor": { - "minLength": 1, - "type": "string" - }, - "letterSpacing": { - "description": "Base caption glyph spacing in pixels.", - "maximum": 20, - "minimum": -5, - "type": "number" - }, - "lineGapEm": { - "description": "Gap between caption lines as a multiple of base font size; default 0.25.", - "maximum": 2, - "minimum": 0, - "type": "number" - }, - "maxWidthPercent": { - "exclusiveMinimum": 0, - "maximum": 100, - "type": "number" - }, - "plate": { - "enum": [ - "glass", - "solid", - "none" - ], - "type": "string" - }, - "position": { - "enum": [ - "top", - "center", - "bottom" - ], - "type": "string" - }, - "region": { - "additionalProperties": false, - "description": "Optional caption layout box {x,y,w,h} in normalized output-frame coordinates. Overrides position; text starts at its top edge and wraps/pages within its width and height.", - "properties": { - "h": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "w": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "textTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "wordGapEm": { - "description": "Gap between caption runs as a multiple of base font size; default 0.35.", - "maximum": 2, - "minimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "type": { - "const": "setCaptions", - "type": "string" - } - }, - "required": [ - "type", - "segments" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Attach caption CONTENT from the media's cached transcript — no pasting words. ROUTE-MATERIALIZED like applyMotionPreset/materializeGrid: the server slices the word-timed transcript to `window` (source seconds; absent = the whole media), rebases times, sentence-splits into segments, and applies it as `setCaptions`. 422 media_no_transcript when the media has no transcript or no words in the window. For your OWN word timings use setCaptions directly. For edited multi-clip timelines, use captions.fromComposition after saving the edits; that operation projects all selected track clips, trims, exclusions, and placements.", - "properties": { - "mediaId": { - "minLength": 1, - "type": "string" - }, - "type": { - "const": "captions.fromTranscript", - "type": "string" - }, - "window": { - "additionalProperties": false, - "properties": { - "endSec": { - "exclusiveMinimum": 0, - "type": "number" - }, - "startSec": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "startSec", - "endSec" - ], - "type": "object" - } - }, - "required": [ - "type", - "mediaId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Snapshot word-timed captions from the SAVED edits on one explicit enabled video or audio track. The host reads each source media transcript, projects words through clip trim, excluded ranges and placement, then replaces the caption segments. This is route-materialized to setCaptions; call it AFTER persisting clip edits and call it again when those edits change. The existing caption style and depth are preserved. Missing transcripts, unsupported clips, inconsistent clip durations, and overlapping audible clips fail loud. Playback rate scales source word times and playable duration on both audio and video tracks.", - "properties": { - "trackId": { - "minLength": 1, - "type": "string" - }, - "type": { - "const": "captions.fromComposition", - "type": "string" - } - }, - "required": [ - "type", - "trackId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Shell a STATIC `card` clip with a frame-driven MOTION preset — the public card-shelling op (the layout renders VERBATIM; only the container animates in/out). The server wraps the card in the chosen `preset` (fade-up / slide-in-left / slide-in-right / scale-pop / stagger-reveal), transpiles it, mints it as a LIVE component, and swaps the clip source to that component (the bakeless live lane — no box). `params` tunes timing (`enterMs`/`exitMs`, `staggerMs` for stagger-reveal). The target must be a static card (components already carry motion; library overlays already move); re-run overwrites idempotently ONLY while the target is still a card (an uncompilable shell); once shelled, the clip is a COMPONENT — to change its motion, remove and re-add the card, then re-shell. Honored under `dry_run` (validates preset + target without transpiling or persisting). ORDERING: the preset resolves its target against the PERSISTED composition — a card added in the SAME batch is not yet visible to it. Persist the clip.add batch first, then shell in a following call.", - "properties": { - "clipId": { - "type": "string" - }, - "params": { - "additionalProperties": false, - "properties": { - "enterMs": { - "type": "number" - }, - "exitMs": { - "type": "number" - }, - "staggerMs": { - "type": "number" - } - }, - "type": "object" - }, - "preset": { - "type": "string" - }, - "type": { - "const": "applyMotionPreset", - "type": "string" - } - }, - "required": [ - "type", - "clipId", - "preset" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Materialize a clip's SOURCE-media temporal GRID as timeline markers — the rhythm authority you cut to. `grid:\"beat\"` reads a MUSIC bed's beat map (get_media_context.beatGrid), `grid:\"word\"` the VO word onsets (wordGrid); each grid point is projected from media time to TIMELINE time through the clip's placement (startTime, trim, playbackRate, excludedRanges) and written as a `kind:\"beat\"|\"word\"` marker (`metadata.sourceClipId` set). Points outside the clip's visible window are skipped. Re-running REPLACES the prior markers from the same clip+grid (idempotent). Land cuts and transition MIDPOINTS on the markers (a 0.5s transition starts 0.25s before its marker). `maxMarkers` (default 500, ceiling 2000) — exceeding it fails loud with the count. `grid:\"shot\"` is not yet exposed (shot_grid_unavailable). The target must be a media clip; absent evidence fails loud (grid_unavailable) naming how to get it (declare audioRole:\"music\" at ingest / transcribe).", - "properties": { - "clipId": { - "type": "string" - }, - "grid": { - "enum": [ - "beat", - "word", - "shot" - ], - "type": "string" - }, - "maxMarkers": { - "exclusiveMinimum": 0, - "maximum": 2000, - "type": "integer" - }, - "type": { - "const": "materializeGrid", - "type": "string" - } - }, - "required": [ - "type", - "clipId", - "grid" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Set the output format — `aspectRatio` (16:9|9:16|1:1|4:5) plus optional `fps` and `resolution`. Merges: an omitted field keeps the current value.", - "properties": { - "format": { - "additionalProperties": false, - "properties": { - "aspectRatio": { - "enum": [ - "16:9", - "9:16", - "1:1", - "4:5" - ], - "type": "string" - }, - "fps": { - "anyOf": [ - { - "const": 24, - "type": "number" - }, - { - "const": 25, - "type": "number" - }, - { - "const": 30, - "type": "number" - }, - { - "const": 60, - "type": "number" - } - ] - }, - "resolution": { - "enum": [ - "hd", - "fhd", - "4k" - ], - "type": "string" - } - }, - "required": [ - "aspectRatio" - ], - "type": "object" - }, - "type": { - "const": "setFormat", - "type": "string" - } - }, - "required": [ - "type", - "format" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Add an EMPTY track of a given family (video|audio|image|overlay|effect). Optional pinned `id`. The new track is appended, so it starts at the BACK: index 0 is the top layer and higher indices are further back (see `reorderTracks`). Track order only ranks clips on the same plane — every overlay draws above the video lane unless its `zPlane` is `behind-subject`, whatever its track index.", - "properties": { - "id": { - "type": "string" - }, - "kind": { - "enum": [ - "video", - "audio", - "image", - "overlay", - "effect" - ], - "type": "string" - }, - "name": { - "type": "string" - }, - "type": { - "const": "addTrack", - "type": "string" - } - }, - "required": [ - "type", - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Remove a track AND all its clips by id.", - "properties": { - "trackId": { - "type": "string" - }, - "type": { - "const": "removeTrack", - "type": "string" - } - }, - "required": [ - "type", - "trackId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Patch a track's `name` / `enabled` by id.", - "properties": { - "trackId": { - "type": "string" - }, - "type": { - "const": "updateTrack", - "type": "string" - }, - "updates": { - "additionalProperties": false, - "properties": { - "enabled": { - "type": "boolean" - }, - "name": { - "type": "string" - } - }, - "type": "object" - } - }, - "required": [ - "type", - "trackId", - "updates" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Move a track from one index to another. ORDER: index 0 is the TOP layer, not the bottom — moving a backdrop to index 0 puts it in FRONT of everything and hides the composition. Higher index = further back. PRECEDENCE: track order decides compositing only among clips on the same plane. Overlays are composited in a lane ABOVE the video lane whatever their track index; the one exception is `zPlane:\"behind-subject\"`, which moves the overlay inside its host clip, behind the segmented foreground. So if reordering tracks does not change what you see, the plane split already decided it.", - "properties": { - "fromIndex": { - "type": "number" - }, - "toIndex": { - "type": "number" - }, - "type": { - "const": "reorderTracks", - "type": "string" - } - }, - "required": [ - "type", - "fromIndex", - "toIndex" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Move a clip to another SAME-family track, optionally at a new `newStartTime`.", - "properties": { - "clipId": { - "type": "string" - }, - "newStartTime": { - "type": "number" - }, - "targetTrackId": { - "type": "string" - }, - "type": { - "const": "moveClipToTrack", - "type": "string" - } - }, - "required": [ - "type", - "clipId", - "targetTrackId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Duplicate a clip by id. Pin `newClipId` to make the copy's id deterministic (required for a clean undo/inverse).", - "properties": { - "clipId": { - "type": "string" - }, - "newClipId": { - "type": "string" - }, - "type": { - "const": "duplicateClip", - "type": "string" - } - }, - "required": [ - "type", - "clipId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Server-authoritative: delete the [start,end] time window (seconds) and ripple every downstream clip/marker/caption earlier to close the gap.", - "properties": { - "end": { - "type": "number" - }, - "start": { - "type": "number" - }, - "type": { - "const": "cutAndRipple", - "type": "string" - } - }, - "required": [ - "type", - "start", - "end" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Server-authoritative: shift everything at/after `time` (seconds) by `amount` seconds (+ opens a gap, − closes one).", - "properties": { - "amount": { - "type": "number" - }, - "time": { - "type": "number" - }, - "type": { - "const": "ripple", - "type": "string" - } - }, - "required": [ - "type", - "time", - "amount" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Server-authoritative: exclude a [sourceStart,sourceEnd] span (seconds) of a clip's SOURCE (an internal trim) and ripple downstream — the preferred way to drop a sub-range vs a source patch.", - "properties": { - "clipId": { - "type": "string" - }, - "reason": { - "type": "string" - }, - "sourceEnd": { - "type": "number" - }, - "sourceStart": { - "type": "number" - }, - "type": { - "const": "addExcludedRange", - "type": "string" - } - }, - "required": [ - "type", - "clipId", - "sourceStart", - "sourceEnd" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Server-authoritative: remove a clip's previously-added excluded range by index (re-includes that span, ripples downstream).", - "properties": { - "clipId": { - "type": "string" - }, - "rangeIdx": { - "type": "number" - }, - "type": { - "const": "removeExcludedRange", - "type": "string" - } - }, - "required": [ - "type", - "clipId", - "rangeIdx" - ], - "type": "object" - }, - { - "additionalProperties": false, - "description": "Atomically repin explicit version3 invocations using complete before/after execution references and an exact composition etag. Persistence must canonically admit scoped source hashes, destination input schemas and every resulting target context before applying, including replay/undo. Never infer a latest head, downgrade versions or accept an admitted flag.", - "properties": { - "changes": { - "items": { - "additionalProperties": false, - "properties": { - "after": { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema1" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - "before": { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema1" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - "placementId": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "placementId", - "before", - "after" - ], - "type": "object" - }, - "maxItems": 512, - "minItems": 1, - "type": "array" - }, - "componentId": { - "minLength": 1, - "type": "string" - }, - "expectedCompositionEtag": { - "minLength": 1, - "type": "string" - }, - "from": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "to": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "type": { - "const": "component.repin-v3", - "type": "string" - } - }, - "required": [ - "type", - "componentId", - "from", - "to", - "expectedCompositionEtag", - "changes" - ], - "type": "object" - } -] - added
Input schema / properties / body / properties / ops / items / oneOfAdded value: +[ + { + "additionalProperties": false, + "description": "Add a clip to the timeline. The clip self-routes to a track by FAMILY (`clip.kind`, else derived from `source.kind`, else the target track) — a `media` clip MUST carry `kind` (video|audio|image) or a `trackId`, else it is rejected as ambiguous. `trackId` targets an existing SAME-family track; `newTrack:true` (with optional pinned `newTrackId`) creates a fresh track of that family.", + "properties": { + "clip": { + "additionalProperties": false, + "properties": { + "automation": { + "additionalProperties": false, + "properties": { + "lanes": { + "items": { + "additionalProperties": false, + "properties": { + "points": { + "items": { + "additionalProperties": false, + "properties": { + "t": { + "type": "number" + }, + "v": { + "type": "number" + } + }, + "required": [ + "t", + "v" + ], + "type": "object" + }, + "minItems": 2, + "type": "array" + }, + "target": { + "const": "volume", + "type": "string" + } + }, + "required": [ + "target", + "points" + ], + "type": "object" + }, + "type": "array" + }, + "version": { + "const": 1, + "type": "number" + } + }, + "required": [ + "version", + "lanes" + ], + "type": "object" + }, + "captionVisibility": { + "description": "Video media clip only. Hide native captions while this clip is topmost and covers the lower picture, or when an opaque, effect-free clip has an explicitly full-frame region, even with fit:contain. Caption words and timings remain stored and resume when another visible clip takes over.", + "enum": [ + "visible", + "hidden" + ], + "type": "string" + }, + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "effects": { + "items": { + "additionalProperties": false, + "properties": { + "component": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } + ] + }, + "id": { + "minLength": 1, + "type": "string" + }, + "params": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "type": "string" + }, + "window": { + "additionalProperties": false, + "properties": { + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "startTime": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "startTime", + "duration" + ], + "type": "object" + } + }, + "type": "object" + }, + "type": "array" + }, + "fit": { + "enum": [ + "cover", + "contain" + ], + "type": "string" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "kind": { + "enum": [ + "video", + "audio", + "image", + "overlay", + "effect" + ], + "type": "string" + }, + "legacyKeyframes": { + "additionalProperties": false, + "properties": { + "channels": { + "items": { + "type": "string" + }, + "type": "array" + }, + "needsUpgrade": { + "const": true, + "type": "boolean" + }, + "record": {} + }, + "required": [ + "needsUpgrade", + "channels", + "record" + ], + "type": "object" + }, + "linkGroupId": { + "minLength": 1, + "type": "string" + }, + "opacity": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "position": { + "additionalProperties": {}, + "description": "Clip CENTRE as a fraction of the frame: {x:0.5,y:0.5} is dead centre, 0 to 1 is inside the frame, and a little overshoot (down to -1, up to 2) is how an entrance starts off-canvas. NOT pixels: the renderer maps x to `left: x*100%`, so `x: 180` sits 180 frame-widths away and draws nothing.", + "properties": { + "x": { + "maximum": 2, + "minimum": -1, + "type": "number" + }, + "y": { + "maximum": 2, + "minimum": -1, + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "type": "object" + }, + "region": { + "additionalProperties": {}, + "properties": { + "h": { + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "w": { + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "x": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "x", + "y", + "w", + "h" + ], + "type": "object" + }, + "rotation": { + "type": "number" + }, + "scale": { + "exclusiveMinimum": 0, + "type": "number" + }, + "source": { + "oneOf": [ + { + "additionalProperties": {}, + "properties": { + "anchor": { + "additionalProperties": {}, + "properties": { + "clipId": { + "minLength": 1, + "type": "string" + }, + "offsetMs": { + "type": "number" + } + }, + "required": [ + "clipId", + "offsetMs" + ], + "type": "object" + }, + "audioRole": { + "enum": [ + "sfx", + "music", + "vo", + "ambience" + ], + "type": "string" + }, + "duck": { + "additionalProperties": {}, + "properties": { + "attackMs": { + "minimum": 0, + "type": "number" + }, + "duckDb": { + "maximum": 0, + "type": "number" + }, + "releaseMs": { + "minimum": 0, + "type": "number" + }, + "windows": { + "items": { + "additionalProperties": {}, + "properties": { + "endMs": { + "type": "number" + }, + "startMs": { + "type": "number" + } + }, + "required": [ + "startMs", + "endMs" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "duckDb", + "attackMs", + "releaseMs" + ], + "type": "object" + }, + "excludedRanges": { + "items": { + "additionalProperties": {}, + "properties": { + "end": { + "minimum": 0, + "type": "number" + }, + "reason": { + "type": "string" + }, + "start": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "type": "array" + }, + "fadeInMs": { + "minimum": 0, + "type": "number" + }, + "fadeOutMs": { + "minimum": 0, + "type": "number" + }, + "kenBurns": { + "enum": [ + "in", + "out", + "pan-l", + "pan-r", + "none" + ], + "type": "string" + }, + "kind": { + "const": "media", + "type": "string" + }, + "loop": { + "type": "boolean" + }, + "mediaId": { + "type": "string" + }, + "muted": { + "type": "boolean" + }, + "playbackRate": { + "exclusiveMinimum": 0, + "type": "number" + }, + "reframe": { + "additionalProperties": {}, + "properties": { + "segments": { + "items": { + "additionalProperties": {}, + "properties": { + "bias": { + "additionalProperties": {}, + "description": "Optional FINE framing nudge off the focus center, source-normalized in [−0.3, 0.3]. A small correction (headroom, rule-of-thirds), NOT a reframe — use `focus`/`zoom` for the actual shot. Omit (treated as 0) to sit dead-center on the focus.", + "properties": { + "x": { + "description": "Horizontal nudge, source-normalized (+ = right).", + "maximum": 0.3, + "minimum": -0.3, + "type": "number" + }, + "y": { + "description": "Vertical nudge, source-normalized (+ = down).", + "maximum": 0.3, + "minimum": -0.3, + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "type": "object" + }, + "ease": { + "additionalProperties": {}, + "description": "Zoom/center ramp DURATIONS in SECONDS at this segment's edges — NOT a unitless 0–1 curve. ~0.3–0.6s reads as a snappy push; >1s reads sluggish. Keep `in` + `out` ≤ the segment's duration (endSec − startSec): the two edges share the span, so to ramp across the WHOLE segment set one edge to the full duration and the other to 0. Omit for an instant cut to this framing.", + "properties": { + "in": { + "description": "Ease-IN ramp DURATION in seconds at the segment START.", + "minimum": 0, + "type": "number" + }, + "out": { + "description": "Ease-OUT ramp DURATION in seconds at the segment END.", + "minimum": 0, + "type": "number" + } + }, + "required": [ + "in", + "out" + ], + "type": "object" + }, + "endSec": { + "description": "Segment END in seconds, clip-relative. The span (endSec − startSec) is this segment's duration — the window `ease` ramps over.", + "exclusiveMinimum": 0, + "type": "number" + }, + "focus": { + "description": "WHO/WHAT the camera tracks this segment (the reframe center), selected by `mode`: `frame-center` = no tracking, hold the geometric center (static/graphic footage, or a pure zoom); `point` = lock to a fixed source-normalized {x,y} (a non-moving on-screen element); `face` = track a detected face by `faceId` (from get_media_context), with optional `shotScale` close|standard|wide for tightness; `all-faces` = frame the bounding box of every detected face (group/ensemble shots); `active-speaker` = follow whoever is speaking (diarized talking-head / podcast). Pick by what the beat is about; pair with `zoom` for how tight.", + "oneOf": [ + { + "additionalProperties": {}, + "properties": { + "mode": { + "const": "frame-center", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "mode": { + "const": "point", + "type": "string" + }, + "x": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "mode", + "x", + "y" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "faceId": { + "minLength": 1, + "type": "string" + }, + "mode": { + "const": "face", + "type": "string" + }, + "shotScale": { + "enum": [ + "close", + "standard", + "wide" + ], + "type": "string" + } + }, + "required": [ + "mode", + "faceId" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "mode": { + "const": "all-faces", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "mode": { + "const": "active-speaker", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" + } + ] + }, + "intent": { + "description": "Optional editorial LABEL for diff/log readability (e.g. 'speaker-tight', 'wide-context'). Cosmetic — NOT honored by the derive math and excluded from the variant cache key.", + "type": "string" + }, + "startSec": { + "description": "Segment START in seconds, clip-relative. Segments tile the clip's duration in order.", + "minimum": 0, + "type": "number" + }, + "zoom": { + "description": "How TIGHT the framing is — the fraction of the source the output viewport shows. <1 punches IN (a smaller source fraction, magnified to fill the frame); 1 = the full frame (no crop). ~0.6–0.8 is a moderate push-in, ~0.5 a tight close-up, 0.1 the maximum zoom. There is NO zoom-OUT past the full frame (max 1). Omit for the full frame. MUTUALLY EXCLUSIVE with `focus.shotScale`: a face-tracked shot is sized EITHER by the editorial scale (shotScale, calibrated to the detected face) OR by an explicit zoom — never both.", + "maximum": 1, + "minimum": 0.1, + "type": "number" + } + }, + "required": [ + "startSec", + "endSec", + "focus" + ], + "type": "object" + }, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "segments" + ], + "type": "object" + }, + "sync": { + "enum": [ + "video", + "independent" + ], + "type": "string" + }, + "trim": { + "additionalProperties": {}, + "properties": { + "end": { + "minimum": 0, + "type": "number" + }, + "start": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "volume": { + "maximum": 4, + "minimum": 0, + "type": "number" + }, + "volumeDb": { + "type": "number" + } + }, + "required": [ + "kind", + "mediaId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "componentId": { + "minLength": 1, + "type": "string" + }, + "execution": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } + ] + }, + "kind": { + "const": "component", + "type": "string" + }, + "placement": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "clip", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "content-slots", + "type": "string" + }, + "slots": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "ownership": { + "enum": [ + "reference", + "exclusive" + ], + "type": "string" + }, + "targetClipIds": { + "items": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "targetClipIds", + "ownership" + ], + "type": "object" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "kind", + "slots" + ], + "type": "object" + } + ] + }, + "props": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "retired": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "zPlane": { + "enum": [ + "front", + "behind-subject" + ], + "type": "string" + } + }, + "required": [ + "kind", + "componentId", + "props" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "anchor": { + "additionalProperties": {}, + "properties": { + "space": { + "const": "scene", + "type": "string" + }, + "x": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "space", + "x", + "y" + ], + "type": "object" + }, + "kind": { + "const": "overlay", + "type": "string" + }, + "parallax": { + "maximum": 0.3, + "minimum": -0.3, + "type": "number" + }, + "params": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "pattern": "^(?!custom$)", + "type": "string" + }, + "zPlane": { + "enum": [ + "front", + "behind-subject" + ], + "type": "string" + } + }, + "required": [ + "kind", + "primitiveId", + "params" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "component": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } + ] + }, + "kind": { + "const": "effect", + "type": "string" + }, + "params": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "type": "string" + }, + "targetTrackIds": { + "items": { + "minLength": 1, + "type": "string" + }, + "minItems": 1, + "type": "array" + }, + "wrapperOrder": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "html": { + "minLength": 1, + "type": "string" + }, + "kind": { + "const": "card", + "type": "string" + }, + "tokens": { + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "zPlane": { + "const": "front", + "type": "string" + } + }, + "required": [ + "kind", + "html" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "compositionId": { + "minLength": 1, + "type": "string" + }, + "kind": { + "const": "composition", + "type": "string" + }, + "trim": { + "additionalProperties": {}, + "properties": { + "end": { + "minimum": 0, + "type": "number" + }, + "start": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "compositionId" + ], + "type": "object" + } + ] + }, + "startTime": { + "minimum": 0, + "type": "number" + }, + "transitionIn": { + "additionalProperties": {}, + "properties": { + "component": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } + ] + }, + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "fromClipId": { + "minLength": 1, + "type": "string" + }, + "handlePolicy": { + "const": "outgoing-overrun-at-cut-v1", + "type": "string" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "toClipId": { + "minLength": 1, + "type": "string" + }, + "type": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "type", + "duration" + ], + "type": "object" + }, + "tweens": { + "items": { + "additionalProperties": false, + "properties": { + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "keyframes": { + "additionalProperties": false, + "properties": { + "easeEach": { + "const": "none", + "type": "string" + }, + "format": { + "const": "percentage", + "type": "string" + }, + "keyframes": { + "items": { + "additionalProperties": false, + "properties": { + "ease": { + "type": "string" + }, + "percentage": { + "type": "number" + }, + "properties": { + "additionalProperties": { + "type": "number" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + }, + "required": [ + "percentage", + "properties" + ], + "type": "object" + }, + "minItems": 2, + "type": "array" + } + }, + "required": [ + "format", + "easeEach", + "keyframes" + ], + "type": "object" + }, + "position": { + "type": "number" + }, + "propertyGroup": { + "enum": [ + "visual", + "scale", + "rotation", + "position" + ], + "type": "string" + } + }, + "required": [ + "id", + "propertyGroup", + "position", + "duration", + "keyframes" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "id", + "startTime", + "duration", + "source" + ], + "type": "object" + }, + "newTrack": { + "type": "boolean" + }, + "newTrackId": { + "type": "string" + }, + "trackId": { + "type": "string" + }, + "type": { + "const": "clip.add", + "type": "string" + } + }, + "required": [ + "type", + "clip" + ], + "type": "object" + }, + { + "additionalProperties": false, + "description": "Remove a clip by id (located across every track).", + "properties": { + "clipId": { + "type": "string" + }, + "type": { + "const": "clip.remove", + "type": "string" + } + }, + "required": [ + "type", + "clipId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "description": "Set (or CLEAR, with `keyframes: null`) ONE keyframed channel of a clip: `opacity`, `scale`, `rotation`, `position.x`, `position.y` or `volume`, with at least two keyframes `{time, value, ease?}` in any order. `time` is seconds from the clip's own start (0 to its duration); `value` uses the property's own unit, as its scalar: opacity 0-1, scale a multiplier, rotation degrees, position.x/position.y a FRACTION of the frame (0.5 = centre, never px), volume 0-4. Each keyframe's optional `ease` shapes the segment ARRIVING at it, in HyperFrames' vocabulary: `none` (linear, the default), named eases such as `power2.out`, `back.out`, `expo.inOut`, `spring-gentle`, `hold`, or `custom(M0,0 Cx1,y1 x2,y2 1,1)` (a cubic, x in [0,1]). Before its first keyframe a channel holds its first value, after its last it holds the last; a channel OVERRIDES the clip's scalar (`opacity`, `scale`, `rotation`, `position`). The op REPLACES that property's keyframes; other channels are untouched. Volume keyframes are linear and only for a video or audio media clip. Trims and splits keep every keyframe on its content. Keyframes are stored as HyperFrames tweens (`tweens`) and automation (`automation`) on the clip; author them with this op, not `clip.update`.", + "properties": { + "clipId": { + "minLength": 1, + "type": "string" + }, + "keyframes": { + "anyOf": [ + { + "items": { + "additionalProperties": false, + "properties": { + "ease": { + "type": "string" + }, + "time": { + "minimum": 0, + "type": "number" + }, + "value": { + "type": "number" + } + }, + "required": [ + "time", + "value" + ], + "type": "object" + }, + "minItems": 2, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "property": { + "enum": [ + "opacity", + "scale", + "rotation", + "position.x", + "position.y", + "volume" + ], + "type": "string" + }, + "type": { + "const": "clip.setKeyframes", + "type": "string" + } + }, + "required": [ + "type", + "clipId", + "property", + "keyframes" + ], + "type": "object" + }, + { + "additionalProperties": false, + "description": "Patch an existing clip by id (cross-family). The patch is a partial TimelineClip. NOTE: `source` is REPLACED wholesale — the patch merges at the top level only, so a partial `source` WIPES the source fields you omit. Patch the whole source object when changing it. (To change reframe/excluded ranges, prefer setCropIntents / addExcludedRange, not a source patch.)", + "properties": { + "clipId": { + "type": "string" + }, + "patch": { + "additionalProperties": false, + "properties": { + "automation": { + "additionalProperties": false, + "properties": { + "lanes": { + "items": { + "additionalProperties": false, + "properties": { + "points": { + "items": { + "additionalProperties": false, + "properties": { + "t": { + "type": "number" + }, + "v": { + "type": "number" + } + }, + "required": [ + "t", + "v" + ], + "type": "object" + }, + "minItems": 2, + "type": "array" + }, + "target": { + "const": "volume", + "type": "string" + } + }, + "required": [ + "target", + "points" + ], + "type": "object" + }, + "type": "array" + }, + "version": { + "const": 1, + "type": "number" + } + }, + "required": [ + "version", + "lanes" + ], + "type": "object" + }, + "captionVisibility": { + "description": "Video media clip only. Hide native captions while this clip is topmost and covers the lower picture, or when an opaque, effect-free clip has an explicitly full-frame region, even with fit:contain. Caption words and timings remain stored and resume when another visible clip takes over.", + "enum": [ + "visible", + "hidden" + ], + "type": "string" + }, + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "effects": { + "items": { + "additionalProperties": false, + "properties": { + "component": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } + ] + }, + "id": { + "minLength": 1, + "type": "string" + }, + "params": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "type": "string" + }, + "window": { + "additionalProperties": false, + "properties": { + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "startTime": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "startTime", + "duration" + ], + "type": "object" + } + }, + "type": "object" + }, + "type": "array" + }, + "fit": { + "enum": [ + "cover", + "contain" + ], + "type": "string" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "kind": { + "enum": [ + "video", + "audio", + "image", + "overlay", + "effect" + ], + "type": "string" + }, + "legacyKeyframes": { + "additionalProperties": false, + "properties": { + "channels": { + "items": { + "type": "string" + }, + "type": "array" + }, + "needsUpgrade": { + "const": true, + "type": "boolean" + }, + "record": {} + }, + "required": [ + "needsUpgrade", + "channels", + "record" + ], + "type": "object" + }, + "linkGroupId": { + "minLength": 1, + "type": "string" + }, + "opacity": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "position": { + "additionalProperties": {}, + "description": "Clip CENTRE as a fraction of the frame: {x:0.5,y:0.5} is dead centre, 0 to 1 is inside the frame, and a little overshoot (down to -1, up to 2) is how an entrance starts off-canvas. NOT pixels: the renderer maps x to `left: x*100%`, so `x: 180` sits 180 frame-widths away and draws nothing.", + "properties": { + "x": { + "maximum": 2, + "minimum": -1, + "type": "number" + }, + "y": { + "maximum": 2, + "minimum": -1, + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "type": "object" + }, + "region": { + "additionalProperties": {}, + "properties": { + "h": { + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "w": { + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "x": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "x", + "y", + "w", + "h" + ], + "type": "object" + }, + "rotation": { + "type": "number" + }, + "scale": { + "exclusiveMinimum": 0, + "type": "number" + }, + "source": { + "oneOf": [ + { + "additionalProperties": {}, + "properties": { + "anchor": { + "additionalProperties": {}, + "properties": { + "clipId": { + "minLength": 1, + "type": "string" + }, + "offsetMs": { + "type": "number" + } + }, + "required": [ + "clipId", + "offsetMs" + ], + "type": "object" + }, + "audioRole": { + "enum": [ + "sfx", + "music", + "vo", + "ambience" + ], + "type": "string" + }, + "duck": { + "additionalProperties": {}, + "properties": { + "attackMs": { + "minimum": 0, + "type": "number" + }, + "duckDb": { + "maximum": 0, + "type": "number" + }, + "releaseMs": { + "minimum": 0, + "type": "number" + }, + "windows": { + "items": { + "additionalProperties": {}, + "properties": { + "endMs": { + "type": "number" + }, + "startMs": { + "type": "number" + } + }, + "required": [ + "startMs", + "endMs" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "duckDb", + "attackMs", + "releaseMs" + ], + "type": "object" + }, + "excludedRanges": { + "items": { + "additionalProperties": {}, + "properties": { + "end": { + "minimum": 0, + "type": "number" + }, + "reason": { + "type": "string" + }, + "start": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "type": "array" + }, + "fadeInMs": { + "minimum": 0, + "type": "number" + }, + "fadeOutMs": { + "minimum": 0, + "type": "number" + }, + "kenBurns": { + "enum": [ + "in", + "out", + "pan-l", + "pan-r", + "none" + ], + "type": "string" + }, + "kind": { + "const": "media", + "type": "string" + }, + "loop": { + "type": "boolean" + }, + "mediaId": { + "type": "string" + }, + "muted": { + "type": "boolean" + }, + "playbackRate": { + "exclusiveMinimum": 0, + "type": "number" + }, + "reframe": { + "additionalProperties": {}, + "properties": { + "segments": { + "items": { + "additionalProperties": {}, + "properties": { + "bias": { + "additionalProperties": {}, + "description": "Optional FINE framing nudge off the focus center, source-normalized in [−0.3, 0.3]. A small correction (headroom, rule-of-thirds), NOT a reframe — use `focus`/`zoom` for the actual shot. Omit (treated as 0) to sit dead-center on the focus.", + "properties": { + "x": { + "description": "Horizontal nudge, source-normalized (+ = right).", + "maximum": 0.3, + "minimum": -0.3, + "type": "number" + }, + "y": { + "description": "Vertical nudge, source-normalized (+ = down).", + "maximum": 0.3, + "minimum": -0.3, + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "type": "object" + }, + "ease": { + "additionalProperties": {}, + "description": "Zoom/center ramp DURATIONS in SECONDS at this segment's edges — NOT a unitless 0–1 curve. ~0.3–0.6s reads as a snappy push; >1s reads sluggish. Keep `in` + `out` ≤ the segment's duration (endSec − startSec): the two edges share the span, so to ramp across the WHOLE segment set one edge to the full duration and the other to 0. Omit for an instant cut to this framing.", + "properties": { + "in": { + "description": "Ease-IN ramp DURATION in seconds at the segment START.", + "minimum": 0, + "type": "number" + }, + "out": { + "description": "Ease-OUT ramp DURATION in seconds at the segment END.", + "minimum": 0, + "type": "number" + } + }, + "required": [ + "in", + "out" + ], + "type": "object" + }, + "endSec": { + "description": "Segment END in seconds, clip-relative. The span (endSec − startSec) is this segment's duration — the window `ease` ramps over.", + "exclusiveMinimum": 0, + "type": "number" + }, + "focus": { + "description": "WHO/WHAT the camera tracks this segment (the reframe center), selected by `mode`: `frame-center` = no tracking, hold the geometric center (static/graphic footage, or a pure zoom); `point` = lock to a fixed source-normalized {x,y} (a non-moving on-screen element); `face` = track a detected face by `faceId` (from get_media_context), with optional `shotScale` close|standard|wide for tightness; `all-faces` = frame the bounding box of every detected face (group/ensemble shots); `active-speaker` = follow whoever is speaking (diarized talking-head / podcast). Pick by what the beat is about; pair with `zoom` for how tight.", + "oneOf": [ + { + "additionalProperties": {}, + "properties": { + "mode": { + "const": "frame-center", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "mode": { + "const": "point", + "type": "string" + }, + "x": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "mode", + "x", + "y" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "faceId": { + "minLength": 1, + "type": "string" + }, + "mode": { + "const": "face", + "type": "string" + }, + "shotScale": { + "enum": [ + "close", + "standard", + "wide" + ], + "type": "string" + } + }, + "required": [ + "mode", + "faceId" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "mode": { + "const": "all-faces", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "mode": { + "const": "active-speaker", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" + } + ] + }, + "intent": { + "description": "Optional editorial LABEL for diff/log readability (e.g. 'speaker-tight', 'wide-context'). Cosmetic — NOT honored by the derive math and excluded from the variant cache key.", + "type": "string" + }, + "startSec": { + "description": "Segment START in seconds, clip-relative. Segments tile the clip's duration in order.", + "minimum": 0, + "type": "number" + }, + "zoom": { + "description": "How TIGHT the framing is — the fraction of the source the output viewport shows. <1 punches IN (a smaller source fraction, magnified to fill the frame); 1 = the full frame (no crop). ~0.6–0.8 is a moderate push-in, ~0.5 a tight close-up, 0.1 the maximum zoom. There is NO zoom-OUT past the full frame (max 1). Omit for the full frame. MUTUALLY EXCLUSIVE with `focus.shotScale`: a face-tracked shot is sized EITHER by the editorial scale (shotScale, calibrated to the detected face) OR by an explicit zoom — never both.", + "maximum": 1, + "minimum": 0.1, + "type": "number" + } + }, + "required": [ + "startSec", + "endSec", + "focus" + ], + "type": "object" + }, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "segments" + ], + "type": "object" + }, + "sync": { + "enum": [ + "video", + "independent" + ], + "type": "string" + }, + "trim": { + "additionalProperties": {}, + "properties": { + "end": { + "minimum": 0, + "type": "number" + }, + "start": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "volume": { + "maximum": 4, + "minimum": 0, + "type": "number" + }, + "volumeDb": { + "type": "number" + } + }, + "required": [ + "kind", + "mediaId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "componentId": { + "minLength": 1, + "type": "string" + }, + "execution": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } + ] + }, + "kind": { + "const": "component", + "type": "string" + }, + "placement": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "clip", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "content-slots", + "type": "string" + }, + "slots": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "ownership": { + "enum": [ + "reference", + "exclusive" + ], + "type": "string" + }, + "targetClipIds": { + "items": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "targetClipIds", + "ownership" + ], + "type": "object" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "kind", + "slots" + ], + "type": "object" + } + ] + }, + "props": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "retired": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "zPlane": { + "enum": [ + "front", + "behind-subject" + ], + "type": "string" + } + }, + "required": [ + "kind", + "componentId", + "props" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "anchor": { + "additionalProperties": {}, + "properties": { + "space": { + "const": "scene", + "type": "string" + }, + "x": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "space", + "x", + "y" + ], + "type": "object" + }, + "kind": { + "const": "overlay", + "type": "string" + }, + "parallax": { + "maximum": 0.3, + "minimum": -0.3, + "type": "number" + }, + "params": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "pattern": "^(?!custom$)", + "type": "string" + }, + "zPlane": { + "enum": [ + "front", + "behind-subject" + ], + "type": "string" + } + }, + "required": [ + "kind", + "primitiveId", + "params" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "component": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } + ] + }, + "kind": { + "const": "effect", + "type": "string" + }, + "params": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "type": "string" + }, + "targetTrackIds": { + "items": { + "minLength": 1, + "type": "string" + }, + "minItems": 1, + "type": "array" + }, + "wrapperOrder": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "html": { + "minLength": 1, + "type": "string" + }, + "kind": { + "const": "card", + "type": "string" + }, + "tokens": { + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "zPlane": { + "const": "front", + "type": "string" + } + }, + "required": [ + "kind", + "html" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "compositionId": { + "minLength": 1, + "type": "string" + }, + "kind": { + "const": "composition", + "type": "string" + }, + "trim": { + "additionalProperties": {}, + "properties": { + "end": { + "minimum": 0, + "type": "number" + }, + "start": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "compositionId" + ], + "type": "object" + } + ] + }, + "startTime": { + "minimum": 0, + "type": "number" + }, + "transitionIn": { + "additionalProperties": {}, + "properties": { + "component": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } + ] + }, + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "fromClipId": { + "minLength": 1, + "type": "string" + }, + "handlePolicy": { + "const": "outgoing-overrun-at-cut-v1", + "type": "string" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "toClipId": { + "minLength": 1, + "type": "string" + }, + "type": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "type", + "duration" + ], + "type": "object" + }, + "tweens": { + "items": { + "additionalProperties": false, + "properties": { + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "keyframes": { + "additionalProperties": false, + "properties": { + "easeEach": { + "const": "none", + "type": "string" + }, + "format": { + "const": "percentage", + "type": "string" + }, + "keyframes": { + "items": { + "additionalProperties": false, + "properties": { + "ease": { + "type": "string" + }, + "percentage": { + "type": "number" + }, + "properties": { + "additionalProperties": { + "type": "number" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + }, + "required": [ + "percentage", + "properties" + ], + "type": "object" + }, + "minItems": 2, + "type": "array" + } + }, + "required": [ + "format", + "easeEach", + "keyframes" + ], + "type": "object" + }, + "position": { + "type": "number" + }, + "propertyGroup": { + "enum": [ + "visual", + "scale", + "rotation", + "position" + ], + "type": "string" + } + }, + "required": [ + "id", + "propertyGroup", + "position", + "duration", + "keyframes" + ], + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "type": { + "const": "clip.update", + "type": "string" + } + }, + "required": [ + "type", + "clipId", + "patch" + ], + "type": "object" + }, + { + "additionalProperties": false, + "description": "Remove EVERY clip sourced from a given mediaId (e.g. after deleting that media).", + "properties": { + "mediaId": { + "type": "string" + }, + "type": { + "const": "removeClipsByMediaId", + "type": "string" + } + }, + "required": [ + "type", + "mediaId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "description": "Replace the overlay channel wholesale with the given clips (bulk set, not a merge).", + "properties": { + "clips": { + "items": { + "additionalProperties": false, + "properties": { + "automation": { + "additionalProperties": false, + "properties": { + "lanes": { + "items": { + "additionalProperties": false, + "properties": { + "points": { + "items": { + "additionalProperties": false, + "properties": { + "t": { + "type": "number" + }, + "v": { + "type": "number" + } + }, + "required": [ + "t", + "v" + ], + "type": "object" + }, + "minItems": 2, + "type": "array" + }, + "target": { + "const": "volume", + "type": "string" + } + }, + "required": [ + "target", + "points" + ], + "type": "object" + }, + "type": "array" + }, + "version": { + "const": 1, + "type": "number" + } + }, + "required": [ + "version", + "lanes" + ], + "type": "object" + }, + "captionVisibility": { + "description": "Video media clip only. Hide native captions while this clip is topmost and covers the lower picture, or when an opaque, effect-free clip has an explicitly full-frame region, even with fit:contain. Caption words and timings remain stored and resume when another visible clip takes over.", + "enum": [ + "visible", + "hidden" + ], + "type": "string" + }, + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "effects": { + "items": { + "additionalProperties": false, + "properties": { + "component": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } + ] + }, + "id": { + "minLength": 1, + "type": "string" + }, + "params": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "type": "string" + }, + "window": { + "additionalProperties": false, + "properties": { + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "startTime": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "startTime", + "duration" + ], + "type": "object" + } + }, + "type": "object" + }, + "type": "array" + }, + "fit": { + "enum": [ + "cover", + "contain" + ], + "type": "string" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "kind": { + "enum": [ + "video", + "audio", + "image", + "overlay", + "effect" + ], + "type": "string" + }, + "legacyKeyframes": { + "additionalProperties": false, + "properties": { + "channels": { + "items": { + "type": "string" + }, + "type": "array" + }, + "needsUpgrade": { + "const": true, + "type": "boolean" + }, + "record": {} + }, + "required": [ + "needsUpgrade", + "channels", + "record" + ], + "type": "object" + }, + "linkGroupId": { + "minLength": 1, + "type": "string" + }, + "opacity": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "position": { + "additionalProperties": {}, + "description": "Clip CENTRE as a fraction of the frame: {x:0.5,y:0.5} is dead centre, 0 to 1 is inside the frame, and a little overshoot (down to -1, up to 2) is how an entrance starts off-canvas. NOT pixels: the renderer maps x to `left: x*100%`, so `x: 180` sits 180 frame-widths away and draws nothing.", + "properties": { + "x": { + "maximum": 2, + "minimum": -1, + "type": "number" + }, + "y": { + "maximum": 2, + "minimum": -1, + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "type": "object" + }, + "region": { + "additionalProperties": {}, + "properties": { + "h": { + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "w": { + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "x": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "x", + "y", + "w", + "h" + ], + "type": "object" + }, + "rotation": { + "type": "number" + }, + "scale": { + "exclusiveMinimum": 0, + "type": "number" + }, + "source": { + "oneOf": [ + { + "additionalProperties": {}, + "properties": { + "anchor": { + "additionalProperties": {}, + "properties": { + "clipId": { + "minLength": 1, + "type": "string" + }, + "offsetMs": { + "type": "number" + } + }, + "required": [ + "clipId", + "offsetMs" + ], + "type": "object" + }, + "audioRole": { + "enum": [ + "sfx", + "music", + "vo", + "ambience" + ], + "type": "string" + }, + "duck": { + "additionalProperties": {}, + "properties": { + "attackMs": { + "minimum": 0, + "type": "number" + }, + "duckDb": { + "maximum": 0, + "type": "number" + }, + "releaseMs": { + "minimum": 0, + "type": "number" + }, + "windows": { + "items": { + "additionalProperties": {}, + "properties": { + "endMs": { + "type": "number" + }, + "startMs": { + "type": "number" + } + }, + "required": [ + "startMs", + "endMs" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "duckDb", + "attackMs", + "releaseMs" + ], + "type": "object" + }, + "excludedRanges": { + "items": { + "additionalProperties": {}, + "properties": { + "end": { + "minimum": 0, + "type": "number" + }, + "reason": { + "type": "string" + }, + "start": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "type": "array" + }, + "fadeInMs": { + "minimum": 0, + "type": "number" + }, + "fadeOutMs": { + "minimum": 0, + "type": "number" + }, + "kenBurns": { + "enum": [ + "in", + "out", + "pan-l", + "pan-r", + "none" + ], + "type": "string" + }, + "kind": { + "const": "media", + "type": "string" + }, + "loop": { + "type": "boolean" + }, + "mediaId": { + "type": "string" + }, + "muted": { + "type": "boolean" + }, + "playbackRate": { + "exclusiveMinimum": 0, + "type": "number" + }, + "reframe": { + "additionalProperties": {}, + "properties": { + "segments": { + "items": { + "additionalProperties": {}, + "properties": { + "bias": { + "additionalProperties": {}, + "description": "Optional FINE framing nudge off the focus center, source-normalized in [−0.3, 0.3]. A small correction (headroom, rule-of-thirds), NOT a reframe — use `focus`/`zoom` for the actual shot. Omit (treated as 0) to sit dead-center on the focus.", + "properties": { + "x": { + "description": "Horizontal nudge, source-normalized (+ = right).", + "maximum": 0.3, + "minimum": -0.3, + "type": "number" + }, + "y": { + "description": "Vertical nudge, source-normalized (+ = down).", + "maximum": 0.3, + "minimum": -0.3, + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "type": "object" + }, + "ease": { + "additionalProperties": {}, + "description": "Zoom/center ramp DURATIONS in SECONDS at this segment's edges — NOT a unitless 0–1 curve. ~0.3–0.6s reads as a snappy push; >1s reads sluggish. Keep `in` + `out` ≤ the segment's duration (endSec − startSec): the two edges share the span, so to ramp across the WHOLE segment set one edge to the full duration and the other to 0. Omit for an instant cut to this framing.", + "properties": { + "in": { + "description": "Ease-IN ramp DURATION in seconds at the segment START.", + "minimum": 0, + "type": "number" + }, + "out": { + "description": "Ease-OUT ramp DURATION in seconds at the segment END.", + "minimum": 0, + "type": "number" + } + }, + "required": [ + "in", + "out" + ], + "type": "object" + }, + "endSec": { + "description": "Segment END in seconds, clip-relative. The span (endSec − startSec) is this segment's duration — the window `ease` ramps over.", + "exclusiveMinimum": 0, + "type": "number" + }, + "focus": { + "description": "WHO/WHAT the camera tracks this segment (the reframe center), selected by `mode`: `frame-center` = no tracking, hold the geometric center (static/graphic footage, or a pure zoom); `point` = lock to a fixed source-normalized {x,y} (a non-moving on-screen element); `face` = track a detected face by `faceId` (from get_media_context), with optional `shotScale` close|standard|wide for tightness; `all-faces` = frame the bounding box of every detected face (group/ensemble shots); `active-speaker` = follow whoever is speaking (diarized talking-head / podcast). Pick by what the beat is about; pair with `zoom` for how tight.", + "oneOf": [ + { + "additionalProperties": {}, + "properties": { + "mode": { + "const": "frame-center", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "mode": { + "const": "point", + "type": "string" + }, + "x": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "mode", + "x", + "y" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "faceId": { + "minLength": 1, + "type": "string" + }, + "mode": { + "const": "face", + "type": "string" + }, + "shotScale": { + "enum": [ + "close", + "standard", + "wide" + ], + "type": "string" + } + }, + "required": [ + "mode", + "faceId" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "mode": { + "const": "all-faces", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "mode": { + "const": "active-speaker", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" + } + ] + }, + "intent": { + "description": "Optional editorial LABEL for diff/log readability (e.g. 'speaker-tight', 'wide-context'). Cosmetic — NOT honored by the derive math and excluded from the variant cache key.", + "type": "string" + }, + "startSec": { + "description": "Segment START in seconds, clip-relative. Segments tile the clip's duration in order.", + "minimum": 0, + "type": "number" + }, + "zoom": { + "description": "How TIGHT the framing is — the fraction of the source the output viewport shows. <1 punches IN (a smaller source fraction, magnified to fill the frame); 1 = the full frame (no crop). ~0.6–0.8 is a moderate push-in, ~0.5 a tight close-up, 0.1 the maximum zoom. There is NO zoom-OUT past the full frame (max 1). Omit for the full frame. MUTUALLY EXCLUSIVE with `focus.shotScale`: a face-tracked shot is sized EITHER by the editorial scale (shotScale, calibrated to the detected face) OR by an explicit zoom — never both.", + "maximum": 1, + "minimum": 0.1, + "type": "number" + } + }, + "required": [ + "startSec", + "endSec", + "focus" + ], + "type": "object" + }, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "segments" + ], + "type": "object" + }, + "sync": { + "enum": [ + "video", + "independent" + ], + "type": "string" + }, + "trim": { + "additionalProperties": {}, + "properties": { + "end": { + "minimum": 0, + "type": "number" + }, + "start": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "volume": { + "maximum": 4, + "minimum": 0, + "type": "number" + }, + "volumeDb": { + "type": "number" + } + }, + "required": [ + "kind", + "mediaId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "componentId": { + "minLength": 1, + "type": "string" + }, + "execution": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } + ] + }, + "kind": { + "const": "component", + "type": "string" + }, + "placement": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "clip", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "content-slots", + "type": "string" + }, + "slots": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "ownership": { + "enum": [ + "reference", + "exclusive" + ], + "type": "string" + }, + "targetClipIds": { + "items": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "targetClipIds", + "ownership" + ], + "type": "object" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "kind", + "slots" + ], + "type": "object" + } + ] + }, + "props": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "retired": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "zPlane": { + "enum": [ + "front", + "behind-subject" + ], + "type": "string" + } + }, + "required": [ + "kind", + "componentId", + "props" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "anchor": { + "additionalProperties": {}, + "properties": { + "space": { + "const": "scene", + "type": "string" + }, + "x": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "space", + "x", + "y" + ], + "type": "object" + }, + "kind": { + "const": "overlay", + "type": "string" + }, + "parallax": { + "maximum": 0.3, + "minimum": -0.3, + "type": "number" + }, + "params": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "pattern": "^(?!custom$)", + "type": "string" + }, + "zPlane": { + "enum": [ + "front", + "behind-subject" + ], + "type": "string" + } + }, + "required": [ + "kind", + "primitiveId", + "params" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "component": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } + ] + }, + "kind": { + "const": "effect", + "type": "string" + }, + "params": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "type": "string" + }, + "targetTrackIds": { + "items": { + "minLength": 1, + "type": "string" + }, + "minItems": 1, + "type": "array" + }, + "wrapperOrder": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "html": { + "minLength": 1, + "type": "string" + }, + "kind": { + "const": "card", + "type": "string" + }, + "tokens": { + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "zPlane": { + "const": "front", + "type": "string" + } + }, + "required": [ + "kind", + "html" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "compositionId": { + "minLength": 1, + "type": "string" + }, + "kind": { + "const": "composition", + "type": "string" + }, + "trim": { + "additionalProperties": {}, + "properties": { + "end": { + "minimum": 0, + "type": "number" + }, + "start": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "compositionId" + ], + "type": "object" + } + ] + }, + "startTime": { + "minimum": 0, + "type": "number" + }, + "transitionIn": { + "additionalProperties": {}, + "properties": { + "component": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } + ] + }, + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "fromClipId": { + "minLength": 1, + "type": "string" + }, + "handlePolicy": { + "const": "outgoing-overrun-at-cut-v1", + "type": "string" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "toClipId": { + "minLength": 1, + "type": "string" + }, + "type": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "type", + "duration" + ], + "type": "object" + }, + "tweens": { + "items": { + "additionalProperties": false, + "properties": { + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "keyframes": { + "additionalProperties": false, + "properties": { + "easeEach": { + "const": "none", + "type": "string" + }, + "format": { + "const": "percentage", + "type": "string" + }, + "keyframes": { + "items": { + "additionalProperties": false, + "properties": { + "ease": { + "type": "string" + }, + "percentage": { + "type": "number" + }, + "properties": { + "additionalProperties": { + "type": "number" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + }, + "required": [ + "percentage", + "properties" + ], + "type": "object" + }, + "minItems": 2, + "type": "array" + } + }, + "required": [ + "format", + "easeEach", + "keyframes" + ], + "type": "object" + }, + "position": { + "type": "number" + }, + "propertyGroup": { + "enum": [ + "visual", + "scale", + "rotation", + "position" + ], + "type": "string" + } + }, + "required": [ + "id", + "propertyGroup", + "position", + "duration", + "keyframes" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "id", + "startTime", + "duration", + "source" + ], + "type": "object" + }, + "type": "array" + }, + "type": { + "const": "loadOverlays", + "type": "string" + } + }, + "required": [ + "type", + "clips" + ], + "type": "object" + }, + { + "additionalProperties": false, + "description": "Add a timeline marker (a named time point/range; carry extensions in `metadata`).", + "properties": { + "marker": { + "additionalProperties": false, + "properties": { + "endTime": { + "minimum": 0, + "type": "number" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "kind": { + "minLength": 1, + "type": "string" + }, + "metadata": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "name": { + "type": "string" + }, + "startTime": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "id", + "startTime", + "kind" + ], + "type": "object" + }, + "type": { + "const": "addMarker", + "type": "string" + } + }, + "required": [ + "type", + "marker" + ], + "type": "object" + }, + { + "additionalProperties": false, + "description": "Remove a marker by id.", + "properties": { + "markerId": { + "type": "string" + }, + "type": { + "const": "removeMarker", + "type": "string" + } + }, + "required": [ + "type", + "markerId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "description": "Patch a marker's fields by id (partial merge).", + "properties": { + "markerId": { + "type": "string" + }, + "type": { + "const": "updateMarker", + "type": "string" + }, + "updates": { + "additionalProperties": false, + "properties": { + "endTime": { + "minimum": 0, + "type": "number" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "kind": { + "minLength": 1, + "type": "string" + }, + "metadata": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "name": { + "type": "string" + }, + "startTime": { + "minimum": 0, + "type": "number" + } + }, + "type": "object" + } + }, + "required": [ + "type", + "markerId", + "updates" + ], + "type": "object" + }, + { + "additionalProperties": false, + "description": "Set (or CLEAR, with `segments: null`) the camera/reframe channel on a MEDIA clip — the time-aligned source→output viewport (focus, zoom, ease, bias). This is the PREFERRED way to author reframing; do NOT reframe via a whole-source `clip.update` patch. Segments tile the clip's duration.", + "properties": { + "clipId": { + "type": "string" + }, + "segments": { + "anyOf": [ + { + "items": { + "additionalProperties": {}, + "properties": { + "bias": { + "additionalProperties": {}, + "description": "Optional FINE framing nudge off the focus center, source-normalized in [−0.3, 0.3]. A small correction (headroom, rule-of-thirds), NOT a reframe — use `focus`/`zoom` for the actual shot. Omit (treated as 0) to sit dead-center on the focus.", + "properties": { + "x": { + "description": "Horizontal nudge, source-normalized (+ = right).", + "maximum": 0.3, + "minimum": -0.3, + "type": "number" + }, + "y": { + "description": "Vertical nudge, source-normalized (+ = down).", + "maximum": 0.3, + "minimum": -0.3, + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "type": "object" + }, + "ease": { + "additionalProperties": {}, + "description": "Zoom/center ramp DURATIONS in SECONDS at this segment's edges — NOT a unitless 0–1 curve. ~0.3–0.6s reads as a snappy push; >1s reads sluggish. Keep `in` + `out` ≤ the segment's duration (endSec − startSec): the two edges share the span, so to ramp across the WHOLE segment set one edge to the full duration and the other to 0. Omit for an instant cut to this framing.", + "properties": { + "in": { + "description": "Ease-IN ramp DURATION in seconds at the segment START.", + "minimum": 0, + "type": "number" + }, + "out": { + "description": "Ease-OUT ramp DURATION in seconds at the segment END.", + "minimum": 0, + "type": "number" + } + }, + "required": [ + "in", + "out" + ], + "type": "object" + }, + "endSec": { + "description": "Segment END in seconds, clip-relative. The span (endSec − startSec) is this segment's duration — the window `ease` ramps over.", + "exclusiveMinimum": 0, + "type": "number" + }, + "focus": { + "description": "WHO/WHAT the camera tracks this segment (the reframe center), selected by `mode`: `frame-center` = no tracking, hold the geometric center (static/graphic footage, or a pure zoom); `point` = lock to a fixed source-normalized {x,y} (a non-moving on-screen element); `face` = track a detected face by `faceId` (from get_media_context), with optional `shotScale` close|standard|wide for tightness; `all-faces` = frame the bounding box of every detected face (group/ensemble shots); `active-speaker` = follow whoever is speaking (diarized talking-head / podcast). Pick by what the beat is about; pair with `zoom` for how tight.", + "oneOf": [ + { + "additionalProperties": {}, + "properties": { + "mode": { + "const": "frame-center", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "mode": { + "const": "point", + "type": "string" + }, + "x": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "mode", + "x", + "y" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "faceId": { + "minLength": 1, + "type": "string" + }, + "mode": { + "const": "face", + "type": "string" + }, + "shotScale": { + "enum": [ + "close", + "standard", + "wide" + ], + "type": "string" + } + }, + "required": [ + "mode", + "faceId" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "mode": { + "const": "all-faces", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "mode": { + "const": "active-speaker", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" + } + ] + }, + "intent": { + "description": "Optional editorial LABEL for diff/log readability (e.g. 'speaker-tight', 'wide-context'). Cosmetic — NOT honored by the derive math and excluded from the variant cache key.", + "type": "string" + }, + "startSec": { + "description": "Segment START in seconds, clip-relative. Segments tile the clip's duration in order.", + "minimum": 0, + "type": "number" + }, + "zoom": { + "description": "How TIGHT the framing is — the fraction of the source the output viewport shows. <1 punches IN (a smaller source fraction, magnified to fill the frame); 1 = the full frame (no crop). ~0.6–0.8 is a moderate push-in, ~0.5 a tight close-up, 0.1 the maximum zoom. There is NO zoom-OUT past the full frame (max 1). Omit for the full frame. MUTUALLY EXCLUSIVE with `focus.shotScale`: a face-tracked shot is sized EITHER by the editorial scale (shotScale, calibrated to the detected face) OR by an explicit zoom — never both.", + "maximum": 1, + "minimum": 0.1, + "type": "number" + } + }, + "required": [ + "startSec", + "endSec", + "focus" + ], + "type": "object" + }, + "type": "array" + }, + { + "type": "null" + } + ] + }, + "type": { + "const": "setCropIntents", + "type": "string" + } + }, + "required": [ + "type", + "clipId", + "segments" + ], + "type": "object" + }, + { + "additionalProperties": false, + "description": "Set (or CLEAR, with `effects: []`) a clip's EFFECT channel — the pinned component clip wrappers stacked onto that clip, each `{id, component, window}`: a unique `id`, the wrapper component's execution pin as `component`, and `window: {startTime, duration}` in seconds. The built-in primitive effects were removed: a stored one reads, and save and render refuse it (`effect_retired`), so clear it with `effects: []`. WHOLESALE: the array REPLACES the clip's current effects, so send the full stack (read the clip first to add one). This is the ONLY way to change effects on an existing clip — do NOT reach for a `clip.update` patch, whose top-level merge is the source-clobbering footgun documented above.", + "properties": { + "clipId": { + "type": "string" + }, + "effects": { + "items": { + "additionalProperties": false, + "properties": { + "component": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } + ] + }, + "id": { + "minLength": 1, + "type": "string" + }, + "params": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "type": "string" + }, + "window": { + "additionalProperties": false, + "properties": { + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "startTime": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "startTime", + "duration" + ], + "type": "object" + } + }, + "type": "object" + }, + "type": "array" + }, + "type": { + "const": "setEffects", + "type": "string" + } + }, + "required": [ + "type", + "clipId", + "effects" + ], + "type": "object" + }, + { + "additionalProperties": false, + "description": "Merge style overrides (font/color/position/emphasis) onto the composition's caption layer. Partial — omitted fields keep their current value; creates the caption container if absent.", + "properties": { + "style": { + "additionalProperties": {}, + "properties": { + "annotationColor": { + "type": "string" + }, + "annotationStrokeWidth": { + "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.", + "maximum": 12, + "minimum": 0.5, + "type": "number" + }, + "annotationTexture": { + "description": "Native annotation stroke finish; default clean.", + "enum": [ + "clean", + "pencil" + ], + "type": "string" + }, + "backgroundColor": { + "type": "string" + }, + "color": { + "minLength": 1, + "type": "string" + }, + "emphasisColor": { + "type": "string" + }, + "emphasisFontFamily": { + "type": "string" + }, + "emphasisFontStyle": { + "enum": [ + "normal", + "italic" + ], + "type": "string" + }, + "emphasisFontWeight": { + "maximum": 900, + "minimum": 100, + "type": "integer" + }, + "emphasisGradient": { + "type": "string" + }, + "emphasisLetterSpacing": { + "type": "number" + }, + "emphasisPlate": { + "type": "boolean" + }, + "emphasisPlateAltColor": { + "type": "string" + }, + "emphasisPlateAltTextColor": { + "type": "string" + }, + "emphasisPlateColor": { + "type": "string" + }, + "emphasisPlatePadX": { + "type": "number" + }, + "emphasisPlatePadY": { + "type": "number" + }, + "emphasisPlateRadius": { + "minimum": 0, + "type": "number" + }, + "emphasisPlateReveal": { + "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.", + "type": "boolean" + }, + "emphasisPlateTextColor": { + "type": "string" + }, + "emphasisScale": { + "exclusiveMinimum": 0, + "type": "number" + }, + "emphasisTextTransform": { + "enum": [ + "none", + "uppercase", + "capitalize" + ], + "type": "string" + }, + "entrance": { + "enum": [ + "none", + "fade", + "word-pop", + "stagger-up" + ], + "type": "string" + }, + "entranceMs": { + "minimum": 0, + "type": "number" + }, + "entranceStaggerMs": { + "minimum": 0, + "type": "number" + }, + "exitMs": { + "minimum": 0, + "type": "number" + }, + "fontFamily": { + "minLength": 1, + "type": "string" + }, + "fontSize": { + "description": "Font size as % of composition height (1-15, default 5). NOT px.", + "maximum": 15, + "minimum": 1, + "type": "number" + }, + "fontWeight": { + "maximum": 900, + "minimum": 100, + "type": "integer" + }, + "highlightColor": { + "minLength": 1, + "type": "string" + }, + "letterSpacing": { + "description": "Base caption glyph spacing in pixels.", + "maximum": 20, + "minimum": -5, + "type": "number" + }, + "lineGapEm": { + "description": "Gap between caption lines as a multiple of base font size; default 0.25.", + "maximum": 2, + "minimum": 0, + "type": "number" + }, + "maxWidthPercent": { + "exclusiveMinimum": 0, + "maximum": 100, + "type": "number" + }, + "plate": { + "enum": [ + "glass", + "solid", + "none" + ], + "type": "string" + }, + "position": { + "enum": [ + "top", + "center", + "bottom" + ], + "type": "string" + }, + "region": { + "additionalProperties": {}, + "description": "Optional caption layout box {x,y,w,h} in normalized output-frame coordinates. Overrides position; text starts at its top edge and wraps/pages within its width and height.", + "properties": { + "h": { + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "w": { + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "x": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "x", + "y", + "w", + "h" + ], + "type": "object" + }, + "textTransform": { + "enum": [ + "none", + "uppercase", + "capitalize" + ], + "type": "string" + }, + "wordGapEm": { + "description": "Gap between caption runs as a multiple of base font size; default 0.35.", + "maximum": 2, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "type": { + "const": "setCaptionStyle", + "type": "string" + } + }, + "required": [ + "type", + "style" + ], + "type": "object" + }, + { + "additionalProperties": false, + "description": "Set the caption compositing plane. Use `behind-subject` to place captions behind the segmented foreground subject; use `front` for conventional captions above all video layers.", + "properties": { + "type": { + "const": "setCaptionDepth", + "type": "string" + }, + "zPlane": { + "enum": [ + "front", + "behind-subject" + ], + "type": "string" + } + }, + "required": [ + "type", + "zPlane" + ], + "type": "object" + }, + { + "additionalProperties": false, + "description": "Replace the caption SEGMENTS wholesale — author the word-timed caption layer directly (each segment = one sentence/page of `words` with timeline-ms `startMs`/`endMs`, optional `emphasis`). This is how a client with its OWN word timings (e.g. a generated VO take) gets word-synced captions without a source transcript; the compose lane's transcript slice writes the same layer. `style`, when given, merges with setCaptionStyle semantics; an omitted style keeps the existing one. Renderer paginates within a segment and never pools words across two — keep segments sentence-bounded.", + "properties": { + "segments": { + "items": { + "additionalProperties": {}, + "properties": { + "words": { + "items": { + "additionalProperties": {}, + "properties": { + "annotate": { + "enum": [ + "circle", + "underline" + ], + "type": "string" + }, + "emphasis": { + "type": "boolean" + }, + "endMs": { + "description": "Word end on the composition timeline, in milliseconds.", + "minimum": 0, + "type": "number" + }, + "startMs": { + "description": "Word start on the composition timeline, in milliseconds.", + "minimum": 0, + "type": "number" + }, + "text": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "text", + "startMs", + "endMs" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "words" + ], + "type": "object" + }, + "type": "array" + }, + "style": { + "additionalProperties": {}, + "properties": { + "annotationColor": { + "type": "string" + }, + "annotationStrokeWidth": { + "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.", + "maximum": 12, + "minimum": 0.5, + "type": "number" + }, + "annotationTexture": { + "description": "Native annotation stroke finish; default clean.", + "enum": [ + "clean", + "pencil" + ], + "type": "string" + }, + "backgroundColor": { + "type": "string" + }, + "color": { + "minLength": 1, + "type": "string" + }, + "emphasisColor": { + "type": "string" + }, + "emphasisFontFamily": { + "type": "string" + }, + "emphasisFontStyle": { + "enum": [ + "normal", + "italic" + ], + "type": "string" + }, + "emphasisFontWeight": { + "maximum": 900, + "minimum": 100, + "type": "integer" + }, + "emphasisGradient": { + "type": "string" + }, + "emphasisLetterSpacing": { + "type": "number" + }, + "emphasisPlate": { + "type": "boolean" + }, + "emphasisPlateAltColor": { + "type": "string" + }, + "emphasisPlateAltTextColor": { + "type": "string" + }, + "emphasisPlateColor": { + "type": "string" + }, + "emphasisPlatePadX": { + "type": "number" + }, + "emphasisPlatePadY": { + "type": "number" + }, + "emphasisPlateRadius": { + "minimum": 0, + "type": "number" + }, + "emphasisPlateReveal": { + "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.", + "type": "boolean" + }, + "emphasisPlateTextColor": { + "type": "string" + }, + "emphasisScale": { + "exclusiveMinimum": 0, + "type": "number" + }, + "emphasisTextTransform": { + "enum": [ + "none", + "uppercase", + "capitalize" + ], + "type": "string" + }, + "entrance": { + "enum": [ + "none", + "fade", + "word-pop", + "stagger-up" + ], + "type": "string" + }, + "entranceMs": { + "minimum": 0, + "type": "number" + }, + "entranceStaggerMs": { + "minimum": 0, + "type": "number" + }, + "exitMs": { + "minimum": 0, + "type": "number" + }, + "fontFamily": { + "minLength": 1, + "type": "string" + }, + "fontSize": { + "description": "Font size as % of composition height (1-15, default 5). NOT px.", + "maximum": 15, + "minimum": 1, + "type": "number" + }, + "fontWeight": { + "maximum": 900, + "minimum": 100, + "type": "integer" + }, + "highlightColor": { + "minLength": 1, + "type": "string" + }, + "letterSpacing": { + "description": "Base caption glyph spacing in pixels.", + "maximum": 20, + "minimum": -5, + "type": "number" + }, + "lineGapEm": { + "description": "Gap between caption lines as a multiple of base font size; default 0.25.", + "maximum": 2, + "minimum": 0, + "type": "number" + }, + "maxWidthPercent": { + "exclusiveMinimum": 0, + "maximum": 100, + "type": "number" + }, + "plate": { + "enum": [ + "glass", + "solid", + "none" + ], + "type": "string" + }, + "position": { + "enum": [ + "top", + "center", + "bottom" + ], + "type": "string" + }, + "region": { + "additionalProperties": {}, + "description": "Optional caption layout box {x,y,w,h} in normalized output-frame coordinates. Overrides position; text starts at its top edge and wraps/pages within its width and height.", + "properties": { + "h": { + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "w": { + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "x": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "x", + "y", + "w", + "h" + ], + "type": "object" + }, + "textTransform": { + "enum": [ + "none", + "uppercase", + "capitalize" + ], + "type": "string" + }, + "wordGapEm": { + "description": "Gap between caption runs as a multiple of base font size; default 0.35.", + "maximum": 2, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "type": { + "const": "setCaptions", + "type": "string" + } + }, + "required": [ + "type", + "segments" + ], + "type": "object" + }, + { + "additionalProperties": false, + "description": "Replace native caption placements without changing transcript words or timings. Each layout references a half-open word-index range in one saved segment; a one-word range is valid. region places that group independently, optional bounded scale/rotation/style changes its look, and holdThroughWordIndex keeps it visible through a later saved word in the same segment. All words in a placed range occupy one page; rendering refuses a range that cannot fit its box, so enlarge region or split the range. The box reserves horizontal space of 1.6 font sizes and vertical space of 0.8 font sizes for padding, with at most three lines. Unreferenced words keep the default caption layout. Word ranges must not overlap. Reapply after caption regeneration or timeline cuts.", + "properties": { + "layouts": { + "items": { + "additionalProperties": false, + "properties": { + "holdThroughWordIndex": { + "description": "Inclusive saved-word index in this segment. The layout stays visible until that word ends.", + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "region": { + "additionalProperties": {}, + "properties": { + "h": { + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "w": { + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "x": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "x", + "y", + "w", + "h" + ], + "type": "object" + }, + "rotation": { + "maximum": 45, + "minimum": -45, + "type": "number" + }, + "scale": { + "maximum": 4, + "minimum": 0.25, + "type": "number" + }, + "segmentIndex": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "style": { + "additionalProperties": false, + "properties": { + "annotationColor": { + "type": "string" + }, + "annotationStrokeWidth": { + "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.", + "maximum": 12, + "minimum": 0.5, + "type": "number" + }, + "annotationTexture": { + "description": "Native annotation stroke finish; default clean.", + "enum": [ + "clean", + "pencil" + ], + "type": "string" + }, + "backgroundColor": { + "type": "string" + }, + "color": { + "minLength": 1, + "type": "string" + }, + "emphasisColor": { + "type": "string" + }, + "emphasisFontFamily": { + "type": "string" + }, + "emphasisFontStyle": { + "enum": [ + "normal", + "italic" + ], + "type": "string" + }, + "emphasisFontWeight": { + "maximum": 900, + "minimum": 100, + "type": "integer" + }, + "emphasisLetterSpacing": { + "type": "number" + }, + "emphasisPlate": { + "type": "boolean" + }, + "emphasisPlateAltColor": { + "type": "string" + }, + "emphasisPlateAltTextColor": { + "type": "string" + }, + "emphasisPlateColor": { + "type": "string" + }, + "emphasisPlatePadX": { + "type": "number" + }, + "emphasisPlatePadY": { + "type": "number" + }, + "emphasisPlateRadius": { + "minimum": 0, + "type": "number" + }, + "emphasisPlateReveal": { + "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.", + "type": "boolean" + }, + "emphasisPlateTextColor": { + "type": "string" + }, + "emphasisScale": { + "exclusiveMinimum": 0, + "type": "number" + }, + "emphasisTextTransform": { + "enum": [ + "none", + "uppercase", + "capitalize" + ], + "type": "string" + }, + "entrance": { + "enum": [ + "none", + "fade", + "word-pop", + "stagger-up" + ], + "type": "string" + }, + "entranceMs": { + "minimum": 0, + "type": "number" + }, + "entranceStaggerMs": { + "minimum": 0, + "type": "number" + }, + "exitMs": { + "minimum": 0, + "type": "number" + }, + "fontFamily": { + "minLength": 1, + "type": "string" + }, + "fontSize": { + "description": "Font size as % of composition height (1-15, default 5). NOT px.", + "maximum": 15, + "minimum": 1, + "type": "number" + }, + "fontWeight": { + "maximum": 900, + "minimum": 100, + "type": "integer" + }, + "highlightColor": { + "minLength": 1, + "type": "string" + }, + "letterSpacing": { + "description": "Base caption glyph spacing in pixels.", + "maximum": 20, + "minimum": -5, + "type": "number" + }, + "lineGapEm": { + "description": "Gap between caption lines as a multiple of base font size; default 0.25.", + "maximum": 2, + "minimum": 0, + "type": "number" + }, + "plate": { + "enum": [ + "glass", + "solid", + "none" + ], + "type": "string" + }, + "textTransform": { + "enum": [ + "none", + "uppercase", + "capitalize" + ], + "type": "string" + }, + "wordGapEm": { + "description": "Gap between caption runs as a multiple of base font size; default 0.35.", + "maximum": 2, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "wordEndIndex": { + "description": "Exclusive word index in the saved caption segment.", + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + }, + "wordMarks": { + "items": { + "additionalProperties": false, + "properties": { + "annotate": { + "anyOf": [ + { + "enum": [ + "circle", + "underline" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "emphasis": { + "type": "boolean" + }, + "wordIndex": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "wordIndex" + ], + "type": "object" + }, + "type": "array" + }, + "wordStartIndex": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "segmentIndex", + "wordStartIndex", + "wordEndIndex", + "region" + ], + "type": "object" + }, + "type": "array" + }, + "type": { + "const": "setCaptionLayouts", + "type": "string" + } + }, + "required": [ + "type", + "layouts" + ], + "type": "object" + }, + { + "additionalProperties": false, + "description": "Author a scene shot and place it on a dedicated overlay track. The host validates the scene, generates and registers an immutable wrapper component source, and emits the ordinary track/clip operations carrying `props.componentRef` — you edit a scene SPEC, never wrapper TSX or a source hash. Registration and the composition update are ONE undoable edit; a failure publishes nothing and leaves no clip pointing at an unresolved source. Pass EXACTLY ONE of `trackId` (an existing dedicated scene track) or `newTrack: true` (mint one). That track holds scene-shot clips and gaps only — no generic component/primitive/media clips in v1 — and existing generic overlay tracks are unaffected. Scene clips use front zPlane and full-frame placement: outer per-clip `region`, `position`, `scale`, `rotation`, `fit`, `effects`, keyframes (`tweens`/`automation`), `params.transition`, `params.sequenceGroup` and internal fadeIn/fadeOut are REFUSED with a path, because the shot's own layer transforms are the single transform owner. TEXT: `space: \"screen\"` text is composed above the world result, stays fixed in the frame and stays sharp through focus; `space: \"world\"` text is rasterized into the 3D scene, moves with the camera and is occluded by geometry. Screenshots and world text are UNLIT and colour-managed so product UI colours are not tinted by the studio lighting, while device bodies are lit and cast shadows; an unlit surface still occludes. SCOPE GAP (pre-existing, neither closed nor changed by scene shots): global wrap effects — composition-level grades and camera effects — do not reach front-overlay clips, so they do not affect a scene shot. Author the look INSIDE the shot (`post.grain`, `post.vignette`, `post.focus`, `backdrop`, `environment`) instead. DISCOVERY: there is no built-in scene primitive to look up in list_catalog; the wrapper this operation registers appears afterwards as an ordinary INSTALLED component under the existing catalog rules. ASSETS: `assets` binds each slot name a layer references to a media id in the same project, and the slot's declared KIND decides what it admits — an image slot takes PNG, JPEG or WebP, a video slot MP4 or WebM. Binding the wrong kind is refused with the slot's path.", + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "clipId": { + "minLength": 1, + "type": "string" + }, + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "newTrack": { + "type": "boolean" + }, + "newTrackId": { + "minLength": 1, + "type": "string" + }, + "scene": { + "additionalProperties": false, + "description": "A version-2 scene shot: a self-contained 3D world-object shot that scene.add / scene.update materializes into an ordinary component clip. The shot owns its layers, camera, lighting, backdrop and normalized local animation; the composition owns start, duration, ordering, cuts and transitions. Coordinates are REFERENCE PIXELS: origin at frame centre, +X right, +Y down, +Z toward the viewer. referenceSize must have the SAME aspect ratio as the composition format; mismatch fails instead of cropping. At equal aspect ratio the shot scales uniformly by outputWidth/referenceWidth. A segment's easing belongs to the keyframe it ARRIVES at; the first keyframe has no easing. Authoring limits: 32 layers, 4 devices, 16 distinct image slots, 256 keyframes per channel, 2048 keyframes per shot. Version 2 supports nested groups, procedural slab/page/phone/laptop objects, screen- and world-space text, admitted image/component/video surfaces, fixed photographic and generated studio environments, transparent/solid/linear/radial backdrops, constraints, focus, grain and vignette. Raw HTML, custom shader props, imported GLB models, arbitrary external HDR environments, skeletal animation and physics are refused with an exact field path.", + "properties": { + "animation": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "keyframes": { + "items": { + "additionalProperties": false, + "properties": { + "at": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "easing": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "linear", + "type": "string" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "hold", + "type": "string" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "bezier", + "type": "string" + }, + "x1": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "x2": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y1": { + "maximum": 5, + "minimum": -4, + "type": "number" + }, + "y2": { + "maximum": 5, + "minimum": -4, + "type": "number" + } + }, + "required": [ + "kind", + "x1", + "y1", + "x2", + "y2" + ], + "type": "object" + } + ] + }, + "value": { + "type": "number" + } + }, + "required": [ + "at", + "value" + ], + "type": "object" + }, + "maxItems": 256, + "minItems": 1, + "type": "array" + }, + "property": { + "enum": [ + "positionX", + "positionY", + "positionZ", + "rotationX", + "rotationY", + "rotationZ", + "fov", + "scale", + "opacity", + "openAngle", + "x", + "y", + "rotation", + "intensity", + "distance", + "range", + "maxBlur" + ], + "type": "string" + }, + "target": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "camera", + "type": "string" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "layer", + "type": "string" + }, + "layerId": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", + "type": "string" + } + }, + "required": [ + "kind", + "layerId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "environment", + "type": "string" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "focus", + "type": "string" + } + }, + "required": [ + "kind" + ], + "type": "object" + } + ] + } + }, + "required": [ + "target", + "property", + "keyframes" + ], + "type": "object" + }, + "type": "array" + }, + "backdrop": { + "default": { + "kind": "transparent" + }, + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "transparent", + "type": "string" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "color": { + "anyOf": [ + { + "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", + "type": "string" + }, + { + "enum": [ + "$brand:colors.background", + "$brand:colors.surface", + "$brand:colors.text", + "$brand:colors.textMuted", + "$brand:colors.accent", + "$brand:colors.accentStrong", + "$brand:colors.accentSoft", + "$brand:colors.success", + "$brand:colors.warning", + "$brand:colors.danger" + ], + "type": "string" + } + ] + }, + "kind": { + "const": "solid", + "type": "string" + } + }, + "required": [ + "kind", + "color" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "angle": { + "default": 0, + "type": "number" + }, + "kind": { + "const": "linear", + "type": "string" + }, + "stops": { + "items": { + "additionalProperties": false, + "properties": { + "at": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "color": { + "anyOf": [ + { + "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", + "type": "string" + }, + { + "enum": [ + "$brand:colors.background", + "$brand:colors.surface", + "$brand:colors.text", + "$brand:colors.textMuted", + "$brand:colors.accent", + "$brand:colors.accentStrong", + "$brand:colors.accentSoft", + "$brand:colors.success", + "$brand:colors.warning", + "$brand:colors.danger" + ], + "type": "string" + } + ] + } + }, + "required": [ + "at", + "color" + ], + "type": "object" + }, + "maxItems": 8, + "minItems": 2, + "type": "array" + } + }, + "required": [ + "kind", + "stops" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "at": { + "default": [ + 0.5, + 0.5 + ], + "items": false, + "maxItems": 2, + "minItems": 2, + "prefixItems": [ + { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + { + "maximum": 1, + "minimum": 0, + "type": "number" + } + ], + "type": "array" + }, + "kind": { + "const": "radial", + "type": "string" + }, + "stops": { + "items": { + "additionalProperties": false, + "properties": { + "at": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "color": { + "anyOf": [ + { + "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", + "type": "string" + }, + { + "enum": [ + "$brand:colors.background", + "$brand:colors.surface", + "$brand:colors.text", + "$brand:colors.textMuted", + "$brand:colors.accent", + "$brand:colors.accentStrong", + "$brand:colors.accentSoft", + "$brand:colors.success", + "$brand:colors.warning", + "$brand:colors.danger" + ], + "type": "string" + } + ] + } + }, + "required": [ + "at", + "color" + ], + "type": "object" + }, + "maxItems": 8, + "minItems": 2, + "type": "array" + } + }, + "required": [ + "kind", + "stops" + ], + "type": "object" + } + ] + }, + "camera": { + "additionalProperties": false, + "properties": { + "fov": { + "maximum": 1.3962634015954636, + "minimum": 0.3141592653589793, + "type": "number" + }, + "position": { + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "type": "array" + }, + "rotation": { + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "type": "array" + } + }, + "type": "object" + }, + "constraints": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "gap": { + "exclusiveMinimum": 0, + "type": "number" + }, + "kind": { + "const": "minSeparation", + "type": "string" + }, + "objects": { + "items": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", + "type": "string" + }, + "minItems": 2, + "type": "array" + } + }, + "required": [ + "kind", + "objects", + "gap" + ], + "type": "object" + }, + "type": "array" + }, + "environment": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "floorY": { + "default": -420, + "type": "number" + }, + "intensity": { + "default": 1, + "minimum": 0, + "type": "number" + }, + "kind": { + "const": "studio", + "type": "string" + }, + "lightingProfile": { + "default": "studio", + "enum": [ + "studio", + "studio-edge" + ], + "type": "string" + }, + "preset": { + "default": "soft", + "enum": [ + "soft", + "key", + "rim" + ], + "type": "string" + }, + "shadowOpacity": { + "default": 0.5, + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "photographic-studio-v1", + "type": "string" + } + }, + "required": [ + "kind" + ], + "type": "object" + } + ], + "default": { + "floorY": -420, + "intensity": 1, + "lightingProfile": "studio", + "preset": "soft", + "shadowOpacity": 0.5 + } + }, + "layers": { + "items": { + "$ref": "#/$defs/__schema1" + }, + "minItems": 1, + "type": "array" + }, + "post": { + "additionalProperties": false, + "default": { + "focus": null, + "grain": 0, + "vignette": 0 + }, + "properties": { + "focus": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "distance": { + "exclusiveMinimum": 0, + "type": "number" + }, + "maxBlur": { + "maximum": 64, + "minimum": 0, + "type": "number" + }, + "range": { + "exclusiveMinimum": 0, + "type": "number" + } + }, + "required": [ + "distance", + "range", + "maxBlur" + ], + "type": "object" + }, + { + "type": "null" + } + ], + "default": null + }, + "grain": { + "default": 0, + "maximum": 0.5, + "minimum": 0, + "type": "number" + }, + "vignette": { + "default": 0, + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "referenceSize": { + "additionalProperties": false, + "properties": { + "height": { + "maximum": 8192, + "minimum": 16, + "type": "integer" + }, + "width": { + "maximum": 8192, + "minimum": 16, + "type": "integer" + } + }, + "required": [ + "width", + "height" + ], + "type": "object" + }, + "version": { + "const": 2, + "type": "number" + } + }, + "required": [ + "version", + "referenceSize", + "layers" + ], + "type": "object" + }, + "startTime": { + "minimum": 0, + "type": "number" + }, + "trackId": { + "minLength": 1, + "type": "string" + }, + "transitionIn": { + "additionalProperties": {}, + "properties": { + "component": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } + ] + }, + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "fromClipId": { + "minLength": 1, + "type": "string" + }, + "handlePolicy": { + "const": "outgoing-overrun-at-cut-v1", + "type": "string" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "toClipId": { + "minLength": 1, + "type": "string" + }, + "type": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "type", + "duration" + ], + "type": "object" + }, + "type": { + "const": "scene.add", + "type": "string" + } + }, + "required": [ + "type", + "clipId", + "startTime", + "duration", + "scene", + "assets" + ], + "type": "object" + }, + { + "additionalProperties": false, + "description": "Revise a scene shot in place by clip id. Send a replacement `scene` and/or `assets`; timing changes use the ordinary clip timing fields (`startTime`, `duration`, `transitionIn`). Omitted fields keep their persisted values and the MERGED result is re-validated as a whole, so a partial edit cannot leave the shot invalid. Changing only values or asset IDs updates props and bindings and REUSES the pinned source; changing the referenced SLOT SET regenerates the wrapper manifest and registers a new immutable source version atomically. Undo restores the source reference, spec, bindings and timing together. Topology, asset bindings, text content, font properties, device kind and colours are STATIC within a shot's animation — change them here (a revised spec) rather than trying to animate them. This is not a source trim or slip: a shortened or extended clip resamples the SAME normalized animation over its new duration, and trim/slip requests on generated animation are rejected rather than reinterpreted as media trims. In one batch, `scene.update` may target a shot added by an earlier `scene.add`. ASSETS: `assets` binds each slot name a layer references to a media id in the same project, and the slot's declared KIND decides what it admits — an image slot takes PNG, JPEG or WebP, a video slot MP4 or WebM. Binding the wrong kind is refused with the slot's path.", + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "clipId": { + "minLength": 1, + "type": "string" + }, + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "scene": { + "additionalProperties": false, + "description": "A version-2 scene shot: a self-contained 3D world-object shot that scene.add / scene.update materializes into an ordinary component clip. The shot owns its layers, camera, lighting, backdrop and normalized local animation; the composition owns start, duration, ordering, cuts and transitions. Coordinates are REFERENCE PIXELS: origin at frame centre, +X right, +Y down, +Z toward the viewer. referenceSize must have the SAME aspect ratio as the composition format; mismatch fails instead of cropping. At equal aspect ratio the shot scales uniformly by outputWidth/referenceWidth. A segment's easing belongs to the keyframe it ARRIVES at; the first keyframe has no easing. Authoring limits: 32 layers, 4 devices, 16 distinct image slots, 256 keyframes per channel, 2048 keyframes per shot. Version 2 supports nested groups, procedural slab/page/phone/laptop objects, screen- and world-space text, admitted image/component/video surfaces, fixed photographic and generated studio environments, transparent/solid/linear/radial backdrops, constraints, focus, grain and vignette. Raw HTML, custom shader props, imported GLB models, arbitrary external HDR environments, skeletal animation and physics are refused with an exact field path.", + "properties": { + "animation": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "keyframes": { + "items": { + "additionalProperties": false, + "properties": { + "at": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "easing": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "linear", + "type": "string" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "hold", + "type": "string" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "bezier", + "type": "string" + }, + "x1": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "x2": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y1": { + "maximum": 5, + "minimum": -4, + "type": "number" + }, + "y2": { + "maximum": 5, + "minimum": -4, + "type": "number" + } + }, + "required": [ + "kind", + "x1", + "y1", + "x2", + "y2" + ], + "type": "object" + } + ] + }, + "value": { + "type": "number" + } + }, + "required": [ + "at", + "value" + ], + "type": "object" + }, + "maxItems": 256, + "minItems": 1, + "type": "array" + }, + "property": { + "enum": [ + "positionX", + "positionY", + "positionZ", + "rotationX", + "rotationY", + "rotationZ", + "fov", + "scale", + "opacity", + "openAngle", + "x", + "y", + "rotation", + "intensity", + "distance", + "range", + "maxBlur" + ], + "type": "string" + }, + "target": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "camera", + "type": "string" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "layer", + "type": "string" + }, + "layerId": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", + "type": "string" + } + }, + "required": [ + "kind", + "layerId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "environment", + "type": "string" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "focus", + "type": "string" + } + }, + "required": [ + "kind" + ], + "type": "object" + } + ] + } + }, + "required": [ + "target", + "property", + "keyframes" + ], + "type": "object" + }, + "type": "array" + }, + "backdrop": { + "default": { + "kind": "transparent" + }, + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "transparent", + "type": "string" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "color": { + "anyOf": [ + { + "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", + "type": "string" + }, + { + "enum": [ + "$brand:colors.background", + "$brand:colors.surface", + "$brand:colors.text", + "$brand:colors.textMuted", + "$brand:colors.accent", + "$brand:colors.accentStrong", + "$brand:colors.accentSoft", + "$brand:colors.success", + "$brand:colors.warning", + "$brand:colors.danger" + ], + "type": "string" + } + ] + }, + "kind": { + "const": "solid", + "type": "string" + } + }, + "required": [ + "kind", + "color" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "angle": { + "default": 0, + "type": "number" + }, + "kind": { + "const": "linear", + "type": "string" + }, + "stops": { + "items": { + "additionalProperties": false, + "properties": { + "at": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "color": { + "anyOf": [ + { + "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", + "type": "string" + }, + { + "enum": [ + "$brand:colors.background", + "$brand:colors.surface", + "$brand:colors.text", + "$brand:colors.textMuted", + "$brand:colors.accent", + "$brand:colors.accentStrong", + "$brand:colors.accentSoft", + "$brand:colors.success", + "$brand:colors.warning", + "$brand:colors.danger" + ], + "type": "string" + } + ] + } + }, + "required": [ + "at", + "color" + ], + "type": "object" + }, + "maxItems": 8, + "minItems": 2, + "type": "array" + } + }, + "required": [ + "kind", + "stops" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "at": { + "default": [ + 0.5, + 0.5 + ], + "items": false, + "maxItems": 2, + "minItems": 2, + "prefixItems": [ + { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + { + "maximum": 1, + "minimum": 0, + "type": "number" + } + ], + "type": "array" + }, + "kind": { + "const": "radial", + "type": "string" + }, + "stops": { + "items": { + "additionalProperties": false, + "properties": { + "at": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "color": { + "anyOf": [ + { + "pattern": "^#(?:[0-9a-fA-F]{6}|[0-9a-fA-F]{8})$", + "type": "string" + }, + { + "enum": [ + "$brand:colors.background", + "$brand:colors.surface", + "$brand:colors.text", + "$brand:colors.textMuted", + "$brand:colors.accent", + "$brand:colors.accentStrong", + "$brand:colors.accentSoft", + "$brand:colors.success", + "$brand:colors.warning", + "$brand:colors.danger" + ], + "type": "string" + } + ] + } + }, + "required": [ + "at", + "color" + ], + "type": "object" + }, + "maxItems": 8, + "minItems": 2, + "type": "array" + } + }, + "required": [ + "kind", + "stops" + ], + "type": "object" + } + ] + }, + "camera": { + "additionalProperties": false, + "properties": { + "fov": { + "maximum": 1.3962634015954636, + "minimum": 0.3141592653589793, + "type": "number" + }, + "position": { + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "type": "array" + }, + "rotation": { + "items": false, + "maxItems": 3, + "minItems": 3, + "prefixItems": [ + { + "type": "number" + }, + { + "type": "number" + }, + { + "type": "number" + } + ], + "type": "array" + } + }, + "type": "object" + }, + "constraints": { + "default": [], + "items": { + "additionalProperties": false, + "properties": { + "gap": { + "exclusiveMinimum": 0, + "type": "number" + }, + "kind": { + "const": "minSeparation", + "type": "string" + }, + "objects": { + "items": { + "maxLength": 64, + "minLength": 1, + "pattern": "^[A-Za-z0-9][A-Za-z0-9_-]*$", + "type": "string" + }, + "minItems": 2, + "type": "array" + } + }, + "required": [ + "kind", + "objects", + "gap" + ], + "type": "object" + }, + "type": "array" + }, + "environment": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "floorY": { + "default": -420, + "type": "number" + }, + "intensity": { + "default": 1, + "minimum": 0, + "type": "number" + }, + "kind": { + "const": "studio", + "type": "string" + }, + "lightingProfile": { + "default": "studio", + "enum": [ + "studio", + "studio-edge" + ], + "type": "string" + }, + "preset": { + "default": "soft", + "enum": [ + "soft", + "key", + "rim" + ], + "type": "string" + }, + "shadowOpacity": { + "default": 0.5, + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "photographic-studio-v1", + "type": "string" + } + }, + "required": [ + "kind" + ], + "type": "object" + } + ], + "default": { + "floorY": -420, + "intensity": 1, + "lightingProfile": "studio", + "preset": "soft", + "shadowOpacity": 0.5 + } + }, + "layers": { + "items": { + "$ref": "#/$defs/__schema1" + }, + "minItems": 1, + "type": "array" + }, + "post": { + "additionalProperties": false, + "default": { + "focus": null, + "grain": 0, + "vignette": 0 + }, + "properties": { + "focus": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "distance": { + "exclusiveMinimum": 0, + "type": "number" + }, + "maxBlur": { + "maximum": 64, + "minimum": 0, + "type": "number" + }, + "range": { + "exclusiveMinimum": 0, + "type": "number" + } + }, + "required": [ + "distance", + "range", + "maxBlur" + ], + "type": "object" + }, + { + "type": "null" + } + ], + "default": null + }, + "grain": { + "default": 0, + "maximum": 0.5, + "minimum": 0, + "type": "number" + }, + "vignette": { + "default": 0, + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "referenceSize": { + "additionalProperties": false, + "properties": { + "height": { + "maximum": 8192, + "minimum": 16, + "type": "integer" + }, + "width": { + "maximum": 8192, + "minimum": 16, + "type": "integer" + } + }, + "required": [ + "width", + "height" + ], + "type": "object" + }, + "version": { + "const": 2, + "type": "number" + } + }, + "required": [ + "version", + "referenceSize", + "layers" + ], + "type": "object" + }, + "startTime": { + "minimum": 0, + "type": "number" + }, + "transitionIn": { + "additionalProperties": {}, + "properties": { + "component": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } + ] + }, + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "fromClipId": { + "minLength": 1, + "type": "string" + }, + "handlePolicy": { + "const": "outgoing-overrun-at-cut-v1", + "type": "string" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "toClipId": { + "minLength": 1, + "type": "string" + }, + "type": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "type", + "duration" + ], + "type": "object" + }, + "type": { + "const": "scene.update", + "type": "string" + } + }, + "required": [ + "type", + "clipId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "description": "Materialize a clip's SOURCE-media temporal GRID as timeline markers — the rhythm authority you cut to. `grid:\"beat\"` reads a MUSIC bed's beat map (get_media_context.beatGrid), `grid:\"word\"` the VO word onsets (wordGrid); each grid point is projected from media time to TIMELINE time through the clip's placement (startTime, trim, playbackRate, excludedRanges) and written as a `kind:\"beat\"|\"word\"` marker (`metadata.sourceClipId` set). Points outside the clip's visible window are skipped. Re-running REPLACES the prior markers from the same clip+grid (idempotent). Land cuts and transition MIDPOINTS on the markers (a 0.5s transition starts 0.25s before its marker). `maxMarkers` (default 500, ceiling 2000) — exceeding it fails loud with the count. `grid:\"shot\"` is not yet exposed (shot_grid_unavailable). The target must be a media clip; absent evidence fails loud (grid_unavailable) naming how to get it (declare audioRole:\"music\" at ingest / transcribe).", + "properties": { + "clipId": { + "type": "string" + }, + "grid": { + "enum": [ + "beat", + "word", + "shot" + ], + "type": "string" + }, + "maxMarkers": { + "exclusiveMinimum": 0, + "maximum": 2000, + "type": "integer" + }, + "type": { + "const": "materializeGrid", + "type": "string" + } + }, + "required": [ + "type", + "clipId", + "grid" + ], + "type": "object" + }, + { + "additionalProperties": false, + "description": "Attach caption CONTENT from the media's cached transcript — no pasting words. ROUTE-MATERIALIZED like materializeGrid: the server slices the word-timed transcript to `window` (source seconds; absent = the whole media), rebases times, sentence-splits into segments, and applies it as `setCaptions`. 422 media_no_transcript when the media has no transcript or no words in the window. For your OWN word timings use setCaptions directly. For edited multi-clip timelines, use captions.fromComposition after saving the edits; that operation projects all selected track clips, trims, exclusions, and placements.", + "properties": { + "mediaId": { + "minLength": 1, + "type": "string" + }, + "type": { + "const": "captions.fromTranscript", + "type": "string" + }, + "window": { + "additionalProperties": false, + "properties": { + "endSec": { + "exclusiveMinimum": 0, + "type": "number" + }, + "startSec": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "startSec", + "endSec" + ], + "type": "object" + } + }, + "required": [ + "type", + "mediaId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "description": "Snapshot word-timed captions from the SAVED edits on one explicit enabled video or audio track. The host reads each source media transcript, projects words through clip trim, excluded ranges and placement, then replaces the caption segments. This is route-materialized to setCaptions; call it AFTER persisting clip edits and call it again when those edits change. The existing caption style and depth are preserved. Missing transcripts, unsupported clips, inconsistent clip durations, and overlapping audible clips fail loud. Playback rate scales source word times and playable duration on both audio and video tracks.", + "properties": { + "trackId": { + "minLength": 1, + "type": "string" + }, + "type": { + "const": "captions.fromComposition", + "type": "string" + } + }, + "required": [ + "type", + "trackId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "description": "Set the output format — `aspectRatio` (16:9|9:16|1:1|4:5) plus optional `fps` and `resolution`. Merges: an omitted field keeps the current value.", + "properties": { + "format": { + "additionalProperties": {}, + "properties": { + "aspectRatio": { + "enum": [ + "16:9", + "9:16", + "1:1", + "4:5" + ], + "type": "string" + }, + "fps": { + "anyOf": [ + { + "const": 24, + "type": "number" + }, + { + "const": 25, + "type": "number" + }, + { + "const": 30, + "type": "number" + }, + { + "const": 60, + "type": "number" + } + ] + }, + "resolution": { + "enum": [ + "hd", + "fhd", + "4k" + ], + "type": "string" + } + }, + "required": [ + "aspectRatio" + ], + "type": "object" + }, + "type": { + "const": "setFormat", + "type": "string" + } + }, + "required": [ + "type", + "format" + ], + "type": "object" + }, + { + "additionalProperties": false, + "description": "Add an EMPTY track of a given family (video|audio|image|overlay|effect). Optional pinned `id`. The new track is appended, so it starts at the BACK: index 0 is the top layer and higher indices are further back (see `reorderTracks`). Track order only ranks clips on the same plane — every overlay draws above the video lane unless its `zPlane` is `behind-subject`, whatever its track index.", + "properties": { + "id": { + "type": "string" + }, + "kind": { + "enum": [ + "video", + "audio", + "image", + "overlay", + "effect" + ], + "type": "string" + }, + "name": { + "type": "string" + }, + "type": { + "const": "addTrack", + "type": "string" + } + }, + "required": [ + "type", + "kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "description": "Remove a track AND all its clips by id.", + "properties": { + "trackId": { + "type": "string" + }, + "type": { + "const": "removeTrack", + "type": "string" + } + }, + "required": [ + "type", + "trackId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "description": "Patch a track's `name` / `enabled` by id. Track volume is retired: set each clip's own volume.", + "properties": { + "trackId": { + "type": "string" + }, + "type": { + "const": "updateTrack", + "type": "string" + }, + "updates": { + "additionalProperties": false, + "properties": { + "enabled": { + "type": "boolean" + }, + "name": { + "type": "string" + }, + "volume": { + "maximum": 4, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + } + }, + "required": [ + "type", + "trackId", + "updates" + ], + "type": "object" + }, + { + "additionalProperties": false, + "description": "Move a track from one index to another. ORDER: index 0 is the TOP layer, not the bottom — moving a backdrop to index 0 puts it in FRONT of everything and hides the composition. Higher index = further back. PRECEDENCE: track order decides compositing only among clips on the same plane. Overlays are composited in a lane ABOVE the video lane whatever their track index; the one exception is `zPlane:\"behind-subject\"`, which moves the overlay inside its host clip, behind the segmented foreground. So if reordering tracks does not change what you see, the plane split already decided it.", + "properties": { + "fromIndex": { + "type": "number" + }, + "toIndex": { + "type": "number" + }, + "type": { + "const": "reorderTracks", + "type": "string" + } + }, + "required": [ + "type", + "fromIndex", + "toIndex" + ], + "type": "object" + }, + { + "additionalProperties": false, + "description": "Move a clip to another SAME-family track, optionally at a new `newStartTime`.", + "properties": { + "clipId": { + "type": "string" + }, + "newStartTime": { + "type": "number" + }, + "targetTrackId": { + "type": "string" + }, + "type": { + "const": "moveClipToTrack", + "type": "string" + } + }, + "required": [ + "type", + "clipId", + "targetTrackId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "description": "Duplicate a clip by id. Pin `newClipId` to make the copy's id deterministic (required for a clean undo/inverse).", + "properties": { + "clipId": { + "type": "string" + }, + "newClipId": { + "type": "string" + }, + "type": { + "const": "duplicateClip", + "type": "string" + } + }, + "required": [ + "type", + "clipId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "description": "Server-authoritative: delete the [start,end] time window (seconds) and ripple every downstream clip/marker/caption earlier to close the gap.", + "properties": { + "end": { + "type": "number" + }, + "start": { + "type": "number" + }, + "type": { + "const": "cutAndRipple", + "type": "string" + } + }, + "required": [ + "type", + "start", + "end" + ], + "type": "object" + }, + { + "additionalProperties": false, + "description": "Server-authoritative: shift everything at/after `time` (seconds) by `amount` seconds (+ opens a gap, − closes one).", + "properties": { + "amount": { + "type": "number" + }, + "time": { + "type": "number" + }, + "type": { + "const": "ripple", + "type": "string" + } + }, + "required": [ + "type", + "time", + "amount" + ], + "type": "object" + }, + { + "additionalProperties": false, + "description": "Server-authoritative: exclude a [sourceStart,sourceEnd] span (seconds) of a clip's SOURCE (an internal trim) and ripple downstream — the preferred way to drop a sub-range vs a source patch.", + "properties": { + "clipId": { + "type": "string" + }, + "reason": { + "type": "string" + }, + "sourceEnd": { + "type": "number" + }, + "sourceStart": { + "type": "number" + }, + "type": { + "const": "addExcludedRange", + "type": "string" + } + }, + "required": [ + "type", + "clipId", + "sourceStart", + "sourceEnd" + ], + "type": "object" + }, + { + "additionalProperties": false, + "description": "Server-authoritative: remove a clip's previously-added excluded range by index (re-includes that span, ripples downstream).", + "properties": { + "clipId": { + "type": "string" + }, + "rangeIdx": { + "type": "number" + }, + "type": { + "const": "removeExcludedRange", + "type": "string" + } + }, + "required": [ + "type", + "clipId", + "rangeIdx" + ], + "type": "object" + }, + { + "additionalProperties": false, + "description": "Atomically repin explicit version3 invocations using complete before/after execution references and an exact composition etag. Persistence must canonically admit scoped source hashes, destination input schemas and every resulting target context before applying, including replay/undo. Never infer a latest head, downgrade versions or accept an admitted flag.", + "properties": { + "changes": { + "items": { + "additionalProperties": false, + "properties": { + "after": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } + ] + }, + "before": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } + ] + }, + "placementId": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "placementId", + "before", + "after" + ], + "type": "object" + }, + "maxItems": 512, + "minItems": 1, + "type": "array" + }, + "componentId": { + "minLength": 1, + "type": "string" + }, + "expectedCompositionEtag": { + "minLength": 1, + "type": "string" + }, + "from": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "to": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "type": { + "const": "component.repin-v3", + "type": "string" + } + }, + "required": [ + "type", + "componentId", + "from", + "to", + "expectedCompositionEtag", + "changes" + ], + "type": "object" + } +]
- Changed
apply_template5 fields changed- added
Input schema / properties / body / properties / componentExecutionVersions / anyOfAdded value: +[ + { + "items": false, + "maxItems": 1, + "minItems": 1, + "prefixItems": [ + { + "const": 3, + "type": "number" + } + ], + "type": "array" + }, + { + "items": false, + "maxItems": 2, + "minItems": 2, + "prefixItems": [ + { + "const": 3, + "type": "number" + }, + { + "const": 4, + "type": "number" + } + ], + "type": "array" + } +] - removed
Input schema / properties / body / properties / componentExecutionVersions / itemsRemoved value: -{ - "const": 3, - "type": "number" -} - removed
Input schema / properties / body / properties / componentExecutionVersions / maxItemsRemoved value: -1 - removed
Input schema / properties / body / properties / componentExecutionVersions / minItemsRemoved value: -1 - removed
Input schema / properties / body / properties / componentExecutionVersions / typeRemoved value: -"array"
- Changed
compose1 field changed- added
Input schema / properties / body / properties / format / properties / platformAdded value: +{ + "type": "string" +}
- Changed
create_brief20 fields changed- removed
Input schema / properties / body / properties / format / descriptionRemoved value: -"Output-format spec per §Format." - added
Input schema / properties / body / properties / format / properties / platformAdded value: +{ + "type": "string" +} - removed
Input schema / properties / body / properties / seededGraphics / items / properties / animateRemoved value: -{ - "additionalProperties": { - "items": { - "additionalProperties": false, - "properties": { - "easing": { - "anyOf": [ - { - "enum": [ - "linear", - "ease", - "easeIn", - "easeOut", - "easeInOut" - ], - "type": "string" - }, - { - "additionalProperties": false, - "properties": { - "cubicBezier": { - "items": false, - "maxItems": 4, - "minItems": 4, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - } - }, - "required": [ - "cubicBezier" - ], - "type": "object" - } - ] - }, - "time": { - "minimum": 0, - "type": "number" - }, - "value": { - "type": "number" - } - }, - "required": [ - "time", - "value" - ], - "type": "object" - }, - "minItems": 2, - "type": "array" - }, - "description": "Keyframe channels, clip-relative seconds. Each channel's values use the SAME unit as the scalar it animates: `opacity` 0 to 1, `scale` a multiplier (>0), `rotation` degrees, `position.x`/`position.y` a FRACTION of the frame like `position` (0.5 = centre; NOT pixels), `volume` 0 to 4.", - "propertyNames": { - "type": "string" - }, - "type": "object" -} - added
Input schema / properties / body / properties / seededGraphics / items / properties / automationAdded value: +{ + "additionalProperties": false, + "properties": { + "lanes": { + "items": { + "additionalProperties": false, + "properties": { + "points": { + "items": { + "additionalProperties": false, + "properties": { + "t": { + "type": "number" + }, + "v": { + "type": "number" + } + }, + "required": [ + "t", + "v" + ], + "type": "object" + }, + "minItems": 2, + "type": "array" + }, + "target": { + "const": "volume", + "type": "string" + } + }, + "required": [ + "target", + "points" + ], + "type": "object" + }, + "type": "array" + }, + "version": { + "const": 1, + "type": "number" + } + }, + "required": [ + "version", + "lanes" + ], + "type": "object" +} - removed
Input schema / properties / body / properties / seededGraphics / items / properties / duration / descriptionRemoved value: -"Clip duration (seconds)." - removed
Input schema / properties / body / properties / seededGraphics / items / properties / effects / items / properties / component / additionalPropertiesRemoved value: -false - added
Input schema / properties / body / properties / seededGraphics / items / properties / effects / items / properties / component / anyOfAdded value: +[ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } +] - removed
Input schema / properties / body / properties / seededGraphics / items / properties / effects / items / properties / component / propertiesRemoved value: -{ - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } -} - removed
Input schema / properties / body / properties / seededGraphics / items / properties / effects / items / properties / component / requiredRemoved value: -[ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" -] - removed
Input schema / properties / body / properties / seededGraphics / items / properties / effects / items / properties / component / typeRemoved value: -"object" - added
Input schema / properties / body / properties / seededGraphics / items / properties / legacyKeyframesAdded value: +{ + "additionalProperties": false, + "properties": { + "channels": { + "items": { + "type": "string" + }, + "type": "array" + }, + "needsUpgrade": { + "const": true, + "type": "boolean" + }, + "record": {} + }, + "required": [ + "needsUpgrade", + "channels", + "record" + ], + "type": "object" +} - changed
Input schema / properties / body / properties / seededGraphics / items / properties / source / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "clipId": { - "minLength": 1, - "type": "string" - }, - "offsetMs": { - "type": "number" - } - }, - "required": [ - "clipId", - "offsetMs" - ], - "type": "object" - }, - "audioRole": { - "enum": [ - "sfx", - "music", - "vo", - "ambience" - ], - "type": "string" - }, - "duck": { - "additionalProperties": false, - "properties": { - "attackMs": { - "minimum": 0, - "type": "number" - }, - "duckDb": { - "maximum": 0, - "type": "number" - }, - "releaseMs": { - "minimum": 0, - "type": "number" - }, - "windows": { - "items": { - "additionalProperties": false, - "properties": { - "endMs": { - "type": "number" - }, - "startMs": { - "type": "number" - } - }, - "required": [ - "startMs", - "endMs" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "duckDb", - "attackMs", - "releaseMs" - ], - "type": "object" - }, - "excludedRanges": { - "items": { - "additionalProperties": false, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "reason": { - "type": "string" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "type": "array" - }, - "fadeInMs": { - "minimum": 0, - "type": "number" - }, - "fadeOutMs": { - "minimum": 0, - "type": "number" - }, - "kenBurns": { - "enum": [ - "in", - "out", - "pan-l", - "pan-r", - "none" - ], - "type": "string" - }, - "kind": { - "const": "media", - "type": "string" - }, - "loop": { - "type": "boolean" - }, - "mediaId": { - "minLength": 1, - "type": "string" - }, - "muted": { - "type": "boolean" - }, - "playbackRate": { - "exclusiveMinimum": 0, - "type": "number" - }, - "reframe": { - "additionalProperties": false, - "properties": { - "segments": { - "items": { - "additionalProperties": false, - "properties": { - "bias": { - "additionalProperties": false, - "description": "Optional FINE framing nudge off the focus center, source-normalized in [−0.3, 0.3]. A small correction (headroom, rule-of-thirds), NOT a reframe — use `focus`/`zoom` for the actual shot. Omit (treated as 0) to sit dead-center on the focus.", - "properties": { - "x": { - "description": "Horizontal nudge, source-normalized (+ = right).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "y": { - "description": "Vertical nudge, source-normalized (+ = down).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "ease": { - "additionalProperties": false, - "description": "Zoom/center ramp DURATIONS in SECONDS at this segment's edges — NOT a unitless 0–1 curve. ~0.3–0.6s reads as a snappy push; >1s reads sluggish. Keep `in` + `out` ≤ the segment's duration (endSec − startSec): the two edges share the span, so to ramp across the WHOLE segment set one edge to the full duration and the other to 0. Omit for an instant cut to this framing.", - "properties": { - "in": { - "description": "Ease-IN ramp DURATION in seconds at the segment START.", - "minimum": 0, - "type": "number" - }, - "out": { - "description": "Ease-OUT ramp DURATION in seconds at the segment END.", - "minimum": 0, - "type": "number" - } - }, - "required": [ - "in", - "out" - ], - "type": "object" - }, - "endSec": { - "description": "Segment END in seconds, clip-relative. The span (endSec − startSec) is this segment's duration — the window `ease` ramps over.", - "exclusiveMinimum": 0, - "type": "number" - }, - "focus": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "frame-center", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "point", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "mode", - "x", - "y" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "faceId": { - "minLength": 1, - "type": "string" - }, - "mode": { - "const": "face", - "type": "string" - }, - "shotScale": { - "enum": [ - "close", - "standard", - "wide" - ], - "type": "string" - } - }, - "required": [ - "mode", - "faceId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "all-faces", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "active-speaker", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - } - ], - "description": "WHO/WHAT the camera tracks this segment (the reframe center), selected by `mode`: `frame-center` = no tracking, hold the geometric center (static/graphic footage, or a pure zoom); `point` = lock to a fixed source-normalized {x,y} (a non-moving on-screen element); `face` = track a detected face by `faceId` (from get_media_context), with optional `shotScale` close|standard|wide for tightness; `all-faces` = frame the bounding box of every detected face (group/ensemble shots); `active-speaker` = follow whoever is speaking (diarized talking-head / podcast). Pick by what the beat is about; pair with `zoom` for how tight." - }, - "intent": { - "description": "Optional editorial LABEL for diff/log readability (e.g. 'speaker-tight', 'wide-context'). Cosmetic — NOT honored by the derive math and excluded from the variant cache key.", - "type": "string" - }, - "startSec": { - "description": "Segment START in seconds, clip-relative. Segments tile the clip's duration in order.", - "minimum": 0, - "type": "number" - }, - "zoom": { - "description": "How TIGHT the framing is — the fraction of the source the output viewport shows. <1 punches IN (a smaller source fraction, magnified to fill the frame); 1 = the full frame (no crop). ~0.6–0.8 is a moderate push-in, ~0.5 a tight close-up, 0.1 the maximum zoom. There is NO zoom-OUT past the full frame (max 1). Omit for the full frame. MUTUALLY EXCLUSIVE with `focus.shotScale` — a face-tracked shot is sized EITHER by the editorial scale (shotScale, which the bake calibrates to the detected face) OR by an explicit zoom, never both. A segment carrying both is REJECTED: shotScale wins at bake time and the zoom would be silently discarded.", - "maximum": 1, - "minimum": 0.1, - "type": "number" - } - }, - "required": [ - "startSec", - "endSec", - "focus" - ], - "type": "object" - }, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "segments" - ], - "type": "object" - }, - "sync": { - "enum": [ - "video", - "independent" - ], - "type": "string" - }, - "trim": { - "additionalProperties": false, - "properties": { - "end": { - "description": "Source trim end (seconds).", - "minimum": 0, - "type": "number" - }, - "start": { - "description": "Source trim start (seconds).", - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "volume": { - "maximum": 4, - "minimum": 0, - "type": "number" - }, - "volumeDb": { - "type": "number" - } - }, - "required": [ - "kind", - "mediaId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "componentId": { - "minLength": 1, - "type": "string" - }, - "execution": { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - "kind": { - "const": "component", - "type": "string" - }, - "placement": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "clip", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "content-slots", - "type": "string" - }, - "slots": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "ownership": { - "enum": [ - "reference", - "exclusive" - ], - "type": "string" - }, - "targetClipIds": { - "items": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "targetClipIds", - "ownership" - ], - "type": "object" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind", - "slots" - ], - "type": "object" - } - ] - }, - "props": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "componentId", - "props", - "execution", - "placement" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "space": { - "const": "scene", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "space", - "x", - "y" - ], - "type": "object" - }, - "kind": { - "const": "overlay", - "type": "string" - }, - "parallax": { - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "params": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "pattern": "^(?!custom$)", - "type": "string" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "primitiveId", - "params" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "component": { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - "kind": { - "const": "effect", - "type": "string" - }, - "params": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "targetTrackIds": { - "items": { - "minLength": 1, - "type": "string" - }, - "minItems": 1, - "type": "array" - }, - "wrapperOrder": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "html": { - "description": "Your card's HTML — rendered VERBATIM as the graphic (shell motion via applyMotionPreset in a FOLLOWING call). CANVAS CONTRACT: the card renders in a viewport equal to the composition format's pixel frame (1080×1920 at 9:16 fhd); the root is NOT auto-pinned — declare explicit width/height matching the frame (box-sizing:border-box) and anchor content with flex/grid; position:absolute;inset:0 on the root does NOT fill the frame; for edge-to-edge backgrounds add an inner absolutely-positioned layer with generous negative inset. Overlay compositing applies a ~92% safe-area inset — keep critical copy away from the extreme edges. FONTS: name a family from GET /v1/fonts (list_render_fonts) — the renderer loads those faces for the card and waits for them, so `font-family: Inter` draws Inter. `@import` and remote font files are REFUSED: the card renders with no network. A family that is not on that list has no bytes behind it and the browser falls back, so end any stack with a generic (`Inter, sans-serif`) rather than relying on a system face being present.", - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "card", - "type": "string" - }, - "tokens": { - "additionalProperties": { - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "zPlane": { - "const": "front", - "type": "string" - } - }, - "required": [ - "kind", - "html" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "anchor": { + "additionalProperties": false, + "properties": { + "clipId": { + "minLength": 1, + "type": "string" + }, + "offsetMs": { + "type": "number" + } + }, + "required": [ + "clipId", + "offsetMs" + ], + "type": "object" + }, + "audioRole": { + "enum": [ + "sfx", + "music", + "vo", + "ambience" + ], + "type": "string" + }, + "duck": { + "additionalProperties": false, + "properties": { + "attackMs": { + "minimum": 0, + "type": "number" + }, + "duckDb": { + "maximum": 0, + "type": "number" + }, + "releaseMs": { + "minimum": 0, + "type": "number" + }, + "windows": { + "items": { + "additionalProperties": false, + "properties": { + "endMs": { + "type": "number" + }, + "startMs": { + "type": "number" + } + }, + "required": [ + "startMs", + "endMs" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "duckDb", + "attackMs", + "releaseMs" + ], + "type": "object" + }, + "excludedRanges": { + "items": { + "additionalProperties": false, + "properties": { + "end": { + "minimum": 0, + "type": "number" + }, + "reason": { + "type": "string" + }, + "start": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "type": "array" + }, + "fadeInMs": { + "minimum": 0, + "type": "number" + }, + "fadeOutMs": { + "minimum": 0, + "type": "number" + }, + "kenBurns": { + "enum": [ + "in", + "out", + "pan-l", + "pan-r", + "none" + ], + "type": "string" + }, + "kind": { + "const": "media", + "type": "string" + }, + "loop": { + "type": "boolean" + }, + "mediaId": { + "type": "string" + }, + "muted": { + "type": "boolean" + }, + "playbackRate": { + "exclusiveMinimum": 0, + "type": "number" + }, + "reframe": { + "additionalProperties": false, + "properties": { + "segments": { + "items": { + "additionalProperties": false, + "properties": { + "bias": { + "additionalProperties": false, + "description": "Optional FINE framing nudge off the focus center, source-normalized in [−0.3, 0.3]. A small correction (headroom, rule-of-thirds), NOT a reframe — use `focus`/`zoom` for the actual shot. Omit (treated as 0) to sit dead-center on the focus.", + "properties": { + "x": { + "description": "Horizontal nudge, source-normalized (+ = right).", + "maximum": 0.3, + "minimum": -0.3, + "type": "number" + }, + "y": { + "description": "Vertical nudge, source-normalized (+ = down).", + "maximum": 0.3, + "minimum": -0.3, + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "type": "object" + }, + "ease": { + "additionalProperties": false, + "description": "Zoom/center ramp DURATIONS in SECONDS at this segment's edges — NOT a unitless 0–1 curve. ~0.3–0.6s reads as a snappy push; >1s reads sluggish. Keep `in` + `out` ≤ the segment's duration (endSec − startSec): the two edges share the span, so to ramp across the WHOLE segment set one edge to the full duration and the other to 0. Omit for an instant cut to this framing.", + "properties": { + "in": { + "description": "Ease-IN ramp DURATION in seconds at the segment START.", + "minimum": 0, + "type": "number" + }, + "out": { + "description": "Ease-OUT ramp DURATION in seconds at the segment END.", + "minimum": 0, + "type": "number" + } + }, + "required": [ + "in", + "out" + ], + "type": "object" + }, + "endSec": { + "description": "Segment END in seconds, clip-relative. The span (endSec − startSec) is this segment's duration — the window `ease` ramps over.", + "exclusiveMinimum": 0, + "type": "number" + }, + "focus": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "mode": { + "const": "frame-center", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "mode": { + "const": "point", + "type": "string" + }, + "x": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "mode", + "x", + "y" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "faceId": { + "minLength": 1, + "type": "string" + }, + "mode": { + "const": "face", + "type": "string" + }, + "shotScale": { + "enum": [ + "close", + "standard", + "wide" + ], + "type": "string" + } + }, + "required": [ + "mode", + "faceId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "mode": { + "const": "all-faces", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "mode": { + "const": "active-speaker", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" + } + ], + "description": "WHO/WHAT the camera tracks this segment (the reframe center), selected by `mode`: `frame-center` = no tracking, hold the geometric center (static/graphic footage, or a pure zoom); `point` = lock to a fixed source-normalized {x,y} (a non-moving on-screen element); `face` = track a detected face by `faceId` (from get_media_context), with optional `shotScale` close|standard|wide for tightness; `all-faces` = frame the bounding box of every detected face (group/ensemble shots); `active-speaker` = follow whoever is speaking (diarized talking-head / podcast). Pick by what the beat is about; pair with `zoom` for how tight." + }, + "intent": { + "description": "Optional editorial LABEL for diff/log readability (e.g. 'speaker-tight', 'wide-context'). Cosmetic — NOT honored by the derive math and excluded from the variant cache key.", + "type": "string" + }, + "startSec": { + "description": "Segment START in seconds, clip-relative. Segments tile the clip's duration in order.", + "minimum": 0, + "type": "number" + }, + "zoom": { + "description": "How TIGHT the framing is — the fraction of the source the output viewport shows. <1 punches IN (a smaller source fraction, magnified to fill the frame); 1 = the full frame (no crop). ~0.6–0.8 is a moderate push-in, ~0.5 a tight close-up, 0.1 the maximum zoom. There is NO zoom-OUT past the full frame (max 1). Omit for the full frame. MUTUALLY EXCLUSIVE with `focus.shotScale`: a face-tracked shot is sized EITHER by the editorial scale (shotScale, calibrated to the detected face) OR by an explicit zoom — never both.", + "maximum": 1, + "minimum": 0.1, + "type": "number" + } + }, + "required": [ + "startSec", + "endSec", + "focus" + ], + "type": "object" + }, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "segments" + ], + "type": "object" + }, + "sync": { + "enum": [ + "video", + "independent" + ], + "type": "string" + }, + "trim": { + "additionalProperties": false, + "properties": { + "end": { + "minimum": 0, + "type": "number" + }, + "start": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "volume": { + "maximum": 4, + "minimum": 0, + "type": "number" + }, + "volumeDb": { + "type": "number" + } + }, + "required": [ + "kind", + "mediaId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "componentId": { + "minLength": 1, + "type": "string" + }, + "execution": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } + ] + }, + "kind": { + "const": "component", + "type": "string" + }, + "placement": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "clip", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "content-slots", + "type": "string" + }, + "slots": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "ownership": { + "enum": [ + "reference", + "exclusive" + ], + "type": "string" + }, + "targetClipIds": { + "items": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "targetClipIds", + "ownership" + ], + "type": "object" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "kind", + "slots" + ], + "type": "object" + } + ] + }, + "props": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "retired": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "zPlane": { + "enum": [ + "front", + "behind-subject" + ], + "type": "string" + } + }, + "required": [ + "kind", + "componentId", + "props" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "anchor": { + "additionalProperties": false, + "properties": { + "space": { + "const": "scene", + "type": "string" + }, + "x": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "space", + "x", + "y" + ], + "type": "object" + }, + "kind": { + "const": "overlay", + "type": "string" + }, + "parallax": { + "maximum": 0.3, + "minimum": -0.3, + "type": "number" + }, + "params": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "pattern": "^(?!custom$)", + "type": "string" + }, + "zPlane": { + "enum": [ + "front", + "behind-subject" + ], + "type": "string" + } + }, + "required": [ + "kind", + "primitiveId", + "params" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "component": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } + ] + }, + "kind": { + "const": "effect", + "type": "string" + }, + "params": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "type": "string" + }, + "targetTrackIds": { + "items": { + "minLength": 1, + "type": "string" + }, + "minItems": 1, + "type": "array" + }, + "wrapperOrder": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "html": { + "minLength": 1, + "type": "string" + }, + "kind": { + "const": "card", + "type": "string" + }, + "tokens": { + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "zPlane": { + "const": "front", + "type": "string" + } + }, + "required": [ + "kind", + "html" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "compositionId": { + "minLength": 1, + "type": "string" + }, + "kind": { + "const": "composition", + "type": "string" + }, + "trim": { + "additionalProperties": false, + "properties": { + "end": { + "minimum": 0, + "type": "number" + }, + "start": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "compositionId" + ], + "type": "object" + } +] - removed
Input schema / properties / body / properties / seededGraphics / items / properties / startTime / descriptionRemoved value: -"Timeline start (seconds)." - removed
Input schema / properties / body / properties / seededGraphics / items / properties / transitionIn / properties / component / additionalPropertiesRemoved value: -false - added
Input schema / properties / body / properties / seededGraphics / items / properties / transitionIn / properties / component / anyOfAdded value: +[ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } +] - removed
Input schema / properties / body / properties / seededGraphics / items / properties / transitionIn / properties / component / propertiesRemoved value: -{ - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } -} - removed
Input schema / properties / body / properties / seededGraphics / items / properties / transitionIn / properties / component / requiredRemoved value: -[ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" -] - removed
Input schema / properties / body / properties / seededGraphics / items / properties / transitionIn / properties / component / typeRemoved value: -"object" - added
Input schema / properties / body / properties / seededGraphics / items / properties / tweensAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "keyframes": { + "additionalProperties": false, + "properties": { + "easeEach": { + "const": "none", + "type": "string" + }, + "format": { + "const": "percentage", + "type": "string" + }, + "keyframes": { + "items": { + "additionalProperties": false, + "properties": { + "ease": { + "type": "string" + }, + "percentage": { + "type": "number" + }, + "properties": { + "additionalProperties": { + "type": "number" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + }, + "required": [ + "percentage", + "properties" + ], + "type": "object" + }, + "minItems": 2, + "type": "array" + } + }, + "required": [ + "format", + "easeEach", + "keyframes" + ], + "type": "object" + }, + "position": { + "type": "number" + }, + "propertyGroup": { + "enum": [ + "visual", + "scale", + "rotation", + "position" + ], + "type": "string" + } + }, + "required": [ + "id", + "propertyGroup", + "position", + "duration", + "keyframes" + ], + "type": "object" + }, + "type": "array" +} - removed
Output schema / properties / format / descriptionRemoved value: -"Output-format spec per §Format."
- Changed
create_component14 fields changed- added
Input schema / properties / body / properties / source / properties / manifest / properties / hfContractAdded value: +{ + "const": 1, + "type": "number" +} - added
Input schema / properties / body / properties / source / properties / manifest / properties / kindAdded value: +{ + "const": "scene", + "type": "string" +} - added
Input schema / properties / body / properties / source / properties / manifest / properties / runtimeAdded value: +{ + "const": "hyperframes", + "type": "string" +} - changed
Input schema / properties / body / properties / source / properties / manifest / properties / version / constPrevious value: -2New value: +4 - removed
Input schema / properties / body / properties / source / properties / manifest / properties / visualMediaRemoved value: -{ - "additionalProperties": false, - "properties": { - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version" - ], - "type": "object" -} - changed
Input schema / properties / body / properties / source / properties / manifest / requiredPrevious value: -[ - "version", - "assets", - "graphics", - "alphaPolicy" -]New value: +[ + "version", + "runtime", + "hfContract", + "kind", + "assets", + "graphics", + "alphaPolicy" +] - added
Input schema / properties / body / properties / source / properties / templateAdded value: +{ + "maxLength": 2000000, + "minLength": 1, + "type": "string" +} - removed
Input schema / properties / body / properties / source / properties / tsxSourceRemoved value: -{ - "maxLength": 8000000, - "minLength": 1, - "type": "string" -} - changed
Input schema / properties / body / properties / source / properties / version / constPrevious value: -3New value: +4 - changed
Input schema / properties / body / properties / source / requiredPrevious value: -[ - "version", - "componentId", - "tsxSource", - "manifest", - "definition" -]New value: +[ + "version", + "componentId", + "template", + "manifest", + "definition" +] - removed
Output schema / properties / manifest / additionalPropertiesRemoved value: -{} - removed
Output schema / properties / manifest / propertiesRemoved value: -{} - removed
Output schema / properties / manifest / typeRemoved value: -"object" - changed
Output schema / properties / version / descriptionPrevious value: -"The ENTRY's version: a semver string ('0.0.0' until an authored component is versioned). Distinct from `manifest.version`, which is the runtime contract version and is always the literal 2."New value: +"The ENTRY's version: a semver string ('0.0.0' until an authored component is versioned). Distinct from `manifest.version`, which is the runtime contract version (4 native, 2 retired TSX)."
- Changed
create_project2 fields changed- removed
Input schema / properties / body / properties / format / descriptionRemoved value: -"Output-format spec per §Format." - added
Input schema / properties / body / properties / format / properties / platformAdded value: +{ + "type": "string" +}
- Changed
create_render2 fields changed- removed
Input schema / properties / body / properties / format / descriptionRemoved value: -"Output-format spec per §Format." - added
Input schema / properties / body / properties / format / properties / platformAdded value: +{ + "type": "string" +}
- Changed
derive_composition1 field changed- added
Input schema / properties / body / properties / targetFormat / properties / platformAdded value: +{ + "type": "string" +}
- Changed
get_brief1 field changed- removed
Output schema / properties / format / descriptionRemoved value: -"Output-format spec per §Format."
- Changed
get_component_source7 fields changed- removed
Output schema / properties / manifest / additionalPropertiesRemoved value: -{} - removed
Output schema / properties / manifest / propertiesRemoved value: -{} - removed
Output schema / properties / manifest / typeRemoved value: -"object" - removed
Output schema / properties / sourceSnapshot / additionalPropertiesRemoved value: -{} - changed
Output schema / properties / sourceSnapshot / descriptionPrevious value: -"Canonical immutable v3 source snapshot; source remains provenance."New value: +"Canonical immutable source snapshot (version 4 template, or a retired version 3 TSX module); source remains provenance." - removed
Output schema / properties / sourceSnapshot / propertiesRemoved value: -{} - removed
Output schema / properties / sourceSnapshot / typeRemoved value: -"object"
- Changed
get_composition4 fields changed- added
Input schema / properties / componentExecutionVersions / anyOfAdded value: +[ + { + "const": "3", + "type": "string" + }, + { + "items": false, + "maxItems": 2, + "minItems": 2, + "prefixItems": [ + { + "const": "3", + "type": "string" + }, + { + "const": "4", + "type": "string" + } + ], + "type": "array" + } +] - removed
Input schema / properties / componentExecutionVersions / constRemoved value: -"3" - changed
Input schema / properties / componentExecutionVersions / descriptionPrevious value: -"Explicit accepted saved component execution protocol. Absent readers accept only the historical protocol."New value: +"The component execution versions this reader accepts, one parameter per version: 3, or 3 and 4 (native placements). Absent readers accept only the historical protocol." - removed
Input schema / properties / componentExecutionVersions / typeRemoved value: -"string"
- Changed
new_composition2 fields changed- removed
Input schema / properties / body / properties / format / descriptionRemoved value: -"Output-format spec per §Format." - added
Input schema / properties / body / properties / format / properties / platformAdded value: +{ + "type": "string" +}
- Added
repin_component - Changed
update_brief20 fields changed- removed
Input schema / properties / body / properties / format / descriptionRemoved value: -"Output-format spec per §Format." - added
Input schema / properties / body / properties / format / properties / platformAdded value: +{ + "type": "string" +} - removed
Input schema / properties / body / properties / seededGraphics / items / properties / animateRemoved value: -{ - "additionalProperties": { - "items": { - "additionalProperties": false, - "properties": { - "easing": { - "anyOf": [ - { - "enum": [ - "linear", - "ease", - "easeIn", - "easeOut", - "easeInOut" - ], - "type": "string" - }, - { - "additionalProperties": false, - "properties": { - "cubicBezier": { - "items": false, - "maxItems": 4, - "minItems": 4, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - } - }, - "required": [ - "cubicBezier" - ], - "type": "object" - } - ] - }, - "time": { - "minimum": 0, - "type": "number" - }, - "value": { - "type": "number" - } - }, - "required": [ - "time", - "value" - ], - "type": "object" - }, - "minItems": 2, - "type": "array" - }, - "description": "Keyframe channels, clip-relative seconds. Each channel's values use the SAME unit as the scalar it animates: `opacity` 0 to 1, `scale` a multiplier (>0), `rotation` degrees, `position.x`/`position.y` a FRACTION of the frame like `position` (0.5 = centre; NOT pixels), `volume` 0 to 4.", - "propertyNames": { - "type": "string" - }, - "type": "object" -} - added
Input schema / properties / body / properties / seededGraphics / items / properties / automationAdded value: +{ + "additionalProperties": false, + "properties": { + "lanes": { + "items": { + "additionalProperties": false, + "properties": { + "points": { + "items": { + "additionalProperties": false, + "properties": { + "t": { + "type": "number" + }, + "v": { + "type": "number" + } + }, + "required": [ + "t", + "v" + ], + "type": "object" + }, + "minItems": 2, + "type": "array" + }, + "target": { + "const": "volume", + "type": "string" + } + }, + "required": [ + "target", + "points" + ], + "type": "object" + }, + "type": "array" + }, + "version": { + "const": 1, + "type": "number" + } + }, + "required": [ + "version", + "lanes" + ], + "type": "object" +} - removed
Input schema / properties / body / properties / seededGraphics / items / properties / duration / descriptionRemoved value: -"Clip duration (seconds)." - removed
Input schema / properties / body / properties / seededGraphics / items / properties / effects / items / properties / component / additionalPropertiesRemoved value: -false - added
Input schema / properties / body / properties / seededGraphics / items / properties / effects / items / properties / component / anyOfAdded value: +[ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } +] - removed
Input schema / properties / body / properties / seededGraphics / items / properties / effects / items / properties / component / propertiesRemoved value: -{ - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } -} - removed
Input schema / properties / body / properties / seededGraphics / items / properties / effects / items / properties / component / requiredRemoved value: -[ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" -] - removed
Input schema / properties / body / properties / seededGraphics / items / properties / effects / items / properties / component / typeRemoved value: -"object" - added
Input schema / properties / body / properties / seededGraphics / items / properties / legacyKeyframesAdded value: +{ + "additionalProperties": false, + "properties": { + "channels": { + "items": { + "type": "string" + }, + "type": "array" + }, + "needsUpgrade": { + "const": true, + "type": "boolean" + }, + "record": {} + }, + "required": [ + "needsUpgrade", + "channels", + "record" + ], + "type": "object" +} - changed
Input schema / properties / body / properties / seededGraphics / items / properties / source / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "clipId": { - "minLength": 1, - "type": "string" - }, - "offsetMs": { - "type": "number" - } - }, - "required": [ - "clipId", - "offsetMs" - ], - "type": "object" - }, - "audioRole": { - "enum": [ - "sfx", - "music", - "vo", - "ambience" - ], - "type": "string" - }, - "duck": { - "additionalProperties": false, - "properties": { - "attackMs": { - "minimum": 0, - "type": "number" - }, - "duckDb": { - "maximum": 0, - "type": "number" - }, - "releaseMs": { - "minimum": 0, - "type": "number" - }, - "windows": { - "items": { - "additionalProperties": false, - "properties": { - "endMs": { - "type": "number" - }, - "startMs": { - "type": "number" - } - }, - "required": [ - "startMs", - "endMs" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "duckDb", - "attackMs", - "releaseMs" - ], - "type": "object" - }, - "excludedRanges": { - "items": { - "additionalProperties": false, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "reason": { - "type": "string" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "type": "array" - }, - "fadeInMs": { - "minimum": 0, - "type": "number" - }, - "fadeOutMs": { - "minimum": 0, - "type": "number" - }, - "kenBurns": { - "enum": [ - "in", - "out", - "pan-l", - "pan-r", - "none" - ], - "type": "string" - }, - "kind": { - "const": "media", - "type": "string" - }, - "loop": { - "type": "boolean" - }, - "mediaId": { - "minLength": 1, - "type": "string" - }, - "muted": { - "type": "boolean" - }, - "playbackRate": { - "exclusiveMinimum": 0, - "type": "number" - }, - "reframe": { - "additionalProperties": false, - "properties": { - "segments": { - "items": { - "additionalProperties": false, - "properties": { - "bias": { - "additionalProperties": false, - "description": "Optional FINE framing nudge off the focus center, source-normalized in [−0.3, 0.3]. A small correction (headroom, rule-of-thirds), NOT a reframe — use `focus`/`zoom` for the actual shot. Omit (treated as 0) to sit dead-center on the focus.", - "properties": { - "x": { - "description": "Horizontal nudge, source-normalized (+ = right).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "y": { - "description": "Vertical nudge, source-normalized (+ = down).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "ease": { - "additionalProperties": false, - "description": "Zoom/center ramp DURATIONS in SECONDS at this segment's edges — NOT a unitless 0–1 curve. ~0.3–0.6s reads as a snappy push; >1s reads sluggish. Keep `in` + `out` ≤ the segment's duration (endSec − startSec): the two edges share the span, so to ramp across the WHOLE segment set one edge to the full duration and the other to 0. Omit for an instant cut to this framing.", - "properties": { - "in": { - "description": "Ease-IN ramp DURATION in seconds at the segment START.", - "minimum": 0, - "type": "number" - }, - "out": { - "description": "Ease-OUT ramp DURATION in seconds at the segment END.", - "minimum": 0, - "type": "number" - } - }, - "required": [ - "in", - "out" - ], - "type": "object" - }, - "endSec": { - "description": "Segment END in seconds, clip-relative. The span (endSec − startSec) is this segment's duration — the window `ease` ramps over.", - "exclusiveMinimum": 0, - "type": "number" - }, - "focus": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "frame-center", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "point", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "mode", - "x", - "y" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "faceId": { - "minLength": 1, - "type": "string" - }, - "mode": { - "const": "face", - "type": "string" - }, - "shotScale": { - "enum": [ - "close", - "standard", - "wide" - ], - "type": "string" - } - }, - "required": [ - "mode", - "faceId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "all-faces", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "active-speaker", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - } - ], - "description": "WHO/WHAT the camera tracks this segment (the reframe center), selected by `mode`: `frame-center` = no tracking, hold the geometric center (static/graphic footage, or a pure zoom); `point` = lock to a fixed source-normalized {x,y} (a non-moving on-screen element); `face` = track a detected face by `faceId` (from get_media_context), with optional `shotScale` close|standard|wide for tightness; `all-faces` = frame the bounding box of every detected face (group/ensemble shots); `active-speaker` = follow whoever is speaking (diarized talking-head / podcast). Pick by what the beat is about; pair with `zoom` for how tight." - }, - "intent": { - "description": "Optional editorial LABEL for diff/log readability (e.g. 'speaker-tight', 'wide-context'). Cosmetic — NOT honored by the derive math and excluded from the variant cache key.", - "type": "string" - }, - "startSec": { - "description": "Segment START in seconds, clip-relative. Segments tile the clip's duration in order.", - "minimum": 0, - "type": "number" - }, - "zoom": { - "description": "How TIGHT the framing is — the fraction of the source the output viewport shows. <1 punches IN (a smaller source fraction, magnified to fill the frame); 1 = the full frame (no crop). ~0.6–0.8 is a moderate push-in, ~0.5 a tight close-up, 0.1 the maximum zoom. There is NO zoom-OUT past the full frame (max 1). Omit for the full frame. MUTUALLY EXCLUSIVE with `focus.shotScale` — a face-tracked shot is sized EITHER by the editorial scale (shotScale, which the bake calibrates to the detected face) OR by an explicit zoom, never both. A segment carrying both is REJECTED: shotScale wins at bake time and the zoom would be silently discarded.", - "maximum": 1, - "minimum": 0.1, - "type": "number" - } - }, - "required": [ - "startSec", - "endSec", - "focus" - ], - "type": "object" - }, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "segments" - ], - "type": "object" - }, - "sync": { - "enum": [ - "video", - "independent" - ], - "type": "string" - }, - "trim": { - "additionalProperties": false, - "properties": { - "end": { - "description": "Source trim end (seconds).", - "minimum": 0, - "type": "number" - }, - "start": { - "description": "Source trim start (seconds).", - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "volume": { - "maximum": 4, - "minimum": 0, - "type": "number" - }, - "volumeDb": { - "type": "number" - } - }, - "required": [ - "kind", - "mediaId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "componentId": { - "minLength": 1, - "type": "string" - }, - "execution": { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - "kind": { - "const": "component", - "type": "string" - }, - "placement": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "clip", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "content-slots", - "type": "string" - }, - "slots": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "ownership": { - "enum": [ - "reference", - "exclusive" - ], - "type": "string" - }, - "targetClipIds": { - "items": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "targetClipIds", - "ownership" - ], - "type": "object" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind", - "slots" - ], - "type": "object" - } - ] - }, - "props": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "componentId", - "props", - "execution", - "placement" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "space": { - "const": "scene", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "space", - "x", - "y" - ], - "type": "object" - }, - "kind": { - "const": "overlay", - "type": "string" - }, - "parallax": { - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "params": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "pattern": "^(?!custom$)", - "type": "string" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "primitiveId", - "params" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "component": { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - "kind": { - "const": "effect", - "type": "string" - }, - "params": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "targetTrackIds": { - "items": { - "minLength": 1, - "type": "string" - }, - "minItems": 1, - "type": "array" - }, - "wrapperOrder": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "html": { - "description": "Your card's HTML — rendered VERBATIM as the graphic (shell motion via applyMotionPreset in a FOLLOWING call). CANVAS CONTRACT: the card renders in a viewport equal to the composition format's pixel frame (1080×1920 at 9:16 fhd); the root is NOT auto-pinned — declare explicit width/height matching the frame (box-sizing:border-box) and anchor content with flex/grid; position:absolute;inset:0 on the root does NOT fill the frame; for edge-to-edge backgrounds add an inner absolutely-positioned layer with generous negative inset. Overlay compositing applies a ~92% safe-area inset — keep critical copy away from the extreme edges. FONTS: name a family from GET /v1/fonts (list_render_fonts) — the renderer loads those faces for the card and waits for them, so `font-family: Inter` draws Inter. `@import` and remote font files are REFUSED: the card renders with no network. A family that is not on that list has no bytes behind it and the browser falls back, so end any stack with a generic (`Inter, sans-serif`) rather than relying on a system face being present.", - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "card", - "type": "string" - }, - "tokens": { - "additionalProperties": { - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "zPlane": { - "const": "front", - "type": "string" - } - }, - "required": [ - "kind", - "html" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "anchor": { + "additionalProperties": false, + "properties": { + "clipId": { + "minLength": 1, + "type": "string" + }, + "offsetMs": { + "type": "number" + } + }, + "required": [ + "clipId", + "offsetMs" + ], + "type": "object" + }, + "audioRole": { + "enum": [ + "sfx", + "music", + "vo", + "ambience" + ], + "type": "string" + }, + "duck": { + "additionalProperties": false, + "properties": { + "attackMs": { + "minimum": 0, + "type": "number" + }, + "duckDb": { + "maximum": 0, + "type": "number" + }, + "releaseMs": { + "minimum": 0, + "type": "number" + }, + "windows": { + "items": { + "additionalProperties": false, + "properties": { + "endMs": { + "type": "number" + }, + "startMs": { + "type": "number" + } + }, + "required": [ + "startMs", + "endMs" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "duckDb", + "attackMs", + "releaseMs" + ], + "type": "object" + }, + "excludedRanges": { + "items": { + "additionalProperties": false, + "properties": { + "end": { + "minimum": 0, + "type": "number" + }, + "reason": { + "type": "string" + }, + "start": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "type": "array" + }, + "fadeInMs": { + "minimum": 0, + "type": "number" + }, + "fadeOutMs": { + "minimum": 0, + "type": "number" + }, + "kenBurns": { + "enum": [ + "in", + "out", + "pan-l", + "pan-r", + "none" + ], + "type": "string" + }, + "kind": { + "const": "media", + "type": "string" + }, + "loop": { + "type": "boolean" + }, + "mediaId": { + "type": "string" + }, + "muted": { + "type": "boolean" + }, + "playbackRate": { + "exclusiveMinimum": 0, + "type": "number" + }, + "reframe": { + "additionalProperties": false, + "properties": { + "segments": { + "items": { + "additionalProperties": false, + "properties": { + "bias": { + "additionalProperties": false, + "description": "Optional FINE framing nudge off the focus center, source-normalized in [−0.3, 0.3]. A small correction (headroom, rule-of-thirds), NOT a reframe — use `focus`/`zoom` for the actual shot. Omit (treated as 0) to sit dead-center on the focus.", + "properties": { + "x": { + "description": "Horizontal nudge, source-normalized (+ = right).", + "maximum": 0.3, + "minimum": -0.3, + "type": "number" + }, + "y": { + "description": "Vertical nudge, source-normalized (+ = down).", + "maximum": 0.3, + "minimum": -0.3, + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "type": "object" + }, + "ease": { + "additionalProperties": false, + "description": "Zoom/center ramp DURATIONS in SECONDS at this segment's edges — NOT a unitless 0–1 curve. ~0.3–0.6s reads as a snappy push; >1s reads sluggish. Keep `in` + `out` ≤ the segment's duration (endSec − startSec): the two edges share the span, so to ramp across the WHOLE segment set one edge to the full duration and the other to 0. Omit for an instant cut to this framing.", + "properties": { + "in": { + "description": "Ease-IN ramp DURATION in seconds at the segment START.", + "minimum": 0, + "type": "number" + }, + "out": { + "description": "Ease-OUT ramp DURATION in seconds at the segment END.", + "minimum": 0, + "type": "number" + } + }, + "required": [ + "in", + "out" + ], + "type": "object" + }, + "endSec": { + "description": "Segment END in seconds, clip-relative. The span (endSec − startSec) is this segment's duration — the window `ease` ramps over.", + "exclusiveMinimum": 0, + "type": "number" + }, + "focus": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "mode": { + "const": "frame-center", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "mode": { + "const": "point", + "type": "string" + }, + "x": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "mode", + "x", + "y" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "faceId": { + "minLength": 1, + "type": "string" + }, + "mode": { + "const": "face", + "type": "string" + }, + "shotScale": { + "enum": [ + "close", + "standard", + "wide" + ], + "type": "string" + } + }, + "required": [ + "mode", + "faceId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "mode": { + "const": "all-faces", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "mode": { + "const": "active-speaker", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" + } + ], + "description": "WHO/WHAT the camera tracks this segment (the reframe center), selected by `mode`: `frame-center` = no tracking, hold the geometric center (static/graphic footage, or a pure zoom); `point` = lock to a fixed source-normalized {x,y} (a non-moving on-screen element); `face` = track a detected face by `faceId` (from get_media_context), with optional `shotScale` close|standard|wide for tightness; `all-faces` = frame the bounding box of every detected face (group/ensemble shots); `active-speaker` = follow whoever is speaking (diarized talking-head / podcast). Pick by what the beat is about; pair with `zoom` for how tight." + }, + "intent": { + "description": "Optional editorial LABEL for diff/log readability (e.g. 'speaker-tight', 'wide-context'). Cosmetic — NOT honored by the derive math and excluded from the variant cache key.", + "type": "string" + }, + "startSec": { + "description": "Segment START in seconds, clip-relative. Segments tile the clip's duration in order.", + "minimum": 0, + "type": "number" + }, + "zoom": { + "description": "How TIGHT the framing is — the fraction of the source the output viewport shows. <1 punches IN (a smaller source fraction, magnified to fill the frame); 1 = the full frame (no crop). ~0.6–0.8 is a moderate push-in, ~0.5 a tight close-up, 0.1 the maximum zoom. There is NO zoom-OUT past the full frame (max 1). Omit for the full frame. MUTUALLY EXCLUSIVE with `focus.shotScale`: a face-tracked shot is sized EITHER by the editorial scale (shotScale, calibrated to the detected face) OR by an explicit zoom — never both.", + "maximum": 1, + "minimum": 0.1, + "type": "number" + } + }, + "required": [ + "startSec", + "endSec", + "focus" + ], + "type": "object" + }, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "segments" + ], + "type": "object" + }, + "sync": { + "enum": [ + "video", + "independent" + ], + "type": "string" + }, + "trim": { + "additionalProperties": false, + "properties": { + "end": { + "minimum": 0, + "type": "number" + }, + "start": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "volume": { + "maximum": 4, + "minimum": 0, + "type": "number" + }, + "volumeDb": { + "type": "number" + } + }, + "required": [ + "kind", + "mediaId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "componentId": { + "minLength": 1, + "type": "string" + }, + "execution": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } + ] + }, + "kind": { + "const": "component", + "type": "string" + }, + "placement": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "clip", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "content-slots", + "type": "string" + }, + "slots": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "ownership": { + "enum": [ + "reference", + "exclusive" + ], + "type": "string" + }, + "targetClipIds": { + "items": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "targetClipIds", + "ownership" + ], + "type": "object" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "kind", + "slots" + ], + "type": "object" + } + ] + }, + "props": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "retired": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "zPlane": { + "enum": [ + "front", + "behind-subject" + ], + "type": "string" + } + }, + "required": [ + "kind", + "componentId", + "props" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "anchor": { + "additionalProperties": false, + "properties": { + "space": { + "const": "scene", + "type": "string" + }, + "x": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "space", + "x", + "y" + ], + "type": "object" + }, + "kind": { + "const": "overlay", + "type": "string" + }, + "parallax": { + "maximum": 0.3, + "minimum": -0.3, + "type": "number" + }, + "params": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "pattern": "^(?!custom$)", + "type": "string" + }, + "zPlane": { + "enum": [ + "front", + "behind-subject" + ], + "type": "string" + } + }, + "required": [ + "kind", + "primitiveId", + "params" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "component": { + "anyOf": [ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } + ] + }, + "kind": { + "const": "effect", + "type": "string" + }, + "params": { + "additionalProperties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "type": "string" + }, + "targetTrackIds": { + "items": { + "minLength": 1, + "type": "string" + }, + "minItems": 1, + "type": "array" + }, + "wrapperOrder": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "html": { + "minLength": 1, + "type": "string" + }, + "kind": { + "const": "card", + "type": "string" + }, + "tokens": { + "additionalProperties": { + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "zPlane": { + "const": "front", + "type": "string" + } + }, + "required": [ + "kind", + "html" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "compositionId": { + "minLength": 1, + "type": "string" + }, + "kind": { + "const": "composition", + "type": "string" + }, + "trim": { + "additionalProperties": false, + "properties": { + "end": { + "minimum": 0, + "type": "number" + }, + "start": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "compositionId" + ], + "type": "object" + } +] - removed
Input schema / properties / body / properties / seededGraphics / items / properties / startTime / descriptionRemoved value: -"Timeline start (seconds)." - removed
Input schema / properties / body / properties / seededGraphics / items / properties / transitionIn / properties / component / additionalPropertiesRemoved value: -false - added
Input schema / properties / body / properties / seededGraphics / items / properties / transitionIn / properties / component / anyOfAdded value: +[ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } +] - removed
Input schema / properties / body / properties / seededGraphics / items / properties / transitionIn / properties / component / propertiesRemoved value: -{ - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } -} - removed
Input schema / properties / body / properties / seededGraphics / items / properties / transitionIn / properties / component / requiredRemoved value: -[ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" -] - removed
Input schema / properties / body / properties / seededGraphics / items / properties / transitionIn / properties / component / typeRemoved value: -"object" - added
Input schema / properties / body / properties / seededGraphics / items / properties / tweensAdded value: +{ + "items": { + "additionalProperties": false, + "properties": { + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "keyframes": { + "additionalProperties": false, + "properties": { + "easeEach": { + "const": "none", + "type": "string" + }, + "format": { + "const": "percentage", + "type": "string" + }, + "keyframes": { + "items": { + "additionalProperties": false, + "properties": { + "ease": { + "type": "string" + }, + "percentage": { + "type": "number" + }, + "properties": { + "additionalProperties": { + "type": "number" + }, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + }, + "required": [ + "percentage", + "properties" + ], + "type": "object" + }, + "minItems": 2, + "type": "array" + } + }, + "required": [ + "format", + "easeEach", + "keyframes" + ], + "type": "object" + }, + "position": { + "type": "number" + }, + "propertyGroup": { + "enum": [ + "visual", + "scale", + "rotation", + "position" + ], + "type": "string" + } + }, + "required": [ + "id", + "propertyGroup", + "position", + "duration", + "keyframes" + ], + "type": "object" + }, + "type": "array" +} - removed
Output schema / properties / format / descriptionRemoved value: -"Output-format spec per §Format."
- Changed
update_component14 fields changed- added
Input schema / properties / body / properties / source / properties / manifest / properties / hfContractAdded value: +{ + "const": 1, + "type": "number" +} - added
Input schema / properties / body / properties / source / properties / manifest / properties / kindAdded value: +{ + "const": "scene", + "type": "string" +} - added
Input schema / properties / body / properties / source / properties / manifest / properties / runtimeAdded value: +{ + "const": "hyperframes", + "type": "string" +} - changed
Input schema / properties / body / properties / source / properties / manifest / properties / version / constPrevious value: -2New value: +4 - removed
Input schema / properties / body / properties / source / properties / manifest / properties / visualMediaRemoved value: -{ - "additionalProperties": false, - "properties": { - "version": { - "const": 1, - "type": "number" - } - }, - "required": [ - "version" - ], - "type": "object" -} - changed
Input schema / properties / body / properties / source / properties / manifest / requiredPrevious value: -[ - "version", - "assets", - "graphics", - "alphaPolicy" -]New value: +[ + "version", + "runtime", + "hfContract", + "kind", + "assets", + "graphics", + "alphaPolicy" +] - added
Input schema / properties / body / properties / source / properties / templateAdded value: +{ + "maxLength": 2000000, + "minLength": 1, + "type": "string" +} - removed
Input schema / properties / body / properties / source / properties / tsxSourceRemoved value: -{ - "maxLength": 8000000, - "minLength": 1, - "type": "string" -} - changed
Input schema / properties / body / properties / source / properties / version / constPrevious value: -3New value: +4 - changed
Input schema / properties / body / properties / source / requiredPrevious value: -[ - "version", - "componentId", - "tsxSource", - "manifest", - "definition" -]New value: +[ + "version", + "componentId", + "template", + "manifest", + "definition" +] - removed
Output schema / properties / manifest / additionalPropertiesRemoved value: -{} - removed
Output schema / properties / manifest / propertiesRemoved value: -{} - removed
Output schema / properties / manifest / typeRemoved value: -"object" - changed
Output schema / properties / version / descriptionPrevious value: -"The ENTRY's version: a semver string ('0.0.0' until an authored component is versioned). Distinct from `manifest.version`, which is the runtime contract version and is always the literal 2."New value: +"The ENTRY's version: a semver string ('0.0.0' until an authored component is versioned). Distinct from `manifest.version`, which is the runtime contract version (4 native, 2 retired TSX)."
- Changed
update_project2 fields changed- removed
Input schema / properties / body / properties / format / descriptionRemoved value: -"Output-format spec per §Format." - added
Input schema / properties / body / properties / format / properties / platformAdded value: +{ + "type": "string" +}
- Changed
validate_composition13 fields changed- changed
Input schema / $defs / __schema0 / anyOfPrevious value: -[ - { - "type": "string" - }, - { - "type": "number" - }, - { - "type": "boolean" - }, - { - "type": "null" - }, - { - "items": { - "$ref": "#/$defs/__schema0" - }, - "type": "array" - }, - { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - } -]New value: +[ + { + "type": "string" + }, + { + "type": "number" + }, + { + "type": "boolean" + }, + { + "type": "null" + }, + { + "items": { + "$ref": "#/$defs/__schema0" + }, + "type": "array" + }, + { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } +] - removed
Input schema / properties / body / descriptionRemoved value: -"Canonical composition wire shape (multi-track; carries reframe, captions, markers)." - changed
Input schema / properties / body / properties / accessibility / additionalPropertiesPrevious value: -falseNew value: +{} - added
Input schema / properties / body / properties / aclAdded value: +{ + "additionalProperties": {}, + "properties": { + "public": { + "type": "boolean" + }, + "readerOrgIds": { + "items": { + "type": "string" + }, + "type": "array" + }, + "writerOrgIds": { + "items": { + "type": "string" + }, + "type": "array" + } + }, + "readOnly": true, + "type": "object" +} - removed
Input schema / properties / body / properties / captions / anyOfRemoved value: -[ - { - "additionalProperties": false, - "properties": { - "from": { - "additionalProperties": false, - "properties": { - "clipId": { - "type": "string" - } - }, - "required": [ - "clipId" - ], - "type": "object" - }, - "layouts": { - "items": { - "additionalProperties": false, - "properties": { - "holdThroughWordIndex": { - "description": "Inclusive saved-word index in this segment. The layout stays visible until that word ends.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "region": { - "additionalProperties": false, - "properties": { - "h": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "w": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "rotation": { - "maximum": 45, - "minimum": -45, - "type": "number" - }, - "scale": { - "maximum": 4, - "minimum": 0.25, - "type": "number" - }, - "segmentIndex": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "style": { - "additionalProperties": false, - "properties": { - "annotationColor": { - "type": "string" - }, - "annotationStrokeWidth": { - "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.", - "maximum": 12, - "minimum": 0.5, - "type": "number" - }, - "annotationTexture": { - "description": "Native annotation stroke finish; default clean.", - "enum": [ - "clean", - "pencil" - ], - "type": "string" - }, - "backgroundColor": { - "type": "string" - }, - "color": { - "minLength": 1, - "type": "string" - }, - "emphasisColor": { - "type": "string" - }, - "emphasisFontFamily": { - "type": "string" - }, - "emphasisFontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "emphasisFontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "emphasisLetterSpacing": { - "type": "number" - }, - "emphasisPlate": { - "type": "boolean" - }, - "emphasisPlateAltColor": { - "type": "string" - }, - "emphasisPlateAltTextColor": { - "type": "string" - }, - "emphasisPlateColor": { - "type": "string" - }, - "emphasisPlatePadX": { - "type": "number" - }, - "emphasisPlatePadY": { - "type": "number" - }, - "emphasisPlateRadius": { - "minimum": 0, - "type": "number" - }, - "emphasisPlateReveal": { - "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.", - "type": "boolean" - }, - "emphasisPlateTextColor": { - "type": "string" - }, - "emphasisScale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "emphasisTextTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "entrance": { - "enum": [ - "none", - "fade", - "word-pop", - "stagger-up" - ], - "type": "string" - }, - "entranceMs": { - "minimum": 0, - "type": "number" - }, - "entranceStaggerMs": { - "minimum": 0, - "type": "number" - }, - "exitMs": { - "minimum": 0, - "type": "number" - }, - "fontFamily": { - "minLength": 1, - "type": "string" - }, - "fontSize": { - "description": "Font size as % of composition height (1-15, default 5). NOT px.", - "maximum": 15, - "minimum": 1, - "type": "number" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "highlightColor": { - "minLength": 1, - "type": "string" - }, - "letterSpacing": { - "description": "Base caption glyph spacing in pixels.", - "maximum": 20, - "minimum": -5, - "type": "number" - }, - "lineGapEm": { - "description": "Gap between caption lines as a multiple of base font size; default 0.25.", - "maximum": 2, - "minimum": 0, - "type": "number" - }, - "plate": { - "enum": [ - "glass", - "solid", - "none" - ], - "type": "string" - }, - "textTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "wordGapEm": { - "description": "Gap between caption runs as a multiple of base font size; default 0.35.", - "maximum": 2, - "minimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "wordEndIndex": { - "description": "Exclusive word index in the saved caption segment.", - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "wordMarks": { - "items": { - "additionalProperties": false, - "properties": { - "annotate": { - "anyOf": [ - { - "enum": [ - "circle", - "underline" - ], - "type": "string" - }, - { - "type": "null" - } - ] - }, - "emphasis": { - "type": "boolean" - }, - "wordIndex": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "wordIndex" - ], - "type": "object" - }, - "type": "array" - }, - "wordSignature": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "wordStartIndex": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "segmentIndex", - "wordStartIndex", - "wordEndIndex", - "region", - "wordSignature" - ], - "type": "object" - }, - "type": "array" - }, - "segments": { - "items": { - "additionalProperties": false, - "properties": { - "words": { - "items": { - "additionalProperties": false, - "properties": { - "annotate": { - "enum": [ - "circle", - "underline" - ], - "type": "string" - }, - "emphasis": { - "type": "boolean" - }, - "endMs": { - "description": "Word end on the composition timeline, in milliseconds.", - "minimum": 0, - "type": "number" - }, - "startMs": { - "description": "Word start on the composition timeline, in milliseconds.", - "minimum": 0, - "type": "number" - }, - "text": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "text", - "startMs", - "endMs" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "words" - ], - "type": "object" - }, - "type": "array" - }, - "source": { - "const": "derived", - "type": "string" - }, - "style": { - "additionalProperties": false, - "properties": { - "annotationColor": { - "type": "string" - }, - "annotationStrokeWidth": { - "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.", - "maximum": 12, - "minimum": 0.5, - "type": "number" - }, - "annotationTexture": { - "description": "Native annotation stroke finish; default clean.", - "enum": [ - "clean", - "pencil" - ], - "type": "string" - }, - "backgroundColor": { - "type": "string" - }, - "color": { - "minLength": 1, - "type": "string" - }, - "emphasisColor": { - "type": "string" - }, - "emphasisFontFamily": { - "type": "string" - }, - "emphasisFontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "emphasisFontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "emphasisGradient": { - "type": "string" - }, - "emphasisLetterSpacing": { - "type": "number" - }, - "emphasisPlate": { - "type": "boolean" - }, - "emphasisPlateAltColor": { - "type": "string" - }, - "emphasisPlateAltTextColor": { - "type": "string" - }, - "emphasisPlateColor": { - "type": "string" - }, - "emphasisPlatePadX": { - "type": "number" - }, - "emphasisPlatePadY": { - "type": "number" - }, - "emphasisPlateRadius": { - "minimum": 0, - "type": "number" - }, - "emphasisPlateReveal": { - "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.", - "type": "boolean" - }, - "emphasisPlateTextColor": { - "type": "string" - }, - "emphasisScale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "emphasisTextTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "entrance": { - "enum": [ - "none", - "fade", - "word-pop", - "stagger-up" - ], - "type": "string" - }, - "entranceMs": { - "minimum": 0, - "type": "number" - }, - "entranceStaggerMs": { - "minimum": 0, - "type": "number" - }, - "exitMs": { - "minimum": 0, - "type": "number" - }, - "fontFamily": { - "minLength": 1, - "type": "string" - }, - "fontSize": { - "description": "Font size as % of composition height (1-15, default 5). NOT px.", - "maximum": 15, - "minimum": 1, - "type": "number" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "highlightColor": { - "minLength": 1, - "type": "string" - }, - "letterSpacing": { - "description": "Base caption glyph spacing in pixels.", - "maximum": 20, - "minimum": -5, - "type": "number" - }, - "lineGapEm": { - "description": "Gap between caption lines as a multiple of base font size; default 0.25.", - "maximum": 2, - "minimum": 0, - "type": "number" - }, - "maxWidthPercent": { - "exclusiveMinimum": 0, - "maximum": 100, - "type": "number" - }, - "plate": { - "enum": [ - "glass", - "solid", - "none" - ], - "type": "string" - }, - "position": { - "enum": [ - "top", - "center", - "bottom" - ], - "type": "string" - }, - "region": { - "additionalProperties": false, - "description": "Optional caption layout box {x,y,w,h} in normalized output-frame coordinates. Overrides position; text starts at its top edge and wraps/pages within its width and height.", - "properties": { - "h": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "w": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "textTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "wordGapEm": { - "description": "Gap between caption runs as a multiple of base font size; default 0.35.", - "maximum": 2, - "minimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "source", - "from", - "segments" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "layouts": { - "items": { - "additionalProperties": false, - "properties": { - "holdThroughWordIndex": { - "description": "Inclusive saved-word index in this segment. The layout stays visible until that word ends.", - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "region": { - "additionalProperties": false, - "properties": { - "h": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "w": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "rotation": { - "maximum": 45, - "minimum": -45, - "type": "number" - }, - "scale": { - "maximum": 4, - "minimum": 0.25, - "type": "number" - }, - "segmentIndex": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - }, - "style": { - "additionalProperties": false, - "properties": { - "annotationColor": { - "type": "string" - }, - "annotationStrokeWidth": { - "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.", - "maximum": 12, - "minimum": 0.5, - "type": "number" - }, - "annotationTexture": { - "description": "Native annotation stroke finish; default clean.", - "enum": [ - "clean", - "pencil" - ], - "type": "string" - }, - "backgroundColor": { - "type": "string" - }, - "color": { - "minLength": 1, - "type": "string" - }, - "emphasisColor": { - "type": "string" - }, - "emphasisFontFamily": { - "type": "string" - }, - "emphasisFontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "emphasisFontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "emphasisLetterSpacing": { - "type": "number" - }, - "emphasisPlate": { - "type": "boolean" - }, - "emphasisPlateAltColor": { - "type": "string" - }, - "emphasisPlateAltTextColor": { - "type": "string" - }, - "emphasisPlateColor": { - "type": "string" - }, - "emphasisPlatePadX": { - "type": "number" - }, - "emphasisPlatePadY": { - "type": "number" - }, - "emphasisPlateRadius": { - "minimum": 0, - "type": "number" - }, - "emphasisPlateReveal": { - "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.", - "type": "boolean" - }, - "emphasisPlateTextColor": { - "type": "string" - }, - "emphasisScale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "emphasisTextTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "entrance": { - "enum": [ - "none", - "fade", - "word-pop", - "stagger-up" - ], - "type": "string" - }, - "entranceMs": { - "minimum": 0, - "type": "number" - }, - "entranceStaggerMs": { - "minimum": 0, - "type": "number" - }, - "exitMs": { - "minimum": 0, - "type": "number" - }, - "fontFamily": { - "minLength": 1, - "type": "string" - }, - "fontSize": { - "description": "Font size as % of composition height (1-15, default 5). NOT px.", - "maximum": 15, - "minimum": 1, - "type": "number" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "highlightColor": { - "minLength": 1, - "type": "string" - }, - "letterSpacing": { - "description": "Base caption glyph spacing in pixels.", - "maximum": 20, - "minimum": -5, - "type": "number" - }, - "lineGapEm": { - "description": "Gap between caption lines as a multiple of base font size; default 0.25.", - "maximum": 2, - "minimum": 0, - "type": "number" - }, - "plate": { - "enum": [ - "glass", - "solid", - "none" - ], - "type": "string" - }, - "textTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "wordGapEm": { - "description": "Gap between caption runs as a multiple of base font size; default 0.35.", - "maximum": 2, - "minimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "wordEndIndex": { - "description": "Exclusive word index in the saved caption segment.", - "exclusiveMinimum": 0, - "maximum": 9007199254740991, - "type": "integer" - }, - "wordMarks": { - "items": { - "additionalProperties": false, - "properties": { - "annotate": { - "anyOf": [ - { - "enum": [ - "circle", - "underline" - ], - "type": "string" - }, - { - "type": "null" - } - ] - }, - "emphasis": { - "type": "boolean" - }, - "wordIndex": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "wordIndex" - ], - "type": "object" - }, - "type": "array" - }, - "wordSignature": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "wordStartIndex": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "segmentIndex", - "wordStartIndex", - "wordEndIndex", - "region", - "wordSignature" - ], - "type": "object" - }, - "type": "array" - }, - "segments": { - "items": { - "additionalProperties": false, - "properties": { - "words": { - "items": { - "additionalProperties": false, - "properties": { - "annotate": { - "enum": [ - "circle", - "underline" - ], - "type": "string" - }, - "emphasis": { - "type": "boolean" - }, - "endMs": { - "description": "Word end on the composition timeline, in milliseconds.", - "minimum": 0, - "type": "number" - }, - "startMs": { - "description": "Word start on the composition timeline, in milliseconds.", - "minimum": 0, - "type": "number" - }, - "text": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "text", - "startMs", - "endMs" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "words" - ], - "type": "object" - }, - "type": "array" - }, - "source": { - "const": "authored", - "type": "string" - }, - "style": { - "additionalProperties": false, - "properties": { - "annotationColor": { - "type": "string" - }, - "annotationStrokeWidth": { - "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.", - "maximum": 12, - "minimum": 0.5, - "type": "number" - }, - "annotationTexture": { - "description": "Native annotation stroke finish; default clean.", - "enum": [ - "clean", - "pencil" - ], - "type": "string" - }, - "backgroundColor": { - "type": "string" - }, - "color": { - "minLength": 1, - "type": "string" - }, - "emphasisColor": { - "type": "string" - }, - "emphasisFontFamily": { - "type": "string" - }, - "emphasisFontStyle": { - "enum": [ - "normal", - "italic" - ], - "type": "string" - }, - "emphasisFontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "emphasisGradient": { - "type": "string" - }, - "emphasisLetterSpacing": { - "type": "number" - }, - "emphasisPlate": { - "type": "boolean" - }, - "emphasisPlateAltColor": { - "type": "string" - }, - "emphasisPlateAltTextColor": { - "type": "string" - }, - "emphasisPlateColor": { - "type": "string" - }, - "emphasisPlatePadX": { - "type": "number" - }, - "emphasisPlatePadY": { - "type": "number" - }, - "emphasisPlateRadius": { - "minimum": 0, - "type": "number" - }, - "emphasisPlateReveal": { - "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.", - "type": "boolean" - }, - "emphasisPlateTextColor": { - "type": "string" - }, - "emphasisScale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "emphasisTextTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "entrance": { - "enum": [ - "none", - "fade", - "word-pop", - "stagger-up" - ], - "type": "string" - }, - "entranceMs": { - "minimum": 0, - "type": "number" - }, - "entranceStaggerMs": { - "minimum": 0, - "type": "number" - }, - "exitMs": { - "minimum": 0, - "type": "number" - }, - "fontFamily": { - "minLength": 1, - "type": "string" - }, - "fontSize": { - "description": "Font size as % of composition height (1-15, default 5). NOT px.", - "maximum": 15, - "minimum": 1, - "type": "number" - }, - "fontWeight": { - "maximum": 900, - "minimum": 100, - "type": "integer" - }, - "highlightColor": { - "minLength": 1, - "type": "string" - }, - "letterSpacing": { - "description": "Base caption glyph spacing in pixels.", - "maximum": 20, - "minimum": -5, - "type": "number" - }, - "lineGapEm": { - "description": "Gap between caption lines as a multiple of base font size; default 0.25.", - "maximum": 2, - "minimum": 0, - "type": "number" - }, - "maxWidthPercent": { - "exclusiveMinimum": 0, - "maximum": 100, - "type": "number" - }, - "plate": { - "enum": [ - "glass", - "solid", - "none" - ], - "type": "string" - }, - "position": { - "enum": [ - "top", - "center", - "bottom" - ], - "type": "string" - }, - "region": { - "additionalProperties": false, - "description": "Optional caption layout box {x,y,w,h} in normalized output-frame coordinates. Overrides position; text starts at its top edge and wraps/pages within its width and height.", - "properties": { - "h": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "w": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "textTransform": { - "enum": [ - "none", - "uppercase", - "capitalize" - ], - "type": "string" - }, - "wordGapEm": { - "description": "Gap between caption runs as a multiple of base font size; default 0.35.", - "maximum": 2, - "minimum": 0, - "type": "number" - } - }, - "type": "object" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "source", - "segments" - ], - "type": "object" - } -] - added
Input schema / properties / body / properties / captions / oneOfAdded value: +[ + { + "additionalProperties": {}, + "properties": { + "from": { + "additionalProperties": {}, + "properties": { + "clipId": { + "type": "string" + } + }, + "required": [ + "clipId" + ], + "type": "object" + }, + "layouts": { + "items": { + "additionalProperties": false, + "properties": { + "holdThroughWordIndex": { + "description": "Inclusive saved-word index in this segment. The layout stays visible until that word ends.", + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "region": { + "additionalProperties": {}, + "properties": { + "h": { + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "w": { + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "x": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "x", + "y", + "w", + "h" + ], + "type": "object" + }, + "rotation": { + "maximum": 45, + "minimum": -45, + "type": "number" + }, + "scale": { + "maximum": 4, + "minimum": 0.25, + "type": "number" + }, + "segmentIndex": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "style": { + "additionalProperties": false, + "properties": { + "annotationColor": { + "type": "string" + }, + "annotationStrokeWidth": { + "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.", + "maximum": 12, + "minimum": 0.5, + "type": "number" + }, + "annotationTexture": { + "description": "Native annotation stroke finish; default clean.", + "enum": [ + "clean", + "pencil" + ], + "type": "string" + }, + "backgroundColor": { + "type": "string" + }, + "color": { + "minLength": 1, + "type": "string" + }, + "emphasisColor": { + "type": "string" + }, + "emphasisFontFamily": { + "type": "string" + }, + "emphasisFontStyle": { + "enum": [ + "normal", + "italic" + ], + "type": "string" + }, + "emphasisFontWeight": { + "maximum": 900, + "minimum": 100, + "type": "integer" + }, + "emphasisLetterSpacing": { + "type": "number" + }, + "emphasisPlate": { + "type": "boolean" + }, + "emphasisPlateAltColor": { + "type": "string" + }, + "emphasisPlateAltTextColor": { + "type": "string" + }, + "emphasisPlateColor": { + "type": "string" + }, + "emphasisPlatePadX": { + "type": "number" + }, + "emphasisPlatePadY": { + "type": "number" + }, + "emphasisPlateRadius": { + "minimum": 0, + "type": "number" + }, + "emphasisPlateReveal": { + "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.", + "type": "boolean" + }, + "emphasisPlateTextColor": { + "type": "string" + }, + "emphasisScale": { + "exclusiveMinimum": 0, + "type": "number" + }, + "emphasisTextTransform": { + "enum": [ + "none", + "uppercase", + "capitalize" + ], + "type": "string" + }, + "entrance": { + "enum": [ + "none", + "fade", + "word-pop", + "stagger-up" + ], + "type": "string" + }, + "entranceMs": { + "minimum": 0, + "type": "number" + }, + "entranceStaggerMs": { + "minimum": 0, + "type": "number" + }, + "exitMs": { + "minimum": 0, + "type": "number" + }, + "fontFamily": { + "minLength": 1, + "type": "string" + }, + "fontSize": { + "description": "Font size as % of composition height (1-15, default 5). NOT px.", + "maximum": 15, + "minimum": 1, + "type": "number" + }, + "fontWeight": { + "maximum": 900, + "minimum": 100, + "type": "integer" + }, + "highlightColor": { + "minLength": 1, + "type": "string" + }, + "letterSpacing": { + "description": "Base caption glyph spacing in pixels.", + "maximum": 20, + "minimum": -5, + "type": "number" + }, + "lineGapEm": { + "description": "Gap between caption lines as a multiple of base font size; default 0.25.", + "maximum": 2, + "minimum": 0, + "type": "number" + }, + "plate": { + "enum": [ + "glass", + "solid", + "none" + ], + "type": "string" + }, + "textTransform": { + "enum": [ + "none", + "uppercase", + "capitalize" + ], + "type": "string" + }, + "wordGapEm": { + "description": "Gap between caption runs as a multiple of base font size; default 0.35.", + "maximum": 2, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "wordEndIndex": { + "description": "Exclusive word index in the saved caption segment.", + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + }, + "wordMarks": { + "items": { + "additionalProperties": false, + "properties": { + "annotate": { + "anyOf": [ + { + "enum": [ + "circle", + "underline" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "emphasis": { + "type": "boolean" + }, + "wordIndex": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "wordIndex" + ], + "type": "object" + }, + "type": "array" + }, + "wordSignature": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "wordStartIndex": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "segmentIndex", + "wordStartIndex", + "wordEndIndex", + "region", + "wordSignature" + ], + "type": "object" + }, + "type": "array" + }, + "segments": { + "items": { + "additionalProperties": {}, + "properties": { + "words": { + "items": { + "additionalProperties": {}, + "properties": { + "annotate": { + "enum": [ + "circle", + "underline" + ], + "type": "string" + }, + "emphasis": { + "type": "boolean" + }, + "endMs": { + "description": "Word end on the composition timeline, in milliseconds.", + "minimum": 0, + "type": "number" + }, + "startMs": { + "description": "Word start on the composition timeline, in milliseconds.", + "minimum": 0, + "type": "number" + }, + "text": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "text", + "startMs", + "endMs" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "words" + ], + "type": "object" + }, + "type": "array" + }, + "source": { + "const": "derived", + "type": "string" + }, + "style": { + "additionalProperties": {}, + "properties": { + "annotationColor": { + "type": "string" + }, + "annotationStrokeWidth": { + "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.", + "maximum": 12, + "minimum": 0.5, + "type": "number" + }, + "annotationTexture": { + "description": "Native annotation stroke finish; default clean.", + "enum": [ + "clean", + "pencil" + ], + "type": "string" + }, + "backgroundColor": { + "type": "string" + }, + "color": { + "minLength": 1, + "type": "string" + }, + "emphasisColor": { + "type": "string" + }, + "emphasisFontFamily": { + "type": "string" + }, + "emphasisFontStyle": { + "enum": [ + "normal", + "italic" + ], + "type": "string" + }, + "emphasisFontWeight": { + "maximum": 900, + "minimum": 100, + "type": "integer" + }, + "emphasisGradient": { + "type": "string" + }, + "emphasisLetterSpacing": { + "type": "number" + }, + "emphasisPlate": { + "type": "boolean" + }, + "emphasisPlateAltColor": { + "type": "string" + }, + "emphasisPlateAltTextColor": { + "type": "string" + }, + "emphasisPlateColor": { + "type": "string" + }, + "emphasisPlatePadX": { + "type": "number" + }, + "emphasisPlatePadY": { + "type": "number" + }, + "emphasisPlateRadius": { + "minimum": 0, + "type": "number" + }, + "emphasisPlateReveal": { + "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.", + "type": "boolean" + }, + "emphasisPlateTextColor": { + "type": "string" + }, + "emphasisScale": { + "exclusiveMinimum": 0, + "type": "number" + }, + "emphasisTextTransform": { + "enum": [ + "none", + "uppercase", + "capitalize" + ], + "type": "string" + }, + "entrance": { + "enum": [ + "none", + "fade", + "word-pop", + "stagger-up" + ], + "type": "string" + }, + "entranceMs": { + "minimum": 0, + "type": "number" + }, + "entranceStaggerMs": { + "minimum": 0, + "type": "number" + }, + "exitMs": { + "minimum": 0, + "type": "number" + }, + "fontFamily": { + "minLength": 1, + "type": "string" + }, + "fontSize": { + "description": "Font size as % of composition height (1-15, default 5). NOT px.", + "maximum": 15, + "minimum": 1, + "type": "number" + }, + "fontWeight": { + "maximum": 900, + "minimum": 100, + "type": "integer" + }, + "highlightColor": { + "minLength": 1, + "type": "string" + }, + "letterSpacing": { + "description": "Base caption glyph spacing in pixels.", + "maximum": 20, + "minimum": -5, + "type": "number" + }, + "lineGapEm": { + "description": "Gap between caption lines as a multiple of base font size; default 0.25.", + "maximum": 2, + "minimum": 0, + "type": "number" + }, + "maxWidthPercent": { + "exclusiveMinimum": 0, + "maximum": 100, + "type": "number" + }, + "plate": { + "enum": [ + "glass", + "solid", + "none" + ], + "type": "string" + }, + "position": { + "enum": [ + "top", + "center", + "bottom" + ], + "type": "string" + }, + "region": { + "additionalProperties": {}, + "description": "Optional caption layout box {x,y,w,h} in normalized output-frame coordinates. Overrides position; text starts at its top edge and wraps/pages within its width and height.", + "properties": { + "h": { + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "w": { + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "x": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "x", + "y", + "w", + "h" + ], + "type": "object" + }, + "textTransform": { + "enum": [ + "none", + "uppercase", + "capitalize" + ], + "type": "string" + }, + "wordGapEm": { + "description": "Gap between caption runs as a multiple of base font size; default 0.35.", + "maximum": 2, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "zPlane": { + "enum": [ + "front", + "behind-subject" + ], + "type": "string" + } + }, + "required": [ + "source", + "from", + "segments" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "layouts": { + "items": { + "additionalProperties": false, + "properties": { + "holdThroughWordIndex": { + "description": "Inclusive saved-word index in this segment. The layout stays visible until that word ends.", + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "region": { + "additionalProperties": {}, + "properties": { + "h": { + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "w": { + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "x": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "x", + "y", + "w", + "h" + ], + "type": "object" + }, + "rotation": { + "maximum": 45, + "minimum": -45, + "type": "number" + }, + "scale": { + "maximum": 4, + "minimum": 0.25, + "type": "number" + }, + "segmentIndex": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + }, + "style": { + "additionalProperties": false, + "properties": { + "annotationColor": { + "type": "string" + }, + "annotationStrokeWidth": { + "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.", + "maximum": 12, + "minimum": 0.5, + "type": "number" + }, + "annotationTexture": { + "description": "Native annotation stroke finish; default clean.", + "enum": [ + "clean", + "pencil" + ], + "type": "string" + }, + "backgroundColor": { + "type": "string" + }, + "color": { + "minLength": 1, + "type": "string" + }, + "emphasisColor": { + "type": "string" + }, + "emphasisFontFamily": { + "type": "string" + }, + "emphasisFontStyle": { + "enum": [ + "normal", + "italic" + ], + "type": "string" + }, + "emphasisFontWeight": { + "maximum": 900, + "minimum": 100, + "type": "integer" + }, + "emphasisLetterSpacing": { + "type": "number" + }, + "emphasisPlate": { + "type": "boolean" + }, + "emphasisPlateAltColor": { + "type": "string" + }, + "emphasisPlateAltTextColor": { + "type": "string" + }, + "emphasisPlateColor": { + "type": "string" + }, + "emphasisPlatePadX": { + "type": "number" + }, + "emphasisPlatePadY": { + "type": "number" + }, + "emphasisPlateRadius": { + "minimum": 0, + "type": "number" + }, + "emphasisPlateReveal": { + "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.", + "type": "boolean" + }, + "emphasisPlateTextColor": { + "type": "string" + }, + "emphasisScale": { + "exclusiveMinimum": 0, + "type": "number" + }, + "emphasisTextTransform": { + "enum": [ + "none", + "uppercase", + "capitalize" + ], + "type": "string" + }, + "entrance": { + "enum": [ + "none", + "fade", + "word-pop", + "stagger-up" + ], + "type": "string" + }, + "entranceMs": { + "minimum": 0, + "type": "number" + }, + "entranceStaggerMs": { + "minimum": 0, + "type": "number" + }, + "exitMs": { + "minimum": 0, + "type": "number" + }, + "fontFamily": { + "minLength": 1, + "type": "string" + }, + "fontSize": { + "description": "Font size as % of composition height (1-15, default 5). NOT px.", + "maximum": 15, + "minimum": 1, + "type": "number" + }, + "fontWeight": { + "maximum": 900, + "minimum": 100, + "type": "integer" + }, + "highlightColor": { + "minLength": 1, + "type": "string" + }, + "letterSpacing": { + "description": "Base caption glyph spacing in pixels.", + "maximum": 20, + "minimum": -5, + "type": "number" + }, + "lineGapEm": { + "description": "Gap between caption lines as a multiple of base font size; default 0.25.", + "maximum": 2, + "minimum": 0, + "type": "number" + }, + "plate": { + "enum": [ + "glass", + "solid", + "none" + ], + "type": "string" + }, + "textTransform": { + "enum": [ + "none", + "uppercase", + "capitalize" + ], + "type": "string" + }, + "wordGapEm": { + "description": "Gap between caption runs as a multiple of base font size; default 0.35.", + "maximum": 2, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "wordEndIndex": { + "description": "Exclusive word index in the saved caption segment.", + "exclusiveMinimum": 0, + "maximum": 9007199254740991, + "type": "integer" + }, + "wordMarks": { + "items": { + "additionalProperties": false, + "properties": { + "annotate": { + "anyOf": [ + { + "enum": [ + "circle", + "underline" + ], + "type": "string" + }, + { + "type": "null" + } + ] + }, + "emphasis": { + "type": "boolean" + }, + "wordIndex": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "wordIndex" + ], + "type": "object" + }, + "type": "array" + }, + "wordSignature": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "wordStartIndex": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "segmentIndex", + "wordStartIndex", + "wordEndIndex", + "region", + "wordSignature" + ], + "type": "object" + }, + "type": "array" + }, + "segments": { + "items": { + "additionalProperties": {}, + "properties": { + "words": { + "items": { + "additionalProperties": {}, + "properties": { + "annotate": { + "enum": [ + "circle", + "underline" + ], + "type": "string" + }, + "emphasis": { + "type": "boolean" + }, + "endMs": { + "description": "Word end on the composition timeline, in milliseconds.", + "minimum": 0, + "type": "number" + }, + "startMs": { + "description": "Word start on the composition timeline, in milliseconds.", + "minimum": 0, + "type": "number" + }, + "text": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "text", + "startMs", + "endMs" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "words" + ], + "type": "object" + }, + "type": "array" + }, + "source": { + "const": "authored", + "type": "string" + }, + "style": { + "additionalProperties": {}, + "properties": { + "annotationColor": { + "type": "string" + }, + "annotationStrokeWidth": { + "description": "Annotation stroke width in its 100×100 SVG coordinate system; default 4.", + "maximum": 12, + "minimum": 0.5, + "type": "number" + }, + "annotationTexture": { + "description": "Native annotation stroke finish; default clean.", + "enum": [ + "clean", + "pencil" + ], + "type": "string" + }, + "backgroundColor": { + "type": "string" + }, + "color": { + "minLength": 1, + "type": "string" + }, + "emphasisColor": { + "type": "string" + }, + "emphasisFontFamily": { + "type": "string" + }, + "emphasisFontStyle": { + "enum": [ + "normal", + "italic" + ], + "type": "string" + }, + "emphasisFontWeight": { + "maximum": 900, + "minimum": 100, + "type": "integer" + }, + "emphasisGradient": { + "type": "string" + }, + "emphasisLetterSpacing": { + "type": "number" + }, + "emphasisPlate": { + "type": "boolean" + }, + "emphasisPlateAltColor": { + "type": "string" + }, + "emphasisPlateAltTextColor": { + "type": "string" + }, + "emphasisPlateColor": { + "type": "string" + }, + "emphasisPlatePadX": { + "type": "number" + }, + "emphasisPlatePadY": { + "type": "number" + }, + "emphasisPlateRadius": { + "minimum": 0, + "type": "number" + }, + "emphasisPlateReveal": { + "description": "Grow a shared emphasis plate as saved words appear while reserving its final layout width.", + "type": "boolean" + }, + "emphasisPlateTextColor": { + "type": "string" + }, + "emphasisScale": { + "exclusiveMinimum": 0, + "type": "number" + }, + "emphasisTextTransform": { + "enum": [ + "none", + "uppercase", + "capitalize" + ], + "type": "string" + }, + "entrance": { + "enum": [ + "none", + "fade", + "word-pop", + "stagger-up" + ], + "type": "string" + }, + "entranceMs": { + "minimum": 0, + "type": "number" + }, + "entranceStaggerMs": { + "minimum": 0, + "type": "number" + }, + "exitMs": { + "minimum": 0, + "type": "number" + }, + "fontFamily": { + "minLength": 1, + "type": "string" + }, + "fontSize": { + "description": "Font size as % of composition height (1-15, default 5). NOT px.", + "maximum": 15, + "minimum": 1, + "type": "number" + }, + "fontWeight": { + "maximum": 900, + "minimum": 100, + "type": "integer" + }, + "highlightColor": { + "minLength": 1, + "type": "string" + }, + "letterSpacing": { + "description": "Base caption glyph spacing in pixels.", + "maximum": 20, + "minimum": -5, + "type": "number" + }, + "lineGapEm": { + "description": "Gap between caption lines as a multiple of base font size; default 0.25.", + "maximum": 2, + "minimum": 0, + "type": "number" + }, + "maxWidthPercent": { + "exclusiveMinimum": 0, + "maximum": 100, + "type": "number" + }, + "plate": { + "enum": [ + "glass", + "solid", + "none" + ], + "type": "string" + }, + "position": { + "enum": [ + "top", + "center", + "bottom" + ], + "type": "string" + }, + "region": { + "additionalProperties": {}, + "description": "Optional caption layout box {x,y,w,h} in normalized output-frame coordinates. Overrides position; text starts at its top edge and wraps/pages within its width and height.", + "properties": { + "h": { + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "w": { + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "x": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "x", + "y", + "w", + "h" + ], + "type": "object" + }, + "textTransform": { + "enum": [ + "none", + "uppercase", + "capitalize" + ], + "type": "string" + }, + "wordGapEm": { + "description": "Gap between caption runs as a multiple of base font size; default 0.35.", + "maximum": 2, + "minimum": 0, + "type": "number" + } + }, + "type": "object" + }, + "zPlane": { + "enum": [ + "front", + "behind-subject" + ], + "type": "string" + } + }, + "required": [ + "source", + "segments" + ], + "type": "object" + } +] - changed
Input schema / properties / body / properties / format / additionalPropertiesPrevious value: -falseNew value: +{} - changed
Input schema / properties / body / properties / license / additionalPropertiesPrevious value: -falseNew value: +{} - added
Input schema / properties / body / properties / licenseVerificationAdded value: +{ + "enum": [ + "attested", + "cueframe-verified", + "third-party-verified" + ], + "readOnly": true, + "type": "string" +} - added
Input schema / properties / body / properties / markers / items / properties / metadata / propertiesAdded value: +{} - added
Input schema / properties / body / properties / ownerOrgIdAdded value: +{ + "readOnly": true, + "type": "string" +} - added
Input schema / properties / body / properties / sourceSuggestionIdAdded value: +{ + "readOnly": true, + "type": "string" +} - changed
Input schema / properties / body / properties / tracks / items / properties / contents / items / anyOfPrevious value: -[ - { - "additionalProperties": false, - "properties": { - "animate": { - "additionalProperties": { - "items": { - "additionalProperties": false, - "properties": { - "easing": { - "anyOf": [ - { - "enum": [ - "linear", - "ease", - "easeIn", - "easeOut", - "easeInOut" - ], - "type": "string" - }, - { - "additionalProperties": false, - "properties": { - "cubicBezier": { - "items": false, - "maxItems": 4, - "minItems": 4, - "prefixItems": [ - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - }, - { - "type": "number" - } - ], - "type": "array" - } - }, - "required": [ - "cubicBezier" - ], - "type": "object" - } - ] - }, - "time": { - "minimum": 0, - "type": "number" - }, - "value": { - "type": "number" - } - }, - "required": [ - "time", - "value" - ], - "type": "object" - }, - "minItems": 2, - "type": "array" - }, - "description": "Keyframe channels, clip-relative seconds. Each channel's values use the SAME unit as the scalar it animates: `opacity` 0 to 1, `scale` a multiplier (>0), `rotation` degrees, `position.x`/`position.y` a FRACTION of the frame like `position` (0.5 = centre; NOT pixels), `volume` 0 to 4.", - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "captionVisibility": { - "description": "Video media clip only. Hide native captions while this clip is topmost and covers the lower picture, or when an opaque, effect-free clip has an explicitly full-frame region, even with fit:contain. Caption words and timings remain stored and resume when another visible clip takes over.", - "enum": [ - "visible", - "hidden" - ], - "type": "string" - }, - "duration": { - "description": "Clip duration (seconds).", - "exclusiveMinimum": 0, - "type": "number" - }, - "effects": { - "items": { - "additionalProperties": false, - "properties": { - "component": { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "params": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "window": { - "additionalProperties": false, - "properties": { - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "startTime": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "startTime", - "duration" - ], - "type": "object" - } - }, - "type": "object" - }, - "type": "array" - }, - "fit": { - "enum": [ - "cover", - "contain" - ], - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "kind": { - "enum": [ - "video", - "audio", - "image", - "overlay", - "effect" - ], - "type": "string" - }, - "linkGroupId": { - "minLength": 1, - "type": "string" - }, - "opacity": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "position": { - "additionalProperties": false, - "description": "Clip CENTRE as a fraction of the frame: {x:0.5,y:0.5} is dead centre, 0 to 1 is inside the frame, and a little overshoot (down to -1, up to 2) is how an entrance starts off-canvas. NOT pixels: the renderer maps x to `left: x*100%`, so `x: 180` sits 180 frame-widths away and draws nothing.", - "properties": { - "x": { - "maximum": 2, - "minimum": -1, - "type": "number" - }, - "y": { - "maximum": 2, - "minimum": -1, - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "region": { - "additionalProperties": false, - "properties": { - "h": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "w": { - "exclusiveMinimum": 0, - "maximum": 1, - "type": "number" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "x", - "y", - "w", - "h" - ], - "type": "object" - }, - "rotation": { - "type": "number" - }, - "scale": { - "exclusiveMinimum": 0, - "type": "number" - }, - "source": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "clipId": { - "minLength": 1, - "type": "string" - }, - "offsetMs": { - "type": "number" - } - }, - "required": [ - "clipId", - "offsetMs" - ], - "type": "object" - }, - "audioRole": { - "enum": [ - "sfx", - "music", - "vo", - "ambience" - ], - "type": "string" - }, - "duck": { - "additionalProperties": false, - "properties": { - "attackMs": { - "minimum": 0, - "type": "number" - }, - "duckDb": { - "maximum": 0, - "type": "number" - }, - "releaseMs": { - "minimum": 0, - "type": "number" - }, - "windows": { - "items": { - "additionalProperties": false, - "properties": { - "endMs": { - "type": "number" - }, - "startMs": { - "type": "number" - } - }, - "required": [ - "startMs", - "endMs" - ], - "type": "object" - }, - "type": "array" - } - }, - "required": [ - "duckDb", - "attackMs", - "releaseMs" - ], - "type": "object" - }, - "excludedRanges": { - "items": { - "additionalProperties": false, - "properties": { - "end": { - "minimum": 0, - "type": "number" - }, - "reason": { - "type": "string" - }, - "start": { - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "type": "array" - }, - "fadeInMs": { - "minimum": 0, - "type": "number" - }, - "fadeOutMs": { - "minimum": 0, - "type": "number" - }, - "kenBurns": { - "enum": [ - "in", - "out", - "pan-l", - "pan-r", - "none" - ], - "type": "string" - }, - "kind": { - "const": "media", - "type": "string" - }, - "loop": { - "type": "boolean" - }, - "mediaId": { - "minLength": 1, - "type": "string" - }, - "muted": { - "type": "boolean" - }, - "playbackRate": { - "exclusiveMinimum": 0, - "type": "number" - }, - "reframe": { - "additionalProperties": false, - "properties": { - "segments": { - "items": { - "additionalProperties": false, - "properties": { - "bias": { - "additionalProperties": false, - "description": "Optional FINE framing nudge off the focus center, source-normalized in [−0.3, 0.3]. A small correction (headroom, rule-of-thirds), NOT a reframe — use `focus`/`zoom` for the actual shot. Omit (treated as 0) to sit dead-center on the focus.", - "properties": { - "x": { - "description": "Horizontal nudge, source-normalized (+ = right).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "y": { - "description": "Vertical nudge, source-normalized (+ = down).", - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - } - }, - "required": [ - "x", - "y" - ], - "type": "object" - }, - "ease": { - "additionalProperties": false, - "description": "Zoom/center ramp DURATIONS in SECONDS at this segment's edges — NOT a unitless 0–1 curve. ~0.3–0.6s reads as a snappy push; >1s reads sluggish. Keep `in` + `out` ≤ the segment's duration (endSec − startSec): the two edges share the span, so to ramp across the WHOLE segment set one edge to the full duration and the other to 0. Omit for an instant cut to this framing.", - "properties": { - "in": { - "description": "Ease-IN ramp DURATION in seconds at the segment START.", - "minimum": 0, - "type": "number" - }, - "out": { - "description": "Ease-OUT ramp DURATION in seconds at the segment END.", - "minimum": 0, - "type": "number" - } - }, - "required": [ - "in", - "out" - ], - "type": "object" - }, - "endSec": { - "description": "Segment END in seconds, clip-relative. The span (endSec − startSec) is this segment's duration — the window `ease` ramps over.", - "exclusiveMinimum": 0, - "type": "number" - }, - "focus": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "frame-center", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "point", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "mode", - "x", - "y" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "faceId": { - "minLength": 1, - "type": "string" - }, - "mode": { - "const": "face", - "type": "string" - }, - "shotScale": { - "enum": [ - "close", - "standard", - "wide" - ], - "type": "string" - } - }, - "required": [ - "mode", - "faceId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "all-faces", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "mode": { - "const": "active-speaker", - "type": "string" - } - }, - "required": [ - "mode" - ], - "type": "object" - } - ], - "description": "WHO/WHAT the camera tracks this segment (the reframe center), selected by `mode`: `frame-center` = no tracking, hold the geometric center (static/graphic footage, or a pure zoom); `point` = lock to a fixed source-normalized {x,y} (a non-moving on-screen element); `face` = track a detected face by `faceId` (from get_media_context), with optional `shotScale` close|standard|wide for tightness; `all-faces` = frame the bounding box of every detected face (group/ensemble shots); `active-speaker` = follow whoever is speaking (diarized talking-head / podcast). Pick by what the beat is about; pair with `zoom` for how tight." - }, - "intent": { - "description": "Optional editorial LABEL for diff/log readability (e.g. 'speaker-tight', 'wide-context'). Cosmetic — NOT honored by the derive math and excluded from the variant cache key.", - "type": "string" - }, - "startSec": { - "description": "Segment START in seconds, clip-relative. Segments tile the clip's duration in order.", - "minimum": 0, - "type": "number" - }, - "zoom": { - "description": "How TIGHT the framing is — the fraction of the source the output viewport shows. <1 punches IN (a smaller source fraction, magnified to fill the frame); 1 = the full frame (no crop). ~0.6–0.8 is a moderate push-in, ~0.5 a tight close-up, 0.1 the maximum zoom. There is NO zoom-OUT past the full frame (max 1). Omit for the full frame. MUTUALLY EXCLUSIVE with `focus.shotScale` — a face-tracked shot is sized EITHER by the editorial scale (shotScale, which the bake calibrates to the detected face) OR by an explicit zoom, never both. A segment carrying both is REJECTED: shotScale wins at bake time and the zoom would be silently discarded.", - "maximum": 1, - "minimum": 0.1, - "type": "number" - } - }, - "required": [ - "startSec", - "endSec", - "focus" - ], - "type": "object" - }, - "minItems": 1, - "type": "array" - } - }, - "required": [ - "segments" - ], - "type": "object" - }, - "sync": { - "enum": [ - "video", - "independent" - ], - "type": "string" - }, - "trim": { - "additionalProperties": false, - "properties": { - "end": { - "description": "Source trim end (seconds).", - "minimum": 0, - "type": "number" - }, - "start": { - "description": "Source trim start (seconds).", - "minimum": 0, - "type": "number" - } - }, - "required": [ - "start", - "end" - ], - "type": "object" - }, - "volume": { - "maximum": 4, - "minimum": 0, - "type": "number" - }, - "volumeDb": { - "type": "number" - } - }, - "required": [ - "kind", - "mediaId" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "componentId": { - "minLength": 1, - "type": "string" - }, - "execution": { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - "kind": { - "const": "component", - "type": "string" - }, - "placement": { - "anyOf": [ - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "clip", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "kind": { - "const": "content-slots", - "type": "string" - }, - "slots": { - "additionalProperties": { - "additionalProperties": false, - "properties": { - "ownership": { - "enum": [ - "reference", - "exclusive" - ], - "type": "string" - }, - "targetClipIds": { - "items": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "type": "array" - } - }, - "required": [ - "targetClipIds", - "ownership" - ], - "type": "object" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "kind", - "slots" - ], - "type": "object" - } - ] - }, - "props": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "componentId", - "props", - "execution", - "placement" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "anchor": { - "additionalProperties": false, - "properties": { - "space": { - "const": "scene", - "type": "string" - }, - "x": { - "maximum": 1, - "minimum": 0, - "type": "number" - }, - "y": { - "maximum": 1, - "minimum": 0, - "type": "number" - } - }, - "required": [ - "space", - "x", - "y" - ], - "type": "object" - }, - "kind": { - "const": "overlay", - "type": "string" - }, - "parallax": { - "maximum": 0.3, - "minimum": -0.3, - "type": "number" - }, - "params": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "pattern": "^(?!custom$)", - "type": "string" - }, - "zPlane": { - "enum": [ - "front", - "behind-subject" - ], - "type": "string" - } - }, - "required": [ - "kind", - "primitiveId", - "params" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "component": { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - "kind": { - "const": "effect", - "type": "string" - }, - "params": { - "additionalProperties": {}, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "primitiveId": { - "minLength": 1, - "type": "string" - }, - "targetTrackIds": { - "items": { - "minLength": 1, - "type": "string" - }, - "minItems": 1, - "type": "array" - }, - "wrapperOrder": { - "maximum": 9007199254740991, - "minimum": 0, - "type": "integer" - } - }, - "required": [ - "kind" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "html": { - "description": "Your card's HTML — rendered VERBATIM as the graphic (shell motion via applyMotionPreset in a FOLLOWING call). CANVAS CONTRACT: the card renders in a viewport equal to the composition format's pixel frame (1080×1920 at 9:16 fhd); the root is NOT auto-pinned — declare explicit width/height matching the frame (box-sizing:border-box) and anchor content with flex/grid; position:absolute;inset:0 on the root does NOT fill the frame; for edge-to-edge backgrounds add an inner absolutely-positioned layer with generous negative inset. Overlay compositing applies a ~92% safe-area inset — keep critical copy away from the extreme edges. FONTS: name a family from GET /v1/fonts (list_render_fonts) — the renderer loads those faces for the card and waits for them, so `font-family: Inter` draws Inter. `@import` and remote font files are REFUSED: the card renders with no network. A family that is not on that list has no bytes behind it and the browser falls back, so end any stack with a generic (`Inter, sans-serif`) rather than relying on a system face being present.", - "minLength": 1, - "type": "string" - }, - "kind": { - "const": "card", - "type": "string" - }, - "tokens": { - "additionalProperties": { - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "zPlane": { - "const": "front", - "type": "string" - } - }, - "required": [ - "kind", - "html" - ], - "type": "object" - } - ] - }, - "startTime": { - "description": "Timeline start (seconds).", - "minimum": 0, - "type": "number" - }, - "transitionIn": { - "additionalProperties": false, - "properties": { - "component": { - "additionalProperties": false, - "properties": { - "assets": { - "additionalProperties": { - "minLength": 1, - "type": "string" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "componentId": { - "maxLength": 256, - "minLength": 1, - "type": "string" - }, - "mediaBindings": { - "additionalProperties": { - "items": { - "maxLength": 128, - "minLength": 1, - "type": "string" - }, - "type": "array" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "params": { - "additionalProperties": { - "$ref": "#/$defs/__schema0" - }, - "propertyNames": { - "type": "string" - }, - "type": "object" - }, - "seed": { - "minLength": 1, - "type": "string" - }, - "sourceVersionId": { - "pattern": "^[a-f0-9]{64}$", - "type": "string" - }, - "version": { - "const": 3, - "type": "number" - } - }, - "required": [ - "version", - "componentId", - "sourceVersionId", - "params", - "seed" - ], - "type": "object" - }, - "duration": { - "exclusiveMinimum": 0, - "type": "number" - }, - "fromClipId": { - "minLength": 1, - "type": "string" - }, - "handlePolicy": { - "const": "outgoing-overrun-at-cut-v1", - "type": "string" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "toClipId": { - "minLength": 1, - "type": "string" - }, - "type": { - "minLength": 1, - "type": "string" - } - }, - "required": [ - "type", - "duration" - ], - "type": "object" - } - }, - "required": [ - "id", - "startTime", - "duration", - "source" - ], - "type": "object" - }, - { - "additionalProperties": false, - "properties": { - "duration": { - "description": "Gap duration (seconds).", - "exclusiveMinimum": 0, - "type": "number" - }, - "id": { - "minLength": 1, - "type": "string" - }, - "startTime": { - "description": "Timeline start (seconds).", - "minimum": 0, - "type": "number" - } - }, - "required": [ - "id", - "startTime", - "duration" - ], - "type": "object" - } -]New value: +[ + { + "additionalProperties": false, + "properties": { + "automation": { + "additionalProperties": false, + "properties": { + "lanes": { + "items": { + "additionalProperties": false, + "properties": { + "points": { + "items": { + "additionalProperties": false, + "properties": { + "t": { + "type": "number" + }, + "v": { + "type": "number" + } + }, + "required": [ + "t", + "v" + ], + "type": "object" + }, + "minItems": 2, + "type": "array" + }, + "target": { + "const": "volume", + "type": "string" + } + }, + "required": [ + "target", + "points" + ], + "type": "object" + }, + "type": "array" + }, + "version": { + "const": 1, + "type": "number" + } + }, + "required": [ + "version", + "lanes" + ], + "type": "object" + }, + "captionVisibility": { + "description": "Video media clip only. Hide native captions while this clip is topmost and covers the lower picture, or when an opaque, effect-free clip has an explicitly full-frame region, even with fit:contain. Caption words and timings remain stored and resume when another visible clip takes over.", + "enum": [ + "visible", + "hidden" + ], + "type": "string" + }, + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "effects": { + "items": { + "additionalProperties": false, + "properties": { + "component": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } + ] + }, + "id": { + "minLength": 1, + "type": "string" + }, + "params": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "type": "string" + }, + "window": { + "additionalProperties": false, + "properties": { + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "startTime": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "startTime", + "duration" + ], + "type": "object" + } + }, + "type": "object" + }, + "type": "array" + }, + "fit": { + "enum": [ + "cover", + "contain" + ], + "type": "string" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "kind": { + "enum": [ + "video", + "audio", + "image", + "overlay", + "effect" + ], + "type": "string" + }, + "legacyKeyframes": { + "additionalProperties": false, + "properties": { + "channels": { + "items": { + "type": "string" + }, + "type": "array" + }, + "needsUpgrade": { + "const": true, + "type": "boolean" + }, + "record": {} + }, + "required": [ + "needsUpgrade", + "channels", + "record" + ], + "type": "object" + }, + "linkGroupId": { + "minLength": 1, + "type": "string" + }, + "opacity": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "position": { + "additionalProperties": {}, + "description": "Clip CENTRE as a fraction of the frame: {x:0.5,y:0.5} is dead centre, 0 to 1 is inside the frame, and a little overshoot (down to -1, up to 2) is how an entrance starts off-canvas. NOT pixels: the renderer maps x to `left: x*100%`, so `x: 180` sits 180 frame-widths away and draws nothing.", + "properties": { + "x": { + "maximum": 2, + "minimum": -1, + "type": "number" + }, + "y": { + "maximum": 2, + "minimum": -1, + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "type": "object" + }, + "region": { + "additionalProperties": {}, + "properties": { + "h": { + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "w": { + "exclusiveMinimum": 0, + "maximum": 1, + "type": "number" + }, + "x": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "x", + "y", + "w", + "h" + ], + "type": "object" + }, + "rotation": { + "type": "number" + }, + "scale": { + "exclusiveMinimum": 0, + "type": "number" + }, + "source": { + "oneOf": [ + { + "additionalProperties": {}, + "properties": { + "anchor": { + "additionalProperties": {}, + "properties": { + "clipId": { + "minLength": 1, + "type": "string" + }, + "offsetMs": { + "type": "number" + } + }, + "required": [ + "clipId", + "offsetMs" + ], + "type": "object" + }, + "audioRole": { + "enum": [ + "sfx", + "music", + "vo", + "ambience" + ], + "type": "string" + }, + "duck": { + "additionalProperties": {}, + "properties": { + "attackMs": { + "minimum": 0, + "type": "number" + }, + "duckDb": { + "maximum": 0, + "type": "number" + }, + "releaseMs": { + "minimum": 0, + "type": "number" + }, + "windows": { + "items": { + "additionalProperties": {}, + "properties": { + "endMs": { + "type": "number" + }, + "startMs": { + "type": "number" + } + }, + "required": [ + "startMs", + "endMs" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "duckDb", + "attackMs", + "releaseMs" + ], + "type": "object" + }, + "excludedRanges": { + "items": { + "additionalProperties": {}, + "properties": { + "end": { + "minimum": 0, + "type": "number" + }, + "reason": { + "type": "string" + }, + "start": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "type": "array" + }, + "fadeInMs": { + "minimum": 0, + "type": "number" + }, + "fadeOutMs": { + "minimum": 0, + "type": "number" + }, + "kenBurns": { + "enum": [ + "in", + "out", + "pan-l", + "pan-r", + "none" + ], + "type": "string" + }, + "kind": { + "const": "media", + "type": "string" + }, + "loop": { + "type": "boolean" + }, + "mediaId": { + "type": "string" + }, + "muted": { + "type": "boolean" + }, + "playbackRate": { + "exclusiveMinimum": 0, + "type": "number" + }, + "reframe": { + "additionalProperties": {}, + "properties": { + "segments": { + "items": { + "additionalProperties": {}, + "properties": { + "bias": { + "additionalProperties": {}, + "description": "Optional FINE framing nudge off the focus center, source-normalized in [−0.3, 0.3]. A small correction (headroom, rule-of-thirds), NOT a reframe — use `focus`/`zoom` for the actual shot. Omit (treated as 0) to sit dead-center on the focus.", + "properties": { + "x": { + "description": "Horizontal nudge, source-normalized (+ = right).", + "maximum": 0.3, + "minimum": -0.3, + "type": "number" + }, + "y": { + "description": "Vertical nudge, source-normalized (+ = down).", + "maximum": 0.3, + "minimum": -0.3, + "type": "number" + } + }, + "required": [ + "x", + "y" + ], + "type": "object" + }, + "ease": { + "additionalProperties": {}, + "description": "Zoom/center ramp DURATIONS in SECONDS at this segment's edges — NOT a unitless 0–1 curve. ~0.3–0.6s reads as a snappy push; >1s reads sluggish. Keep `in` + `out` ≤ the segment's duration (endSec − startSec): the two edges share the span, so to ramp across the WHOLE segment set one edge to the full duration and the other to 0. Omit for an instant cut to this framing.", + "properties": { + "in": { + "description": "Ease-IN ramp DURATION in seconds at the segment START.", + "minimum": 0, + "type": "number" + }, + "out": { + "description": "Ease-OUT ramp DURATION in seconds at the segment END.", + "minimum": 0, + "type": "number" + } + }, + "required": [ + "in", + "out" + ], + "type": "object" + }, + "endSec": { + "description": "Segment END in seconds, clip-relative. The span (endSec − startSec) is this segment's duration — the window `ease` ramps over.", + "exclusiveMinimum": 0, + "type": "number" + }, + "focus": { + "description": "WHO/WHAT the camera tracks this segment (the reframe center), selected by `mode`: `frame-center` = no tracking, hold the geometric center (static/graphic footage, or a pure zoom); `point` = lock to a fixed source-normalized {x,y} (a non-moving on-screen element); `face` = track a detected face by `faceId` (from get_media_context), with optional `shotScale` close|standard|wide for tightness; `all-faces` = frame the bounding box of every detected face (group/ensemble shots); `active-speaker` = follow whoever is speaking (diarized talking-head / podcast). Pick by what the beat is about; pair with `zoom` for how tight.", + "oneOf": [ + { + "additionalProperties": {}, + "properties": { + "mode": { + "const": "frame-center", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "mode": { + "const": "point", + "type": "string" + }, + "x": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "mode", + "x", + "y" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "faceId": { + "minLength": 1, + "type": "string" + }, + "mode": { + "const": "face", + "type": "string" + }, + "shotScale": { + "enum": [ + "close", + "standard", + "wide" + ], + "type": "string" + } + }, + "required": [ + "mode", + "faceId" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "mode": { + "const": "all-faces", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "mode": { + "const": "active-speaker", + "type": "string" + } + }, + "required": [ + "mode" + ], + "type": "object" + } + ] + }, + "intent": { + "description": "Optional editorial LABEL for diff/log readability (e.g. 'speaker-tight', 'wide-context'). Cosmetic — NOT honored by the derive math and excluded from the variant cache key.", + "type": "string" + }, + "startSec": { + "description": "Segment START in seconds, clip-relative. Segments tile the clip's duration in order.", + "minimum": 0, + "type": "number" + }, + "zoom": { + "description": "How TIGHT the framing is — the fraction of the source the output viewport shows. <1 punches IN (a smaller source fraction, magnified to fill the frame); 1 = the full frame (no crop). ~0.6–0.8 is a moderate push-in, ~0.5 a tight close-up, 0.1 the maximum zoom. There is NO zoom-OUT past the full frame (max 1). Omit for the full frame. MUTUALLY EXCLUSIVE with `focus.shotScale`: a face-tracked shot is sized EITHER by the editorial scale (shotScale, calibrated to the detected face) OR by an explicit zoom — never both.", + "maximum": 1, + "minimum": 0.1, + "type": "number" + } + }, + "required": [ + "startSec", + "endSec", + "focus" + ], + "type": "object" + }, + "minItems": 1, + "type": "array" + } + }, + "required": [ + "segments" + ], + "type": "object" + }, + "sync": { + "enum": [ + "video", + "independent" + ], + "type": "string" + }, + "trim": { + "additionalProperties": {}, + "properties": { + "end": { + "minimum": 0, + "type": "number" + }, + "start": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + }, + "volume": { + "maximum": 4, + "minimum": 0, + "type": "number" + }, + "volumeDb": { + "type": "number" + } + }, + "required": [ + "kind", + "mediaId" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "componentId": { + "minLength": 1, + "type": "string" + }, + "execution": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } + ] + }, + "kind": { + "const": "component", + "type": "string" + }, + "placement": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "clip", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "kind" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "kind": { + "const": "content-slots", + "type": "string" + }, + "slots": { + "additionalProperties": { + "additionalProperties": false, + "properties": { + "ownership": { + "enum": [ + "reference", + "exclusive" + ], + "type": "string" + }, + "targetClipIds": { + "items": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "array" + } + }, + "required": [ + "targetClipIds", + "ownership" + ], + "type": "object" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "kind", + "slots" + ], + "type": "object" + } + ] + }, + "props": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "retired": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "zPlane": { + "enum": [ + "front", + "behind-subject" + ], + "type": "string" + } + }, + "required": [ + "kind", + "componentId", + "props" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "anchor": { + "additionalProperties": {}, + "properties": { + "space": { + "const": "scene", + "type": "string" + }, + "x": { + "maximum": 1, + "minimum": 0, + "type": "number" + }, + "y": { + "maximum": 1, + "minimum": 0, + "type": "number" + } + }, + "required": [ + "space", + "x", + "y" + ], + "type": "object" + }, + "kind": { + "const": "overlay", + "type": "string" + }, + "parallax": { + "maximum": 0.3, + "minimum": -0.3, + "type": "number" + }, + "params": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "pattern": "^(?!custom$)", + "type": "string" + }, + "zPlane": { + "enum": [ + "front", + "behind-subject" + ], + "type": "string" + } + }, + "required": [ + "kind", + "primitiveId", + "params" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "component": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } + ] + }, + "kind": { + "const": "effect", + "type": "string" + }, + "params": { + "additionalProperties": {}, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "primitiveId": { + "minLength": 1, + "type": "string" + }, + "targetTrackIds": { + "items": { + "minLength": 1, + "type": "string" + }, + "minItems": 1, + "type": "array" + }, + "wrapperOrder": { + "maximum": 9007199254740991, + "minimum": 0, + "type": "integer" + } + }, + "required": [ + "kind" + ], + "type": "object" + }, + { + "additionalProperties": {}, + "properties": { + "html": { + "minLength": 1, + "type": "string" + }, + "kind": { + "const": "card", + "type": "string" + }, + "tokens": { + "additionalProperties": { + "type": "string" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "zPlane": { + "const": "front", + "type": "string" + } + }, + "required": [ + "kind", + "html" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "compositionId": { + "minLength": 1, + "type": "string" + }, + "kind": { + "const": "composition", + "type": "string" + }, + "trim": { + "additionalProperties": {}, + "properties": { + "end": { + "minimum": 0, + "type": "number" + }, + "start": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "start", + "end" + ], + "type": "object" + } + }, + "required": [ + "kind", + "compositionId" + ], + "type": "object" + } + ] + }, + "startTime": { + "minimum": 0, + "type": "number" + }, + "transitionIn": { + "additionalProperties": {}, + "properties": { + "component": { + "oneOf": [ + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 3, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "assets": { + "additionalProperties": { + "minLength": 1, + "type": "string" + }, + "properties": {}, + "propertyNames": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "componentId": { + "maxLength": 256, + "minLength": 1, + "type": "string" + }, + "mediaBindings": { + "additionalProperties": { + "items": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "array" + }, + "properties": {}, + "propertyNames": { + "maxLength": 128, + "minLength": 1, + "type": "string" + }, + "type": "object" + }, + "params": { + "additionalProperties": { + "$ref": "#/$defs/__schema0" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + }, + "seed": { + "minLength": 1, + "type": "string" + }, + "sourceVersionId": { + "pattern": "^[a-f0-9]{64}$", + "type": "string" + }, + "version": { + "const": 4, + "type": "number" + } + }, + "required": [ + "version", + "componentId", + "sourceVersionId", + "params", + "seed" + ], + "type": "object" + } + ] + }, + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "fromClipId": { + "minLength": 1, + "type": "string" + }, + "handlePolicy": { + "const": "outgoing-overrun-at-cut-v1", + "type": "string" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "toClipId": { + "minLength": 1, + "type": "string" + }, + "type": { + "minLength": 1, + "type": "string" + } + }, + "required": [ + "type", + "duration" + ], + "type": "object" + }, + "tweens": { + "items": { + "additionalProperties": false, + "properties": { + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "keyframes": { + "additionalProperties": false, + "properties": { + "easeEach": { + "const": "none", + "type": "string" + }, + "format": { + "const": "percentage", + "type": "string" + }, + "keyframes": { + "items": { + "additionalProperties": false, + "properties": { + "ease": { + "type": "string" + }, + "percentage": { + "type": "number" + }, + "properties": { + "additionalProperties": { + "type": "number" + }, + "properties": {}, + "propertyNames": { + "type": "string" + }, + "type": "object" + } + }, + "required": [ + "percentage", + "properties" + ], + "type": "object" + }, + "minItems": 2, + "type": "array" + } + }, + "required": [ + "format", + "easeEach", + "keyframes" + ], + "type": "object" + }, + "position": { + "type": "number" + }, + "propertyGroup": { + "enum": [ + "visual", + "scale", + "rotation", + "position" + ], + "type": "string" + } + }, + "required": [ + "id", + "propertyGroup", + "position", + "duration", + "keyframes" + ], + "type": "object" + }, + "type": "array" + } + }, + "required": [ + "id", + "startTime", + "duration", + "source" + ], + "type": "object" + }, + { + "additionalProperties": false, + "properties": { + "duration": { + "exclusiveMinimum": 0, + "type": "number" + }, + "id": { + "minLength": 1, + "type": "string" + }, + "startTime": { + "minimum": 0, + "type": "number" + } + }, + "required": [ + "id", + "startTime", + "duration" + ], + "type": "object" + } +]
71 tool updates
- First observed
apply_composition - First observed
apply_template - First observed
cancel_compose - First observed
cancel_export - First observed
cancel_job - First observed
cancel_render - First observed
compose - First observed
consult - First observed
create_brand_kit - First observed
create_brief - First observed
create_checkout - First observed
create_component - First observed
create_project - First observed
create_render - First observed
create_upload - First observed
create_webhook - First observed
delete_brief - First observed
delete_composition - First observed
delete_critic - First observed
delete_media - First observed
delete_project - First observed
delete_webhook - First observed
derive_composition - First observed
describe_composition_ops - First observed
extract_brand_kit - First observed
finalize_upload - First observed
generate_media - First observed
get_account - First observed
get_brief - First observed
get_checkpoint - First observed
get_component_source - First observed
get_composition - First observed
get_media_context - First observed
get_media_facts - First observed
get_profile - First observed
get_transcript - First observed
get_usage - First observed
import_media - First observed
import_resource - First observed
list_briefs - First observed
list_catalog - First observed
list_checkpoints - First observed
list_compositions - First observed
list_critics - First observed
list_media - First observed
list_plans - First observed
list_projects - First observed
list_render_fonts - First observed
new_composition - First observed
prepare_media - First observed
preview_card - First observed
preview_clip - First observed
preview_component - First observed
preview_frame - First observed
register_critic - First observed
resolve_builtin_component - First observed
resume - First observed
retry_render - First observed
score_composition - First observed
search_fonts - First observed
search_resources - First observed
select_candidate - First observed
start_template - First observed
suggest_briefs - First observed
update_brief - First observed
update_component - First observed
update_project - First observed
update_webhook - First observed
validate_composition - First observed
verify_webhook - First observed
wait_job
Publisher details
- Operator
- CueFrame, Inc. · Publisher source
- Operator website
- https://cueframe.ai · Publisher source
- Vendor relationship
- First-party · Publisher source
- Documentation
- https://docs.cueframe.ai/docs · Publisher source
- Trust center
- Unknown
- Restrictions
- A CueFrame account and OAuth sign-in are required. Paid cloud processing uses credits; review the estimate before rendering. · Publisher source
Related MCP Connectors
Autonomous AI video editor over MCP: viral clips, captions, reframe, chroma key, MP4 export
AI video editor for agents and humans: timeline, captions, color, audio and generation as MCP tools.
Valmera — the world’s most advanced AI video editor. Edit recorded tutorials, podcasts, interviews and webinars through Claude, ChatGPT or another compatible MCP client. Cut footage, add captions, reframe, review a preview, revise specific sections and export MP4. Hosted editing with OAuth; an eligible paid Valmera plan is required.
Hosted video editing for AI agents: cut, caption, mix and export real video. Sign in with OAuth.
Related MCP Servers
- AlicenseNot gradedqualityBmaintenanceValmera — the world’s most advanced AI video editor. Edit recorded tutorials, podcasts, interviews and webinars through Claude, ChatGPT or another compatible MCP client. Cut footage, add captions, reframe, review a preview, revise specific sections and export MP4. Hosted editing with OAuth; an eligible paid Valmera plan is required.MIT
- AlicenseNot gradedqualityBmaintenanceEnables AI agents to drive a desktop video editor through MCP, providing the same editing operations as the user — placing, trimming, rippling, grading, captioning, and exporting — on the actual project with local rendering.7GPL 3.0
- AlicenseNot gradedqualityBmaintenanceEnables AI agents and MCP clients to programmatically edit video projects on a local desktop editor, with 119 tools for multitrack editing, effects, captions, audio, and batch auto-editing, producing reviewable and reversible real timeline edits.AGPL 3.0
- AlicenseBqualityBmaintenanceEnables AI agents to turn natural-language creative direction, transcripts, and source media into fully structured, editable video projects, then verify and render delivery files.254MIT
Glama MCP Gateway
Add one secure layer between your agents and this server.