@nodaro/sdk 2.4.0 → 2.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.cts CHANGED
@@ -4679,6 +4679,65 @@ declare class MediaResource {
4679
4679
  }): Promise<{
4680
4680
  jobId: string;
4681
4681
  }>;
4682
+ /**
4683
+ * Place 1–12 layers — pictures, real text, QR codes, shapes — on a base image,
4684
+ * pixel-exactly (`POST /v1/image-overlay`) — local, deterministic, no AI.
4685
+ * Every layer position/size is a PERCENT of the base image: `anchor` (nine
4686
+ * positions, default `"center"`), `x`/`y` (offset from the anchor in % of
4687
+ * the base width/height; negative on a right/bottom anchor moves inward),
4688
+ * `width` (% of the base width, default 25 — height follows the layer's
4689
+ * aspect unless `height` is set). Plus `opacity` (0..1), `rotation`
4690
+ * (degrees), `blend` (`"over"` | `"multiply"` | `"screen"`), `fit`,
4691
+ * `shadow` and `roundedCorners`. The output keeps the base's pixel size
4692
+ * unless `canvas` is set. Flat credit cost. Poll `jobs.get(jobId)` for the
4693
+ * finished image.
4694
+ */
4695
+ imageOverlay(input: {
4696
+ imageUrl: string;
4697
+ layers: Array<{
4698
+ imageUrl: string;
4699
+ anchor?: "top-left" | "top" | "top-right" | "left" | "center" | "right" | "bottom-left" | "bottom" | "bottom-right";
4700
+ x?: number;
4701
+ y?: number;
4702
+ width?: number;
4703
+ height?: number;
4704
+ opacity?: number;
4705
+ rotation?: number;
4706
+ blend?: "over" | "multiply" | "screen";
4707
+ fit?: "contain" | "cover" | "stretch";
4708
+ shadow?: {
4709
+ blur: number;
4710
+ offsetX: number;
4711
+ offsetY: number;
4712
+ color: string;
4713
+ opacity: number;
4714
+ };
4715
+ roundedCorners?: number;
4716
+ zIndex?: number;
4717
+ /** "image" (default, needs imageUrl) | "text" | "qr" | "shape" — see @nodaro/shared image-overlay-layers. */
4718
+ kind?: "image" | "text" | "qr" | "shape";
4719
+ text?: Record<string, unknown>;
4720
+ qr?: Record<string, unknown>;
4721
+ shape?: Record<string, unknown>;
4722
+ effects?: Record<string, unknown>;
4723
+ }>;
4724
+ canvas?: {
4725
+ width: number;
4726
+ height: number;
4727
+ backgroundColor?: string;
4728
+ };
4729
+ baseFit?: "contain" | "cover";
4730
+ outputFormat?: "png" | "jpg" | "webp";
4731
+ /** Extra platform renders (see OVERLAY_PLATFORMS in @nodaro/shared); returned as output `variants[]`. */
4732
+ variants?: string[];
4733
+ /** The mask the job also emits as output `maskUrl` (white = may change). Default "around". */
4734
+ maskMode?: "none" | "layers" | "around" | "outside";
4735
+ maskSpread?: number;
4736
+ /** Fills every QR layer whose `qr.fromInput` is true — the node's QR link handle. */
4737
+ qrText?: string;
4738
+ }): Promise<{
4739
+ jobId: string;
4740
+ }>;
4682
4741
  /**
4683
4742
  * Trim a video to a range (`POST /v1/trim-video`). Give the range in whichever
4684
4743
  * unit fits: `startTime`/`endTime` seconds, `trim*Frames`, `trim*Seconds`, or
@@ -5847,6 +5906,34 @@ interface StudioOpsResponse {
5847
5906
  */
5848
5907
  warnings: string[];
5849
5908
  }
5909
+ /**
5910
+ * One line of what an operation WOULD do, for a person deciding whether to let
5911
+ * it. Everything {@link StudioOpsReceipt} says, in the conditional, plus what
5912
+ * the decision turns on: how big the change is, which kind of change it is, and
5913
+ * whether it can be taken back.
5914
+ */
5915
+ interface StudioOpsDryRunReceipt extends StudioOpsReceipt {
5916
+ /** How much would change, in the words a person counts in: `3 takes`. */
5917
+ impact?: string;
5918
+ /** The kind of change, in the route's own vocabulary. */
5919
+ class: string;
5920
+ /** True when the change could be undone afterwards — a bin, not a shredder. */
5921
+ restorable?: boolean;
5922
+ }
5923
+ /**
5924
+ * What a batch WOULD do. Nothing was written: there is no production here and
5925
+ * no new version, because none was produced.
5926
+ */
5927
+ interface StudioOpsDryRunResponse {
5928
+ /** Always present, and the marker the two-request protocol reads. */
5929
+ dryRun: true;
5930
+ /** The version the preview was computed against. */
5931
+ version: number;
5932
+ /** One per operation, in order. */
5933
+ receipts: StudioOpsDryRunReceipt[];
5934
+ /** The same things an apply would have said. */
5935
+ warnings: string[];
5936
+ }
5850
5937
  /** What landing the finished jobs did. */
5851
5938
  interface StudioReconcileResponse {
5852
5939
  /** Job ids whose media is now on the production. */
@@ -6069,7 +6156,33 @@ declare class StudioProductionsResource {
6069
6156
  * batch with a `StudioOpError` naming its index, and nothing is written. On
6070
6157
  * success adopt `production` wholesale and carry `version` forward as the
6071
6158
  * next `baseVersion`.
6159
+ *
6160
+ * `dryRun: true` — the LITERAL, which is what selects the preview reply —
6161
+ * asks what the batch would do, so a person can approve an assistant's edits
6162
+ * before they land. Spell it in THIS call's own object literal: a flag passed
6163
+ * through a variable widens `true` to `boolean`, which selects the apply
6164
+ * overload while the runtime still takes the preview path.
6165
+ *
6166
+ * A preview is TWO requests, deliberately. The route's body is parsed in
6167
+ * strip mode, so a deployment that predates the preview drops the flag and
6168
+ * APPLIES the batch: a caller that sent its batch and read the answer
6169
+ * afterwards would already have written it. So the flag is proved on an EMPTY
6170
+ * batch first and the real batch goes only when that answer carries the
6171
+ * marker. An older deployment either answers the apply shape — this throws
6172
+ * `StudioPreviewUnavailable`, and the batch never leaves — or refuses the
6173
+ * empty batch with its own error, which is passed through as it stands.
6174
+ *
6175
+ * The ping proves the deployment that answered IT, and a fleet mid-rollout
6176
+ * can serve the second request from another one. So the second answer is
6177
+ * checked too: when the batch came back APPLIED, this throws
6178
+ * `StudioPreviewAppliedError`, which carries that write. The SDK cannot
6179
+ * un-send a request; what it can do is refuse to call the result a preview.
6180
+ *
6181
+ * An apply stays exactly one request.
6072
6182
  */
6183
+ ops(productionId: string, input: StudioOpsRequest & {
6184
+ dryRun: true;
6185
+ }): Promise<StudioOpsDryRunResponse>;
6073
6186
  ops(productionId: string, input: StudioOpsRequest): Promise<StudioOpsResponse>;
6074
6187
  /**
6075
6188
  * Land every generation that has finished since you last looked, and report
@@ -6426,6 +6539,297 @@ declare class StudioResource {
6426
6539
  }>;
6427
6540
  }
6428
6541
 
6542
+ /**
6543
+ * The assistant's conversation surface (`/v1/copilot/*`) — threads, and one
6544
+ * turn as a live stream.
6545
+ *
6546
+ * A thread is the conversation; a TURN is one message and everything the
6547
+ * assistant does in answer to it. `stream` is the only method that spends: it
6548
+ * POSTs the message and yields the turn's frames as they arrive, so a caller
6549
+ * renders prose, tool activity and proposals live instead of waiting for a
6550
+ * finished answer.
6551
+ *
6552
+ * Two shapes here are deliberately TOLERANT of a deployment that predates a
6553
+ * field, because the SDK ships ahead of every instance it talks to:
6554
+ * - `surface` is optional on both {@link CopilotThread} and the `metadata`
6555
+ * frame — absent is a value ("this deployment does not say"), never a
6556
+ * default this package invents.
6557
+ * - An event kind this package does not model is IGNORED, not thrown: a
6558
+ * newer server may emit frames a caller was built before.
6559
+ */
6560
+ /** How this thread runs what it proposes: ask first, or run within a budget. */
6561
+ type CopilotRunMode = "ask" | "auto";
6562
+ /** The thread's model rung. Absent from a server that predates it. */
6563
+ type CopilotModelTier = "economy" | "standard" | "premium";
6564
+ /**
6565
+ * Which product the conversation belongs to.
6566
+ *
6567
+ * NO deployment sends this today — nothing in the platform emits it yet — and
6568
+ * it is typed here so that the day one does, a caller reads what the server
6569
+ * said. That is why it is OPTIONAL everywhere it appears: absent is a value
6570
+ * ("this deployment does not say"), never a default this package invents.
6571
+ */
6572
+ type CopilotSurface = "studio" | "workflow";
6573
+ interface CopilotThread {
6574
+ id: string;
6575
+ workflowId: string;
6576
+ runMode: CopilotRunMode;
6577
+ /** See {@link CopilotSurface} — absent means the server did not say. */
6578
+ surface?: CopilotSurface;
6579
+ /** Whether this thread may build nodes that publish to connected accounts. */
6580
+ allowPublishing?: boolean;
6581
+ modelTier?: CopilotModelTier;
6582
+ autoRunLimitCredits: number;
6583
+ userTurnCount: number;
6584
+ lastMessageAt: string | null;
6585
+ createdAt: string;
6586
+ /** Only on {@link CopilotResource.get} — derived from a live turn. */
6587
+ status?: "running" | "idle";
6588
+ activeTurnId?: string | null;
6589
+ }
6590
+ /** The workflow a thread was opened on, as `create` answers it. */
6591
+ interface CopilotThreadWorkflow {
6592
+ id: string;
6593
+ projectId: string;
6594
+ name: string;
6595
+ version: number;
6596
+ }
6597
+ type CopilotMessagePart = {
6598
+ kind: "text";
6599
+ text: string;
6600
+ } | {
6601
+ kind: "tool_call";
6602
+ id: string;
6603
+ name: string;
6604
+ label: string;
6605
+ status: "finished" | "failed";
6606
+ };
6607
+ interface CopilotMessage {
6608
+ id: string;
6609
+ seq: number;
6610
+ turnId: string;
6611
+ role: "user" | "assistant";
6612
+ createdAt: string;
6613
+ parts: CopilotMessagePart[];
6614
+ }
6615
+ /** Open a thread on an existing workflow, or on one this call creates. */
6616
+ interface CreateCopilotThreadInput {
6617
+ /** The workflow to work on. Give this OR `prompt`. */
6618
+ workflowId?: string;
6619
+ /** Start from nothing: the server creates a workflow seeded by this prompt. */
6620
+ prompt?: string;
6621
+ /** Name for a workflow created by `prompt` (defaults to the prompt's head). */
6622
+ name?: string;
6623
+ }
6624
+ interface CopilotStreamOptions {
6625
+ /** The user's turn. */
6626
+ message: string;
6627
+ /** The workflow version this message was composed against — a newer one 409s. */
6628
+ baseVersion?: number;
6629
+ /** The composer's echo of the thread's rung; the thread row stays authoritative. */
6630
+ tier?: CopilotModelTier;
6631
+ /**
6632
+ * Ends the stream. The client's request timeout is NOT applied to a turn.
6633
+ *
6634
+ * Aborting REJECTS the iteration — with the platform's raw `AbortError`, not
6635
+ * a `NodaroError` — whether it fires before the first frame or between two of
6636
+ * them. Wrap the loop in `try`/`catch` if a cancelled turn is an ordinary
6637
+ * ending in your UI. (`media.downloadVideoProgress` behaves the same way.)
6638
+ */
6639
+ signal?: AbortSignal;
6640
+ }
6641
+ interface CopilotToolCallFrameData {
6642
+ id: string;
6643
+ name: string;
6644
+ label: string;
6645
+ status: "started" | "finished" | "failed";
6646
+ summary?: string;
6647
+ }
6648
+ interface CopilotWorkflowUpdateFrameData {
6649
+ workflowId: string;
6650
+ version: number;
6651
+ updatedAt?: string;
6652
+ note?: string | null;
6653
+ addedNodeIds: string[];
6654
+ updatedNodeIds: string[];
6655
+ removedNodeIds: string[];
6656
+ addedNodeTypes: string[];
6657
+ nodeCount: number;
6658
+ edgeCount: number;
6659
+ adjustments: string[];
6660
+ }
6661
+ /** A file the turn wired onto a node — named on the run card, never counted. */
6662
+ interface CopilotWiredAsset {
6663
+ id: string;
6664
+ kind: string;
6665
+ filename: string;
6666
+ nodeId: string;
6667
+ }
6668
+ interface CopilotRunProposalNode {
6669
+ id: string;
6670
+ type: string;
6671
+ graphVersion: number;
6672
+ label: string;
6673
+ }
6674
+ interface CopilotRunProposalFrameData {
6675
+ workflowId: string;
6676
+ addedNodeTypes: string[];
6677
+ wiredAssets?: CopilotWiredAsset[];
6678
+ note: string | null;
6679
+ /** Present when ONE node was proposed rather than the whole graph. */
6680
+ node?: CopilotRunProposalNode | null;
6681
+ }
6682
+ /** A workflow the turn created — a different one from the open canvas. */
6683
+ interface CopilotWorkflowCreatedFrameData {
6684
+ workflowId: string;
6685
+ name: string;
6686
+ projectId: string;
6687
+ }
6688
+ /** One thing the assistant saved to memory this turn. */
6689
+ interface CopilotMemorySavedFrameData {
6690
+ id: string;
6691
+ content: string;
6692
+ }
6693
+ interface CopilotMetadataFrameData {
6694
+ threadId: string;
6695
+ turnId: string;
6696
+ jobId: string;
6697
+ model: string;
6698
+ baseVersion: number | null;
6699
+ runMode: CopilotRunMode;
6700
+ autoRunLimitCredits: number;
6701
+ allowPublishing?: boolean;
6702
+ modelTier?: CopilotModelTier;
6703
+ /** See {@link CopilotSurface} — absent means the server did not say. */
6704
+ surface?: CopilotSurface;
6705
+ }
6706
+ /**
6707
+ * One frame of a turn.
6708
+ *
6709
+ * The union covers the frame KINDS; a frame's `data` is passed through
6710
+ * untouched, so a field this package does not model still reaches the caller
6711
+ * rather than being stripped on the way.
6712
+ */
6713
+ type CopilotStreamFrame = {
6714
+ type: "metadata";
6715
+ data: CopilotMetadataFrameData;
6716
+ } | {
6717
+ type: "token";
6718
+ data: {
6719
+ text: string;
6720
+ };
6721
+ } | {
6722
+ type: "tool_call";
6723
+ data: CopilotToolCallFrameData;
6724
+ } | {
6725
+ type: "workflow_updated";
6726
+ data: CopilotWorkflowUpdateFrameData;
6727
+ } | {
6728
+ type: "workflow_created";
6729
+ data: CopilotWorkflowCreatedFrameData;
6730
+ } | {
6731
+ type: "run_proposed";
6732
+ data: CopilotRunProposalFrameData;
6733
+ } | {
6734
+ type: "memory_saved";
6735
+ data: CopilotMemorySavedFrameData;
6736
+ } | {
6737
+ type: "usage";
6738
+ data: {
6739
+ inputTokens: number;
6740
+ outputTokens: number;
6741
+ cacheReadTokens: number;
6742
+ creditsCharged: number | null;
6743
+ };
6744
+ } | {
6745
+ type: "done";
6746
+ data: {
6747
+ turnId: string;
6748
+ messageId: string | null;
6749
+ status: "completed" | "capped" | "cancelled";
6750
+ finalVersion: number | null;
6751
+ };
6752
+ } | {
6753
+ type: "error";
6754
+ data: {
6755
+ code: string;
6756
+ message: string;
6757
+ };
6758
+ };
6759
+ declare class CopilotResource {
6760
+ private client;
6761
+ constructor(client: NodaroClient);
6762
+ /**
6763
+ * Open a conversation (`POST /v1/copilot/threads`) — on `workflowId`, or on
6764
+ * a workflow the server creates from `prompt`. Re-opening a workflow that
6765
+ * already has an active thread answers THAT thread rather than a second one.
6766
+ */
6767
+ create(input: CreateCopilotThreadInput): Promise<{
6768
+ data: {
6769
+ thread: CopilotThread;
6770
+ workflow: CopilotThreadWorkflow;
6771
+ };
6772
+ }>;
6773
+ /**
6774
+ * The active thread for a workflow (`GET /v1/copilot/threads?workflowId=…`),
6775
+ * or `null` when the user has none open on it.
6776
+ */
6777
+ list(params: {
6778
+ workflowId: string;
6779
+ }): Promise<{
6780
+ data: {
6781
+ thread: CopilotThread | null;
6782
+ };
6783
+ }>;
6784
+ /**
6785
+ * One thread with its messages (`GET /v1/copilot/threads/:id`). `after` reads
6786
+ * only what followed that sequence number (the panel's catch-up); `limit`
6787
+ * caps the page at the server's own ceiling.
6788
+ */
6789
+ get(id: string, opts?: {
6790
+ after?: number;
6791
+ limit?: number;
6792
+ }): Promise<{
6793
+ data: {
6794
+ thread: CopilotThread;
6795
+ messages: CopilotMessage[];
6796
+ };
6797
+ }>;
6798
+ /**
6799
+ * Close a conversation (`DELETE /v1/copilot/threads/:id`). Archival, not
6800
+ * deletion — the messages stay readable. Refused while a turn is running.
6801
+ */
6802
+ archive(id: string): Promise<{
6803
+ data: {
6804
+ archived: true;
6805
+ };
6806
+ }>;
6807
+ /**
6808
+ * Stop the running turn (`POST /v1/copilot/threads/:id/cancel`). Answers the
6809
+ * turn it asked to stop; the turn's own stream ends with a `done` frame.
6810
+ */
6811
+ cancel(id: string): Promise<{
6812
+ data: {
6813
+ cancelling: true;
6814
+ turnId: string;
6815
+ };
6816
+ }>;
6817
+ /**
6818
+ * Send one message and iterate the turn's frames
6819
+ * (`POST /v1/copilot/threads/:id/messages`, server-sent events).
6820
+ *
6821
+ * Deliberately NOT routed through `client.request`: that path arms an abort
6822
+ * timer around the whole exchange, and a turn legitimately runs for minutes —
6823
+ * inheriting `timeoutMs` would cut the assistant off mid-answer. The caller
6824
+ * owns the lifetime instead: pass `signal` to end the stream, or stop
6825
+ * iterating (the reader cancels the body, which ends the request).
6826
+ *
6827
+ * A frame kind this package does not model is skipped rather than thrown, so
6828
+ * a newer server cannot break an older caller.
6829
+ */
6830
+ stream(threadId: string, opts: CopilotStreamOptions): AsyncGenerator<CopilotStreamFrame, void, undefined>;
6831
+ }
6832
+
6429
6833
  /**
6430
6834
  * The community-listing types are the single source of truth in
6431
6835
  * `@nodaro/shared` (re-used by the backend, frontend, and CLI). Re-export them
@@ -7036,6 +7440,7 @@ declare class NodaroClient {
7036
7440
  readonly shots: ShotsResource;
7037
7441
  readonly recast: RecastResource;
7038
7442
  readonly studio: StudioResource;
7443
+ readonly copilot: CopilotResource;
7039
7444
  readonly community: CommunityResource;
7040
7445
  readonly templates: TemplatesResource;
7041
7446
  readonly tutorials: TutorialsResource;
@@ -7215,6 +7620,79 @@ declare class JobAbortedError extends NodaroError {
7215
7620
  readonly jobId?: string | undefined;
7216
7621
  constructor(message?: string, jobId?: string | undefined);
7217
7622
  }
7623
+ /**
7624
+ * A batch preview was asked for and this deployment cannot give one, so
7625
+ * NOTHING was sent: the batch is still unapplied and the production untouched.
7626
+ *
7627
+ * A preview is two requests because the route's body is parsed in strip mode —
7628
+ * a deployment that predates the preview silently DROPS the flag and APPLIES
7629
+ * the batch. So the SDK asks with an EMPTY batch first and sends the real one
7630
+ * only when that answer carries the `dryRun` marker. This is what it throws
7631
+ * when the answer does not: whatever the older deployment made of an empty
7632
+ * batch, the caller's batch never left.
7633
+ *
7634
+ * The remedy is a deployment that serves the preview — there is nothing to
7635
+ * retry here. To apply the batch instead, send it without the flag.
7636
+ *
7637
+ * A deployment that REFUSES the empty batch outright throws its own error
7638
+ * instead of this one, which is the right way round: the route's message says
7639
+ * more than "unavailable" does.
7640
+ *
7641
+ * Not an HTTP error: the request itself succeeded and answered the older shape.
7642
+ * `status` is 0; catch by type/`code`.
7643
+ */
7644
+ declare class StudioPreviewUnavailable extends NodaroError {
7645
+ constructor(message?: string);
7646
+ }
7647
+ /**
7648
+ * A batch preview was asked for and the batch was APPLIED instead. The
7649
+ * production is written; this is the opposite of {@link
7650
+ * StudioPreviewUnavailable}, where nothing was sent.
7651
+ *
7652
+ * How it happens: the preview's proving ping and the batch are two requests,
7653
+ * and a fleet mid-rollout can serve them from different deployments. The ping
7654
+ * answers the marker, the batch reaches a deployment that predates the preview,
7655
+ * parses in strip mode, drops the flag and writes. The SDK cannot recall that
7656
+ * request — by the time the answer comes back the change has landed — so it
7657
+ * refuses to call the result a preview, which is the only thing still in its
7658
+ * gift. `receipts` and `warnings` are on both shapes, so an unchecked reply
7659
+ * would have shown a person what ALREADY happened under the heading of what
7660
+ * would.
7661
+ *
7662
+ * `applied` is what the route answered: the ordinary apply reply, whose
7663
+ * `production` and `version` are now the truth. Adopt them the way a plain
7664
+ * apply's caller does — do NOT re-send the batch, and do not present it for
7665
+ * approval.
7666
+ *
7667
+ * Not an HTTP error: the request succeeded, at the wrong thing. `status` is 0.
7668
+ */
7669
+ declare class StudioPreviewAppliedError extends NodaroError {
7670
+ /**
7671
+ * The apply reply the route sent back, as it sent it. An answer this
7672
+ * package does not recognise arrives here unchanged rather than being
7673
+ * dressed up: it is what the deployment said about a batch it took.
7674
+ *
7675
+ * `undefined` when the answer carried no body at all — a 204, an empty
7676
+ * envelope. The refusal still fires, because a non-preview answer is never
7677
+ * handed back as a preview, but there is nothing to report and the SDK will
7678
+ * not invent it: whether the batch was applied is unknown from here, and
7679
+ * the caller settles it by re-reading the production.
7680
+ */
7681
+ readonly applied: StudioOpsResponse | undefined;
7682
+ constructor(
7683
+ /**
7684
+ * The apply reply the route sent back, as it sent it. An answer this
7685
+ * package does not recognise arrives here unchanged rather than being
7686
+ * dressed up: it is what the deployment said about a batch it took.
7687
+ *
7688
+ * `undefined` when the answer carried no body at all — a 204, an empty
7689
+ * envelope. The refusal still fires, because a non-preview answer is never
7690
+ * handed back as a preview, but there is nothing to report and the SDK will
7691
+ * not invent it: whether the batch was applied is unknown from here, and
7692
+ * the caller settles it by re-reading the production.
7693
+ */
7694
+ applied: StudioOpsResponse | undefined, message?: string);
7695
+ }
7218
7696
  /**
7219
7697
  * The awaited job entered `pending_review`: a job policy registered by this
7220
7698
  * deployment held its output for a human reviewer. `pending_review` is
@@ -7249,4 +7727,4 @@ interface ApiErrorBody {
7249
7727
  }
7250
7728
  declare function throwFromResponse(status: number, body: ApiErrorBody): never;
7251
7729
 
7252
- export { type AccessTokenResponse, type AnalyzeInput, type AnalyzeResult, type AppRun, type AppRunResult, type ApplyChatProposalResult, type ApproveCreatureMainImageResult, type ApproveMainImageResult, type ApproveObjectMainImageResult, type ApprovePortraitResult, AppsResource, AudioResource, type Auth, type BranchPipelineInput, type BranchPipelineResult, type BrowseTemplatesParams, type BrowseTemplatesResult, CREATURE_ASSET_TYPES, CallbackAuth, type CancelExecutionParams, type CancelJobResult, CatalogsResource, type Character, type CharacterDetail, type CharacterUsage, CharactersResource, type ChatStageResult, type ChatTurn, type ClientOptions, type CloneTemplateParams, type CloneTemplateResult, CommunityResource, type ContinueVideoProResult, type CreateCreatureInput, type CreateDeveloperAppInput, type CreateDeveloperAppResult, type CreateLocationInput, type CreateObjectInput, type CreateOrgInput, type CreateProjectInput, type CreateRecastInput, type CreateShotInput, type CreateWorkflowInput, type CreateWorkspaceInput, type Creature, type CreatureAssetType, type CreatureDetail, type CreatureReferencePhoto, type CreatureReferencePhotoKind, CreaturesResource, type CreditStatus, CreditsResource, type DeleteAppRunResult, type DeleteJobResult, type DeveloperApp, type DeveloperAppScope, type DeveloperAppStatus, DeveloperAppsResource, type DownloadVideoProgress, type DubbingInput, type DuplicateCharacterInput, type EditScene3DParams, type EnhanceInput, type EstimateRecastInput, type EstimateRecastRescoreInput, type ExchangeCodeInput, type ExecutionStatus, type ExecutionTriggerType, ExecutionsResource, type FactoryPresetsResult, ForbiddenError, type GenerateAssetInput, type GenerateCharacterInput, type GenerateCharacterResult, type GenerateCreatureAssetInput, type GenerateCreatureAssetResult, type GenerateCreatureInput, type GenerateCreatureMotionInput, type GenerateCreatureMotionResult, type GenerateCreatureResult, type GenerateImageParams, type GenerateInput, type GenerateLocationAssetInput, type GenerateLocationInput, type GenerateLocationResult, type GenerateMotionInput, type GenerateObjectAssetInput, type GenerateObjectAssetResult, type GenerateObjectInput, type GenerateObjectMotionInput, type GenerateObjectMotionResult, type GenerateObjectResult, type GenerateScene3DParams, type GenerateSurroundContinuationInput, type GenerateVideoParams, type GetPickerCatalogOptions, type GetProductionOptions, InsufficientCreditsError, type InviteInput, type Job, JobAbortedError, JobBlockedError, type JobErrorHint, JobFailedError, JobHeldError, type JobStatus, type JobStatusResult, JobTimeoutError, JobsResource, type LibraryAsset, LibraryResource, type ListAppRunsParams, type ListAppsParams, type ListAppsResult, type ListCharactersParams, type ListCharactersResult, type ListCreaturesParams, type ListExecutionsForWorkflowParams, type ListExecutionsPage, type ListInvitationsOptions, type ListJobsPage, type ListJobsParams, type ListLibraryParams, type ListLibraryResult, type ListLocationsParams, type ListModelsOptions, type ListObjectsParams, type ListStudioProductionsOptions, type ListWorkflowsParams, LlmResource, type LlmStructuredInput, type LlmStructuredJobInput, type LlmStructuredJobOutput, type LlmStructuredResult, type Location, type LocationDetail, type LocationReferencePhoto, type LocationReferencePhotoKind, LocationsResource, type MediaProcessInput, type MediaProcessResult, MediaResource, type ModelCostsResult, type ModelSummary, type ModelsListResult, ModelsResource, NodaroClient, NodaroError, type NodeCategory, type NodeDescriptor, type NodeExecutionState, type NodeInputField, type NodeInputSchema, type NodeJobOutput, type NodePreset, type NodePresetGroup, NodesResource, NotFoundError, type OAuthAppInfo, OAuthResource, type Object$1 as Object, type ObjectCategory, type ObjectDetail, type ObjectReferencePhoto, type ObjectReferencePhotoKind, ObjectsResource, OrganizationsResource, type OutputType, type PickerCatalog, type PickerCatalogSummary, PickerCatalogsResource, type PickerDimension, type PickerOption, PipelinesResource, type PolicyBlockHint, PresetsResource, type Project, type ProjectedCatalog, type ProjectedCatalogDimension, type ProjectedCatalogOption, ProjectsResource, PromptHelperResource, type PromptResult, type PublishedApp, type PublishedAppDetail, RateLimitedError, type RecaptionCreatureResult, type RecaptionLocationResult, type RecaptionObjectResult, type RecaptionResult, type RecastAudioLayerName, type RecastAudioManifestV1, type RecastAudioMix, type RecastAudioMixControl, type RecastAudioSectionReplacement, type RecastEstimate, type RecastRescoreOperation, type RecastRescoreQuote, type RecastRescoreReplacement, type RecastRescoreRequestV2, type RecastRescoreResponse, RecastResource, type RecastRunSnapshot, type RecastScriptImportResult, type RecastScriptValidation, type RecastScriptValidationError, type ReduceInput, ReduceResource, type ReduceResult, type ReferencePhoto, type ReferencePhotoKind, type RenderScene3DParams, type ResolveRecastGateInput, type RetainedScene3DEditParams, type RetainedScene3DEditResult, type RotateSecretResult, type RunAndWaitOptions, type RunAppOptions, type RunManyResult, type RunNodeAdjustment, type RunNodeResult, type RunWorkflowParams, type RunWorkflowResult, type SafetyBlockHint, type Scene3DAuthoringEngine, type Scene3DCapabilities, type Scene3DDelivery, type Scene3DDeliveryAsset, type Scene3DJobOutput, Scene3DResource, type Shot, type ShotEntityRef, type ShotMode, ShotsResource, StaticTokenAuth, type StopVideoProResult, StorageExceededError, type StructuredReferenceParams, type StudioClientRequestId, type StudioCloneRequest, type StudioCreateProductionRequest, type StudioDescribeRequest, type StudioDocumentJson, type StudioEditInput, type StudioExportPlanOptions, type StudioExportPlanResponse, type StudioExportStep, type StudioFrameRequest, type StudioGenerateEstimate, type StudioGenerateOptions, type StudioGenerateRequest, type StudioGenerateResponse, type StudioGenerateResult, type StudioGenerationReply, type StudioImportSummary, type StudioJobStartedResponse, type StudioKeyframeAcceptanceInput, type StudioKeyframeGenerationInput, type StudioKeyframeRecord, type StudioListProductionsResponse, type StudioMediaResponse, type StudioMusicRequest, StudioOpError, type StudioOpsReceipt, type StudioOpsRequest, type StudioOpsResponse, type StudioPlanIssue, type StudioProduction, type StudioProductionCapabilities, type StudioProductionDetail, type StudioProductionRecord, type StudioProductionReply, type StudioProductionResponse, StudioProductionsResource, type StudioReconcileResponse, StudioResource, type StudioRevoiceRequest, type StudioShotGenerationInput, type StudioSkillResponse, type StudioValidatePlanResponse, type StudioVideoLane, type StudioVoiceRequest, type Template, type TemplateBrowseCard, type TemplateSort, TemplatesResource, type TextToVideoParams, type TutorialCategory, type TutorialFlowItem, type TutorialVideoItem, TutorialsResource, UnauthorizedError, type UpdateCreatureInput, type UpdateCreatureResult, type UpdateDeveloperAppInput, type UpdateLocationInput, type UpdateLocationResult, type UpdateObjectInput, type UpdateObjectResult, type UpdateProjectInput, type UpdateShotInput, type UpdateWorkflowInput, type UploadResult, UploadsResource, type UpsertCharacterInput, type UpsertCharacterResult, type UpsertCreatureInput, type UpsertCreatureResult, type UpsertObjectInput, type UpsertObjectResult, type UserBalance, type UserIdentity, type VcpAnalysis, type VcpAnalysisSpeaker, type VcpAnalyzeInput, type VcpExportInput, type VcpExportTrack, type VideoMetadata, VideoProResource, type VoiceChangerProInput, type VoiceChangerProVoice, type VoiceDesignInput, type VoiceRemixInput, VoicesResource, type Workflow, type WorkflowConflictCode, WorkflowConflictError, type WorkflowExecution, type WorkflowExecutionSummary, WorkflowsResource, WorkspacesResource, buildPersonSeedPrompt, createClient, isStudioGenerateEstimate, supabaseAuth, throwFromResponse };
7730
+ export { type AccessTokenResponse, type AnalyzeInput, type AnalyzeResult, type AppRun, type AppRunResult, type ApplyChatProposalResult, type ApproveCreatureMainImageResult, type ApproveMainImageResult, type ApproveObjectMainImageResult, type ApprovePortraitResult, AppsResource, AudioResource, type Auth, type BranchPipelineInput, type BranchPipelineResult, type BrowseTemplatesParams, type BrowseTemplatesResult, CREATURE_ASSET_TYPES, CallbackAuth, type CancelExecutionParams, type CancelJobResult, CatalogsResource, type Character, type CharacterDetail, type CharacterUsage, CharactersResource, type ChatStageResult, type ChatTurn, type ClientOptions, type CloneTemplateParams, type CloneTemplateResult, CommunityResource, type ContinueVideoProResult, type CopilotMemorySavedFrameData, type CopilotMessage, type CopilotMessagePart, type CopilotMetadataFrameData, type CopilotModelTier, CopilotResource, type CopilotRunMode, type CopilotRunProposalFrameData, type CopilotRunProposalNode, type CopilotStreamFrame, type CopilotStreamOptions, type CopilotSurface, type CopilotThread, type CopilotThreadWorkflow, type CopilotToolCallFrameData, type CopilotWiredAsset, type CopilotWorkflowCreatedFrameData, type CopilotWorkflowUpdateFrameData, type CreateCopilotThreadInput, type CreateCreatureInput, type CreateDeveloperAppInput, type CreateDeveloperAppResult, type CreateLocationInput, type CreateObjectInput, type CreateOrgInput, type CreateProjectInput, type CreateRecastInput, type CreateShotInput, type CreateWorkflowInput, type CreateWorkspaceInput, type Creature, type CreatureAssetType, type CreatureDetail, type CreatureReferencePhoto, type CreatureReferencePhotoKind, CreaturesResource, type CreditStatus, CreditsResource, type DeleteAppRunResult, type DeleteJobResult, type DeveloperApp, type DeveloperAppScope, type DeveloperAppStatus, DeveloperAppsResource, type DownloadVideoProgress, type DubbingInput, type DuplicateCharacterInput, type EditScene3DParams, type EnhanceInput, type EstimateRecastInput, type EstimateRecastRescoreInput, type ExchangeCodeInput, type ExecutionStatus, type ExecutionTriggerType, ExecutionsResource, type FactoryPresetsResult, ForbiddenError, type GenerateAssetInput, type GenerateCharacterInput, type GenerateCharacterResult, type GenerateCreatureAssetInput, type GenerateCreatureAssetResult, type GenerateCreatureInput, type GenerateCreatureMotionInput, type GenerateCreatureMotionResult, type GenerateCreatureResult, type GenerateImageParams, type GenerateInput, type GenerateLocationAssetInput, type GenerateLocationInput, type GenerateLocationResult, type GenerateMotionInput, type GenerateObjectAssetInput, type GenerateObjectAssetResult, type GenerateObjectInput, type GenerateObjectMotionInput, type GenerateObjectMotionResult, type GenerateObjectResult, type GenerateScene3DParams, type GenerateSurroundContinuationInput, type GenerateVideoParams, type GetPickerCatalogOptions, type GetProductionOptions, InsufficientCreditsError, type InviteInput, type Job, JobAbortedError, JobBlockedError, type JobErrorHint, JobFailedError, JobHeldError, type JobStatus, type JobStatusResult, JobTimeoutError, JobsResource, type LibraryAsset, LibraryResource, type ListAppRunsParams, type ListAppsParams, type ListAppsResult, type ListCharactersParams, type ListCharactersResult, type ListCreaturesParams, type ListExecutionsForWorkflowParams, type ListExecutionsPage, type ListInvitationsOptions, type ListJobsPage, type ListJobsParams, type ListLibraryParams, type ListLibraryResult, type ListLocationsParams, type ListModelsOptions, type ListObjectsParams, type ListStudioProductionsOptions, type ListWorkflowsParams, LlmResource, type LlmStructuredInput, type LlmStructuredJobInput, type LlmStructuredJobOutput, type LlmStructuredResult, type Location, type LocationDetail, type LocationReferencePhoto, type LocationReferencePhotoKind, LocationsResource, type MediaProcessInput, type MediaProcessResult, MediaResource, type ModelCostsResult, type ModelSummary, type ModelsListResult, ModelsResource, NodaroClient, NodaroError, type NodeCategory, type NodeDescriptor, type NodeExecutionState, type NodeInputField, type NodeInputSchema, type NodeJobOutput, type NodePreset, type NodePresetGroup, NodesResource, NotFoundError, type OAuthAppInfo, OAuthResource, type Object$1 as Object, type ObjectCategory, type ObjectDetail, type ObjectReferencePhoto, type ObjectReferencePhotoKind, ObjectsResource, OrganizationsResource, type OutputType, type PickerCatalog, type PickerCatalogSummary, PickerCatalogsResource, type PickerDimension, type PickerOption, PipelinesResource, type PolicyBlockHint, PresetsResource, type Project, type ProjectedCatalog, type ProjectedCatalogDimension, type ProjectedCatalogOption, ProjectsResource, PromptHelperResource, type PromptResult, type PublishedApp, type PublishedAppDetail, RateLimitedError, type RecaptionCreatureResult, type RecaptionLocationResult, type RecaptionObjectResult, type RecaptionResult, type RecastAudioLayerName, type RecastAudioManifestV1, type RecastAudioMix, type RecastAudioMixControl, type RecastAudioSectionReplacement, type RecastEstimate, type RecastRescoreOperation, type RecastRescoreQuote, type RecastRescoreReplacement, type RecastRescoreRequestV2, type RecastRescoreResponse, RecastResource, type RecastRunSnapshot, type RecastScriptImportResult, type RecastScriptValidation, type RecastScriptValidationError, type ReduceInput, ReduceResource, type ReduceResult, type ReferencePhoto, type ReferencePhotoKind, type RenderScene3DParams, type ResolveRecastGateInput, type RetainedScene3DEditParams, type RetainedScene3DEditResult, type RotateSecretResult, type RunAndWaitOptions, type RunAppOptions, type RunManyResult, type RunNodeAdjustment, type RunNodeResult, type RunWorkflowParams, type RunWorkflowResult, type SafetyBlockHint, type Scene3DAuthoringEngine, type Scene3DCapabilities, type Scene3DDelivery, type Scene3DDeliveryAsset, type Scene3DJobOutput, Scene3DResource, type Shot, type ShotEntityRef, type ShotMode, ShotsResource, StaticTokenAuth, type StopVideoProResult, StorageExceededError, type StructuredReferenceParams, type StudioClientRequestId, type StudioCloneRequest, type StudioCreateProductionRequest, type StudioDescribeRequest, type StudioDocumentJson, type StudioEditInput, type StudioExportPlanOptions, type StudioExportPlanResponse, type StudioExportStep, type StudioFrameRequest, type StudioGenerateEstimate, type StudioGenerateOptions, type StudioGenerateRequest, type StudioGenerateResponse, type StudioGenerateResult, type StudioGenerationReply, type StudioImportSummary, type StudioJobStartedResponse, type StudioKeyframeAcceptanceInput, type StudioKeyframeGenerationInput, type StudioKeyframeRecord, type StudioListProductionsResponse, type StudioMediaResponse, type StudioMusicRequest, StudioOpError, type StudioOpsDryRunReceipt, type StudioOpsDryRunResponse, type StudioOpsReceipt, type StudioOpsRequest, type StudioOpsResponse, type StudioPlanIssue, StudioPreviewAppliedError, StudioPreviewUnavailable, type StudioProduction, type StudioProductionCapabilities, type StudioProductionDetail, type StudioProductionRecord, type StudioProductionReply, type StudioProductionResponse, StudioProductionsResource, type StudioReconcileResponse, StudioResource, type StudioRevoiceRequest, type StudioShotGenerationInput, type StudioSkillResponse, type StudioValidatePlanResponse, type StudioVideoLane, type StudioVoiceRequest, type Template, type TemplateBrowseCard, type TemplateSort, TemplatesResource, type TextToVideoParams, type TutorialCategory, type TutorialFlowItem, type TutorialVideoItem, TutorialsResource, UnauthorizedError, type UpdateCreatureInput, type UpdateCreatureResult, type UpdateDeveloperAppInput, type UpdateLocationInput, type UpdateLocationResult, type UpdateObjectInput, type UpdateObjectResult, type UpdateProjectInput, type UpdateShotInput, type UpdateWorkflowInput, type UploadResult, UploadsResource, type UpsertCharacterInput, type UpsertCharacterResult, type UpsertCreatureInput, type UpsertCreatureResult, type UpsertObjectInput, type UpsertObjectResult, type UserBalance, type UserIdentity, type VcpAnalysis, type VcpAnalysisSpeaker, type VcpAnalyzeInput, type VcpExportInput, type VcpExportTrack, type VideoMetadata, VideoProResource, type VoiceChangerProInput, type VoiceChangerProVoice, type VoiceDesignInput, type VoiceRemixInput, VoicesResource, type Workflow, type WorkflowConflictCode, WorkflowConflictError, type WorkflowExecution, type WorkflowExecutionSummary, WorkflowsResource, WorkspacesResource, buildPersonSeedPrompt, createClient, isStudioGenerateEstimate, supabaseAuth, throwFromResponse };