# טיפוסים

> כל טיפוס TypeScript, פונקציית עזר וקבוע שהחבילה ‎@nodaro/sdk מייצאת, לפי משאב, עם הדף שמתעד כל אחד מהם.

Source: https://nodaro.ai/he/docs/developers/sdk/types

החבילה **`@nodaro/sdk`** מייצאת טיפוס TypeScript לקלטים ולפלטים של רוב המתודות, וגם כמה פונקציות עזר וקבועים. ייבאו טיפוסים עם `import type`, כדי שהם לא יוסיפו כלום ל-bundle שלכם:

```ts

const { data }: { data: Workflow } = await client.workflows.get(id)
```

הטיפוסים זהים לפורמט שה-API שולח. בטיפוס `Job` השדות כתובים ב-snake_case, כמו `output_data` ו-`created_at`, כי כך ה-API שולח אותם. בטיפוסים `Workflow` ו-`WorkflowExecution` השדות כתובים ב-camelCase. השם של `Object`, הטיפוס של נכס אובייקט, זהה לשם של האובייקט הגלובלי של JavaScript, ולכן כשאתם צריכים את שניהם, ייבאו אותו בשם אחר: `import type { Object as NodaroObject } from "@nodaro/sdk"`.

חלק מהטיפוסים שהמתודות משתמשות בהם לא מיוצאים. טיפוס שמוגדר ב-`@nodaro/shared`, כמו `PipelineInput` או `CommunityFullDetail`, מייבאים משם. הוסיפו את החבילה `@nodaro/shared` לתלויות שלכם, באותו טווח גרסאות שה-SDK משתמש בו, כדי שיותקן ממנה רק עותק אחד. כל טיפוס אחר, כמו `PipelineRecord`, גזרו מהמתודה שמחזירה אותו:

```ts

type PipelineRecord = Awaited<ReturnType<NodaroClient["pipelines"]["get"]>>
```

## לקוח, אימות ושגיאות
| ייצוא | סוג | מתועד בדף |
| --- | --- | --- |
| `createClient`, `NodaroClient` | פונקציה, מחלקה | [לקוח](https://nodaro.ai/docs/developers/sdk/client) |
| `ClientOptions`, `UserIdentity`, `MeOrganizations`, `ConnectedApp` | טיפוסים | [לקוח](https://nodaro.ai/docs/developers/sdk/client) |
| `Auth`, `StaticTokenAuth`, `CallbackAuth`, `supabaseAuth` | טיפוס, מחלקות, פונקציה | [אימות](https://nodaro.ai/docs/developers/sdk/auth) |
| `createSharedSupabaseClient` | פונקציה, מ-`@nodaro/sdk/supabase` | [אימות](https://nodaro.ai/docs/developers/sdk/auth#createsharedsupabaseclientoptions) |
| `NodaroError`, `UnauthorizedError`, `ForbiddenError`, `ModelUnavailableError`, `NotFoundError`, `RateLimitedError`, `InsufficientCreditsError`, `StorageExceededError`, `WorkflowConflictError`, `JobBlockedError`, `JobFailedError`, `JobTimeoutError`, `JobAbortedError`, `JobHeldError`, `StudioOpError`, `StudioPreviewUnavailable`, `StudioPreviewAppliedError` | מחלקות | [שגיאות](https://nodaro.ai/docs/developers/sdk/errors) |
| `WorkflowConflictCode`, `throwFromResponse` | טיפוס, פונקציה | [שגיאות](https://nodaro.ai/docs/developers/sdk/errors) |

## תהליכים, הרצות ורכיבים
| ייצוא | מתועד בדף |
| --- | --- |
| `Workflow`, `ListWorkflowsParams`, `CreateWorkflowInput`, `UpdateWorkflowInput`, `RunWorkflowParams`, `RunWorkflowResult`, `RenderFinalParams`, `RenderFinalQuote` | [תהליכים ופרויקטים](https://nodaro.ai/docs/developers/sdk/workflows) |
| `Project`, `CreateProjectInput`, `UpdateProjectInput` | [תהליכים ופרויקטים](https://nodaro.ai/docs/developers/sdk/workflows) |
| `GenerationSession`, `SessionItem`, `SessionPage`, `CreateSessionInput`, `UpdateSessionInput`, `ListSessionsParams`, `ListSessionItemsParams`, `GenerationSessionParams` | [תהליכים ופרויקטים](https://nodaro.ai/docs/developers/sdk/workflows#clientsessions) |
| `GenericNode`, `GenericEdge`, `WorkflowExport`, `WorkflowExportCharacter`, `WorkflowExportObject`, `WorkflowExportLocation` | [תהליכים ופרויקטים](https://nodaro.ai/docs/developers/sdk/workflows) |
| `Job`, `JobStatus`, `JobStatusResult`, `JobErrorHint`, `SafetyBlockHint`, `PolicyBlockHint`, `CreditStatus`, `CancelJobResult`, `DeleteJobResult`, `ListJobsParams`, `ListJobsPage`, `JobRating`, `JobRatingFilter`, `RateJobResult` | [משימות והרצות](https://nodaro.ai/docs/developers/sdk/jobs-and-executions) |
| `WebhookEndpoint`, `CreateWebhookEndpointInput`, `UpdateWebhookEndpointInput`, `CreatedWebhookEndpoint`, `RotateWebhookSecretInput`, `RotatedWebhookSecret`, `WebhookDelivery`, `WebhookDeliveryPage`, `ListWebhookDeliveriesParams`, `WebhookJobEvent`, `WebhookEventType`, `WebhookDeliveryStatus`, `WebhookEvent`, `JobWebhookEvent`, `PingWebhookEvent`, `WebhookSignatureError`, `VerifyWebhookSignatureOptions`, `WebhookSignatureErrorCode` | [משימות והרצות](https://nodaro.ai/docs/developers/sdk/jobs-and-executions#clientwebhooks) |
| `WorkflowExecution`, `WorkflowExecutionSummary`, `NodeExecutionState`, `NodeExecutionStatus`, `ExecutionStatus`, `ExecutionOutcome`, `ExecutionTriggerType`, `ListExecutionsForWorkflowParams`, `ListExecutionsPage`, `CancelExecutionParams` | [משימות והרצות](https://nodaro.ai/docs/developers/sdk/jobs-and-executions) |
| `StopVideoProResult`, `ContinueVideoProResult` | [משימות והרצות](https://nodaro.ai/docs/developers/sdk/jobs-and-executions#clientvideopro) |
| `NodeDescriptor`, `NodeCategory`, `OutputType`, `NodeInputField`, `NodeInputSchema` | [הרצת רכיבים](https://nodaro.ai/docs/developers/sdk/nodes) |
| `RunNodeResult`, `RunNodeAdjustment`, `RunNodeWarning`, `NodeJobOutput`, `JobOutputImage`, `RunAndWaitOptions`, `RunManyResult`, `GenerateImageBatchResult`, `GenerateImageBatchOutput`, `BatchJobOutcome` | [הרצת רכיבים](https://nodaro.ai/docs/developers/sdk/nodes) |
| `GenerateImageParams`, `GenerateVideoParams`, `TextToVideoParams`, `StructuredReferenceParams`, `ConnectedReference`, `DescribedReference` | [הרצת רכיבים](https://nodaro.ai/docs/developers/sdk/nodes#typed-parameters) |
| `PromptAffixFields` | השדות `promptPrefix` ו-`promptSuffix` בנתוני הרכיב, ל[טקסט לפני ואחרי הפרומפט](https://nodaro.ai/docs/concepts/prompt-pre-post-text) |
| `PublishedApp`, `PublishedAppDetail`, `ListAppsParams`, `ListAppsResult`, `AppRunResult`, `RunAppOptions`, `AppRun`, `ListAppRunsParams`, `DeleteAppRunResult` | [אפליקציות ותבניות](https://nodaro.ai/docs/developers/sdk/apps-and-templates) |
| `Template`, `TemplateBrowseCard`, `TemplateSort`, `BrowseTemplatesParams`, `BrowseTemplatesResult`, `CloneTemplateParams`, `CloneTemplateResult` | [אפליקציות ותבניות](https://nodaro.ai/docs/developers/sdk/apps-and-templates) |
| `TutorialCategory`, `TutorialVideoItem`, `TutorialFlowItem` | [אפליקציות ותבניות](https://nodaro.ai/docs/developers/sdk/apps-and-templates#clienttutorials) |
| `LlmStructuredInput`, `LlmStructuredResult`, `LlmStructuredJobInput`, `LlmStructuredJobOutput` | [LLM ובחירת המיטב](https://nodaro.ai/docs/developers/sdk/llm-and-reduce) |
| `ReduceStrategyId`, `ReduceMeta`, `ReduceInput`, `ReduceResult` | [LLM ובחירת המיטב](https://nodaro.ai/docs/developers/sdk/llm-and-reduce) |

## מדיה, קולות ועריכה
| ייצוא | מתועד בדף |
| --- | --- |
| `UploadResult`, `ImportUrlResult`, `LibraryAsset`, `ListLibraryParams`, `ListLibraryResult` | [מדיה והעלאות](https://nodaro.ai/docs/developers/sdk/media-and-uploads) |
| `GalleryItem`, `GalleryMediaType`, `BrowseGalleryParams`, `GalleryPage`, `ToggleFavoriteResult` | [מדיה והעלאות](https://nodaro.ai/docs/developers/sdk/media-and-uploads#clientgallery) |
| `VideoMetadata`, `DownloadVideoProgress`, `MediaProcessInput`, `MediaProcessResult`, `OverlayPlacement` | [מדיה והעלאות](https://nodaro.ai/docs/developers/sdk/media-and-uploads) |
| `AddCaptionsInput`, `CaptionLookInput`, `CaptionSegmentInput`, `CaptionEntry` | [מדיה והעלאות](https://nodaro.ai/docs/developers/sdk/media-and-uploads#mediaaddcaptionsinput) |
| `Voice`, `SharedVoice`, `VoiceClone`, `VoiceLibraryParams`, `VoiceLibraryResponse` | [קולות ואודיו](https://nodaro.ai/docs/developers/sdk/voices-and-audio) |
| `VoiceChangerProInput`, `VoiceChangerProVoice`, `VcpAnalyzeInput`, `VcpAnalysis`, `VcpAnalysisSpeaker`, `VcpExportInput`, `VcpExportTrack` | [קולות ואודיו](https://nodaro.ai/docs/developers/sdk/voices-and-audio#voicesrecastinput) |
| `VoiceDesignInput`, `VoiceRemixInput`, `DubbingInput`, `AudioFxPreset` | [קולות ואודיו](https://nodaro.ai/docs/developers/sdk/voices-and-audio) |
| `TranscribeWord`, `TranscribeJobOutput`, `TranscribeProvider`, `TranscribeLane` | [קולות ואודיו](https://nodaro.ai/docs/developers/sdk/voices-and-audio#audiotranscribeinput) |
| `EditJobResult`, `SilenceDetectInput`, `SilenceRanges`, `AudioSyncInput`, `AudioSyncSource`, `AudioSyncOffset`, `AudioSyncResult`, `ApplyEdlInput`, `EditPlanInput`, `EditPlanSource`, `EditPlanMode`, `EditPlanTier`, `Edl`, `EdlClipSet`, `ChapterSet`, `Transcript`, `TightenEpisodeInput`, `TightenEpisodeJobResult`, `TightenEpisodeEstimate`, `UseCaseContinueInput` | [עריכה](https://nodaro.ai/docs/developers/sdk/editing) |
| `GenerateScene3DParams`, `EditScene3DParams`, `RenderScene3DParams`, `Scene3DJobOutput`, `Scene3DCapabilities`, `Scene3DAuthoringEngine`, `RetainedScene3DEditParams`, `RetainedScene3DEditResult`, `Scene3DDelivery`, `Scene3DDeliveryAsset`, `Scene3DDeliveryAssetKind` | [סצנות תלת־ממד](https://nodaro.ai/docs/developers/sdk/scenes-3d) |

## נכסים
| ייצוא | מתועד בדף |
| --- | --- |
| `Character`, `CharacterDetail`, `CharacterUsage`, `ReferencePhoto`, `ReferencePhotoKind`, `UpsertCharacterInput`, `UpsertCharacterResult`, `ListCharactersParams`, `ListCharactersResult`, `DuplicateCharacterInput`, `GenerateCharacterInput`, `GenerateCharacterResult`, `GenerateAssetInput`, `GenerateMotionInput`, `ApprovePortraitResult`, `RecaptionResult`, `CharacterAspectRatio`, `EntityStyle`, `TrainCharacterInput`, `TrainCharacterResult`, `CharacterTrainingStatus`, `CharacterTrainingState`, `TrainCharacterRefusalCode` | [דמויות](https://nodaro.ai/docs/developers/sdk/characters) |
| `Location`, `LocationDetail`, `LocationReferencePhoto`, `LocationReferencePhotoKind`, `CreateLocationInput`, `UpdateLocationInput`, `UpdateLocationResult`, `ListLocationsParams`, `GenerateLocationInput`, `GenerateLocationResult`, `GenerateLocationAssetInput`, `GenerateSurroundContinuationInput`, `ApproveMainImageResult`, `RecaptionLocationResult`, `LocationAssetType`, `LocationAttachColumn`, `SurroundDirection` | [מיקומים](https://nodaro.ai/docs/developers/sdk/locations) |
| `Object`, `ObjectDetail`, `ObjectCategory`, `ObjectReferencePhoto`, `ObjectReferencePhotoKind`, `CreateObjectInput`, `UpdateObjectInput`, `UpdateObjectResult`, `UpsertObjectInput`, `UpsertObjectResult`, `ListObjectsParams`, `GenerateObjectInput`, `GenerateObjectResult`, `GenerateObjectAssetInput`, `GenerateObjectAssetResult`, `GenerateObjectMotionInput`, `GenerateObjectMotionResult`, `ApproveObjectMainImageResult`, `RecaptionObjectResult`, `ObjectAssetType`, `ObjectAttachColumn`, `ObjectAspectRatio` | [אובייקטים ויצורים](https://nodaro.ai/docs/developers/sdk/objects-and-creatures) |
| `Creature`, `CreatureDetail`, `CreatureReferencePhoto`, `CreatureReferencePhotoKind`, `CreateCreatureInput`, `UpdateCreatureInput`, `UpdateCreatureResult`, `UpsertCreatureInput`, `UpsertCreatureResult`, `ListCreaturesParams`, `GenerateCreatureInput`, `GenerateCreatureResult`, `GenerateCreatureAssetInput`, `GenerateCreatureAssetResult`, `GenerateCreatureMotionInput`, `GenerateCreatureMotionResult`, `ApproveCreatureMainImageResult`, `RecaptionCreatureResult`, `CreatureAssetType`, `CreatureAttachColumn`, `CreatureAspectRatio` | [אובייקטים ויצורים](https://nodaro.ai/docs/developers/sdk/objects-and-creatures#clientcreatures) |
| `CommunityCard`, `CommunityEntityType`, `CommunitySort`, `CommunityReportReason`, `BrowseCommunityParams`, `BrowseCommunityResult`, `CloneListingResult`, `FavoriteListingResult`, `ReportListingResult` | [ספריית הקהילה](https://nodaro.ai/docs/developers/sdk/community) |

## הפקות
| ייצוא | מתועד בדף |
| --- | --- |
| `StudioProduction`, `StudioProductionDetail`, `StudioSkillResponse`, `StudioValidatePlanResponse`, `StudioPlanIssue`, `StudioListProductionsResponse`, `ListStudioProductionsOptions`, `GetProductionOptions`, `StudioExportPlanOptions`, `StudioExportPlanResponse`, `StudioExportStep` | [הפקות Studio](https://nodaro.ai/docs/developers/sdk/studio) |
| `StudioCreateProductionRequest`, `StudioProductionResponse`, `StudioImportSummary`, `StudioClientRequestId`, `StudioOpsRequest`, `StudioOpsResponse`, `StudioOpsReceipt`, `StudioOpsImpact`, `StudioOpClass`, `StudioOpsDryRunReceipt`, `StudioOpsDryRunResponse`, `StudioReconcileResponse` | [הפקות Studio](https://nodaro.ai/docs/developers/sdk/studio#productionsopsproductionid-input) |
| `StudioGenerateRequest`, `StudioGenerateOptions`, `StudioGenerateResult`, `StudioGenerateEstimate`, `StudioGenerateResponse`, `StudioVideoLane`, `StudioDescribeRequest`, `StudioFrameRequest`, `StudioVoiceRequest`, `StudioRevoiceRequest`, `StudioMusicRequest`, `StudioMediaResponse`, `StudioJobStartedResponse`, `StudioCloneRequest` | [הפקות Studio](https://nodaro.ai/docs/developers/sdk/studio#generate-stills-and-clips) |
| `StudioProductionCapabilities`, `StudioKeyframeRecord`, `StudioProductionRecord`, `StudioProductionReply`, `StudioEditInput`, `StudioKeyframeGenerationInput`, `StudioKeyframeAcceptanceInput`, `StudioShotGenerationInput`, `StudioGenerationReply`, `StudioDocumentJson` | [הפקות Studio](https://nodaro.ai/docs/developers/sdk/studio#clientstudio-planned-frames) |
| `Shot`, `ShotMode`, `ShotEntityRef`, `CreateShotInput`, `UpdateShotInput` | [הפקות Studio](https://nodaro.ai/docs/developers/sdk/studio#clientshots) |
| `CreateRecastInput`, `EstimateRecastInput`, `RecastEstimate`, `RecastRunSnapshot`, `ResolveRecastGateInput`, `RecastScriptValidation`, `RecastScriptValidationError`, `RecastScriptImportResult` | [Recast ב-SDK](https://nodaro.ai/docs/developers/sdk/recast) |
| `RecastAudioManifestV1`, `RecastAudioLayerName`, `RecastAudioMix`, `RecastAudioMixControl`, `RecastAudioSectionReplacement`, `RecastRescoreReplacement`, `RecastRescoreOperation`, `EstimateRecastRescoreInput`, `RecastRescoreRequestV2`, `RecastRescoreQuote`, `RecastRescoreResponse` | [Recast ב-SDK](https://nodaro.ai/docs/developers/sdk/recast#change-the-music-mix) |
| `PipelineStageName`, `BranchPipelineInput`, `BranchPipelineResult`, `ChatTurn`, `ChatStageResult`, `ApplyChatProposalResult` | [פייפליינים](https://nodaro.ai/docs/developers/sdk/pipelines) |
| `CopilotThread`, `CopilotThreadWorkflow`, `CopilotSurface`, `CopilotRunMode`, `CopilotModelTier`, `CopilotMessage`, `CopilotMessagePart`, `CreateCopilotThreadInput`, `CopilotStreamOptions`, `CopilotStreamFrame` וטיפוסי הנתונים של האירועים | [Copilot ב-SDK](https://nodaro.ai/docs/developers/sdk/copilot) |

## חשבון וקטלוגים
| ייצוא | מתועד בדף |
| --- | --- |
| `ModelSummary`, `ModelMaker`, `ModelsListResult`, `ListModelsOptions`, `UserBalance`, `ModelCostsResult`, `FreeGrantState`, `WelcomeOfferState`, `WelcomeOfferClaimInput`, `WelcomeOfferClaimResult`, `UsageSummary`, `UsageSummaryOptions`, `UsageSummaryBucket`, `UsageSummaryTotals`, `UsageByModel`, `UsageByCategory`, `UsageOverTime`, `UsageByGroup`, `CreditHistoryEntry`, `CreditHistoryJob`, `CreditHistoryKind`, `CreditHistoryPage`, `CreditHistoryFilters`, `CreditHistoryOptions` | [מודלים וקרדיטים](https://nodaro.ai/docs/developers/sdk/models-and-credits) |
| `BillingPlansResult`, `BillingPlan`, `BillingPlanPrices`, `BillingMoney`, `BillingMonthlyPrice`, `BillingYearlyPrice`, `BillingPriceCredits`, `BillingTopUp`, `BillingSubscriptionResult`, `BillingSubscription`, `BillingSurface`, `BillingAccountSummary`, `BillingUsageCategory`, `BillingPurchase`, `BillingDocument`, `BillingCard`, `BillingDetails`, `BillingPaymentMethod`, `BillingAutoRecharge`, `BillingAutoRechargeInput`, `BillingAutoRechargeSaved`, `BillingCheckoutInput`, `BillingCheckoutSession`, `BillingLoadInput`, `BillingLoadSession`, `BillingPortalInput`, `BillingPortalSession`, `BillingChangePlanInput`, `BillingChangePlanResult` | [מודלים וקרדיטים](https://nodaro.ai/docs/developers/sdk/models-and-credits#clientbilling) |
| `PickerCatalog`, `PickerCatalogSummary`, `PickerOption`, `PickerDimension`, `PickerCatalogSection`, `GetPickerCatalogOptions` | [בוררים, ערכות ופרומפטים](https://nodaro.ai/docs/developers/sdk/pickers-and-prompts) |
| `CatalogsListResponse`, `ProjectedCatalog`, `ProjectedCatalogOption`, `ProjectedCatalogDimension`, `ProjectedCatalogSection` | [בוררים, ערכות ופרומפטים](https://nodaro.ai/docs/developers/sdk/pickers-and-prompts#clientcatalogs) |
| `NodePreset`, `NodePresetGroup`, `FactoryPresetsResult`, `FactoryPresetEntry`, `CreateNodePresetInput`, `UpdateNodePresetInput`, `ImportNodePresetInput`, `ReorderNodePresetsInput` | [בוררים, ערכות ופרומפטים](https://nodaro.ai/docs/developers/sdk/pickers-and-prompts#clientpresets) |
| `ColorPalette`, `PalettePage`, `ListPalettesParams`, `CreatePaletteInput`, `UpdatePaletteInput`, `Moodboard`, `MoodboardPage`, `ListMoodboardsParams`, `CreateMoodboardInput`, `UpdateMoodboardInput`, `DirectionFields` | [בוררים, ערכות ופרומפטים](https://nodaro.ai/docs/developers/sdk/pickers-and-prompts#clientpalettes) |
| `AnalyzeInput`, `AnalyzeResult`, `GenerateInput`, `EnhanceInput`, `PromptResult`, `WizardQuestion`, `WizardOption`, `WizardSelection`, `RecommendedModel`, `WizardNodeContext` | [בוררים, ערכות ופרומפטים](https://nodaro.ai/docs/developers/sdk/pickers-and-prompts#clientprompthelper) |
| `OrganizationView`, `OrganizationSummary`, `OrgMemberView`, `OrgKind`, `OrgRole`, `OrgStatus`, `OrgSettings`, `OrgAuditEntry`, `OrgPage`, `OrgErrorCode`, `MemberStatus`, `CreateOrgInput`, `InviteInput`, `ListInvitationsOptions` | [ארגונים וסביבות עבודה](https://nodaro.ai/docs/developers/sdk/organizations) |
| `InvitationView`, `InvitationDelivery`, `InvitationPreview`, `InvitationState`, `JoinCodeView` | [ארגונים וסביבות עבודה](https://nodaro.ai/docs/developers/sdk/organizations) |
| `WorkspaceView`, `WorkspaceSummary`, `WorkspaceMemberView`, `WorkspaceRole`, `WorkspaceSettings`, `CreateWorkspaceInput` | [ארגונים וסביבות עבודה](https://nodaro.ai/docs/developers/sdk/organizations#clientworkspaces) |
| `UsageQuery`, `UsageGroupBy`, `UsageReport`, `UsageReportRow`, `UsageReportTotals`, `UsageVarianceRow`, `UsageLogEntry` | [ארגונים וסביבות עבודה](https://nodaro.ai/docs/developers/sdk/organizations#organization-usage) |
| `DeveloperApp`, `DeveloperAppScope`, `DeveloperAppStatus`, `DeveloperAppKind`, `CreateDeveloperAppInput`, `UpdateDeveloperAppInput`, `CreateDeveloperAppResult`, `RotateSecretResult` | [OAuth ויישומי מפתחים](https://nodaro.ai/docs/developers/sdk/developer-apps) |
| `ExchangeCodeInput`, `AccessTokenResponse`, `OAuthAppInfo` | [OAuth ויישומי מפתחים](https://nodaro.ai/docs/developers/sdk/developer-apps#clientoauth) |

## פונקציות עזר וקבועים
אלה ערכים ולא טיפוסים, ולכן ייבאו אותם בלי `type`.

| ייצוא | מה זה |
| --- | --- |
| `nodeStateMayCarryOutput(status)`, `OUTPUT_BEARING_NODE_STATUSES` | האם מצב של רכיב יכול לכלול `output`: המצבים `completed` ו-`failed`. ראו את הדף [משימות והרצות](https://nodaro.ai/docs/developers/sdk/jobs-and-executions#executionsgetid). |
| `executionOutcome(status, nodeStates)`, `countEmptyInputSkips(nodeStates)` | האם הרצה שהושלמה לא מצאה שום דבר חדש, ועל כמה רכיבים היא דילגה כי לא היה להם קלט. ראו את הדף [משימות והרצות](https://nodaro.ai/docs/developers/sdk/jobs-and-executions#executionsgetid). |
| `isStudioGenerateEstimate(result)` | מבחינה בין אומדן מחיר ליצירה לבין הרצה שהתחילה. ראו את הדף [הפקות Studio](https://nodaro.ai/docs/developers/sdk/studio#generate-stills-and-clips). |
| `unwrapEditPlanOutput(outputData)` | מפענחת את הפלט של משימה של רכיב תוכנית עריכה ל-EDL, לרשימה של EDL או לפרקים. ראו את הדף [עריכה](https://nodaro.ai/docs/developers/sdk/editing#editeditplaninput). |
| `verifyWebhookSignature(options)` | בודקת את החתימה של קריאת Webhook ומחזירה את האירוע. ראו את הדף [משימות והרצות](https://nodaro.ai/docs/developers/sdk/jobs-and-executions#verifywebhooksignatureoptions). |
| `paletteDirectionId(id)`, `moodboardDirectionId(id)`, `PALETTE_DIRECTION_PREFIX`, `MOODBOARD_DIRECTION_PREFIX` | בונים את ערכי ה-`direction` של פלטה או של מודבורד. ראו את הדף [בוררים, ערכות ופרומפטים](https://nodaro.ai/docs/developers/sdk/pickers-and-prompts#clientpalettes). |
| `throwFromResponse(status, body)` | זורקת את מחלקת השגיאה שמתאימה לתשובה של ה-API. ראו את הדף [שגיאות](https://nodaro.ai/docs/developers/sdk/errors#throwfromresponsestatus-body). |
| `PROMPT_PREFIX_KEY`, `PROMPT_SUFFIX_KEY` | המפתחות של טקסט לפני ואחרי בנתוני הרכיב. |
| `WORKSPACE_HEADER` | השם של כותרת סביבת העבודה, `X-Nodaro-Workspace`. |
| `USAGE_GROUP_BYS` | אפשרויות הקיבוץ שדוח שימוש מקבל. |
| `LOCATION_ASSET_TYPES`, `LOCATION_ATTACH_COLUMNS`, `SURROUND_DIRECTIONS` | סוגי הווריאנטים, הקבוצות וכיווני המבט של 360 מעלות שמותרים במיקום. |
| `OBJECT_ASSET_TYPES`, `OBJECT_ATTACH_COLUMNS`, `OBJECT_ASPECT_OPTIONS`, `OBJECT_ASPECT_DEFAULTS` | סוגי הווריאנטים, הקבוצות ויחסי הגובה־רוחב שמותרים באובייקט. |
| `CREATURE_ASSET_TYPES`, `CREATURE_ATTACH_COLUMNS`, `CREATURE_ASPECT_OPTIONS`, `CREATURE_ASPECT_DEFAULTS` | אותן רשימות ליצורים. |
| `CHARACTER_STYLES`, `CHARACTER_ASPECT_OPTIONS`, `CHARACTER_ASPECT_DEFAULTS` | הסגנונות ויחסי הגובה־רוחב של דמויות. |
| `SCENE3D_DELIVERY_ASSET_USAGE` | הצירופים המותרים של סוג קובץ מסירה ושימוש. |

גם כל מחלקת משאב, כמו `WorkflowsResource` או `NodesResource`, מיוצאת, לשימושים מתקדמים בטיפוסים. רק לעיתים רחוקות תצטרכו אותן: הפונקציה `createClient` בונה בשבילכם את כל המשאבים.

## שאלות נפוצות

### איך מייבאים טיפוס מה-SDK של Nodaro?

השתמשו ב-import type עם השם של הטיפוס, למשל import type { Workflow, Job } from @nodaro/sdk. חלק מהטיפוסים שהמתודות של ה-SDK משתמשות בהם לא מיוצאים: ייבאו אותם מהחבילה ‎@nodaro/shared, או גזרו אותם מהמתודה.

### למה בטיפוסים של ה-SDK חלק מהשדות כתובים ב-snake_case וחלק ב-camelCase?

הטיפוסים של ה-SDK של Nodaro זהים לפורמט שה-API שולח. הטיפוס Job משתמש ב-snake_case, כמו output_data ו-created_at, כי כך ה-API שולח אותו. הטיפוסים Workflow ו-WorkflowExecution משתמשים ב-camelCase.

### האם צריך גם את החבילה ‎@nodaro/shared?

בדרך כלל לא. ה-SDK של Nodaro מייצא מחדש את רוב הטיפוסים המשותפים שהמתודות שלו משתמשות בהם, כמו הטיפוסים של ארגונים ושל עריכה. כמה פונקציות עזר, כמו פונקציות העזר לבדיקה של סצנות תלת־ממד ו-toConnectedReference, וכמה טיפוסים, כמו PipelineInput ו-CommunityFullDetail, מייבאים ישירות מהחבילה ‎@nodaro/shared.
