@nodaro/sdk 2.21.0 → 2.22.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
@@ -1,5 +1,5 @@
1
1
  import * as _nodaro_shared from '@nodaro/shared';
2
- import { CollaboratorRole, GenericNode, GenericEdge, WorkflowExport, WorkflowImportReport, WorkflowVisibility, ExecutionOutcome, NodeExecutionStateWire, Scene3DReference, Scene3DPlan, Scene3DEditOperation, Scene3DV2EditOperation, Pro3DRenderSource, Pro3DRenderEngine, Pro3DRenderQuality, Pro3DRenderStyle, Scene3DJobOutputAny, Pro3DRenderJobOutput as Pro3DRenderJobOutput$1, Pro3DRenderCapabilities, Scene3DPlanV2, Pro3DRenderQuote as Pro3DRenderQuote$1, ModelInputAdjustment, ConnectedReference, DescribedReference, VideoCharacterReference, SocialSearchParams, SocialPost, SocialPlatform, SocialSearchMode, Scene3DAssetRef, OAuthScope, TtsProvider, EntityStyle, CharacterAspectRatio, CharacterAttachColumn, LocationAssetType, LocationAttachColumn, SurroundDirection, ObjectAssetType, ObjectAttachColumn, ObjectAspectRatio, CreatureAttachColumn, PipelineInput, PipelineStatus, PipelineMode, PipelineStageName, AnimateSubGate, ChatEnabledStage, ProposedChange, ReduceStrategyId, ReduceMeta, Voice, VoiceLibraryParams, VoiceLibraryResponse, VoiceClone, AudioFxPreset, DialogueProvider, CaptionLookId, SupportedFontName, TranscribeLane, CaptionStyle, OverlayAnchor, VideoOverlayRequest, TranscribeProvider, Transcript, ListSavedPostsParams, ListSavedPostsResult, SavePostInput, SavedPost, SavedPostsLookupResult, UpdateSavedPostInput, ListCollectionsResult, Collection, CreateCollectionInput, UpdateCollectionInput, ListCollectionRecordsParams, ListCollectionRecordsResult, AddCollectionRecordInput, AddCollectionRecordResult, CollectionExportFormat, TrackedCompetitor, CompetitorListResult, CompetitorDetail, CompetitorHistory, CompetitorCompareInput, CompetitorCompareResult, CreateCompetitorInput, UpdateCompetitorInput, CompetitorCardsResult, CompetitorLessonsResult, CompetitorActionsResult, CardActionResult, CompetitorDiscovery, CharacterMotionMetadata, RecastSegmentPack, BrowseCommunityParams, BrowseCommunityResult, CommunityCard, CommunityFullDetail, CommunityEntityType, CloneListingResult, FavoriteListingResult, CommunityReportReason, ReportListingResult, PublishListingParams, PublishListingResult, SharedListing, OrganizationView, OrgKind, OrgSettings, OrgPage, OrgMemberView, MemberStatus, WorkspaceRole, InvitationDelivery, InvitationState, InvitationView, InvitationPreview, OrgAuditEntry, UsageQuery, UsageReport, UsageLogEntry, WorkspaceSummary, WorkspaceView, WorkspaceSettings, WorkspaceMemberView, JoinCodeView, Edl, EditPlanMode, EditPlanTier, MeOrganizations } from '@nodaro/shared';
2
+ import { CollaboratorRole, GenericNode, GenericEdge, WorkflowExport, WorkflowImportReport, WorkflowVisibility, ExecutionOutcome, NodeExecutionStateWire, Scene3DReference, Scene3DPlan, Scene3DEditOperation, Scene3DV2EditOperation, Pro3DRenderSource, Pro3DRenderEngine, Pro3DRenderQuality, Pro3DRenderStyle, Scene3DJobOutputAny, Pro3DRenderJobOutput as Pro3DRenderJobOutput$1, Pro3DRenderCapabilities, Scene3DPlanV2, Pro3DRenderQuote as Pro3DRenderQuote$1, ModelInputAdjustment, ConnectedReference, DescribedReference, VideoCharacterReference, SocialSearchParams, SocialPost, SocialPlatform, SocialSearchMode, Scene3DAssetRef, OAuthScope, TtsProvider, EntityStyle, CharacterAspectRatio, CharacterAttachColumn, LocationAssetType, LocationAttachColumn, SurroundDirection, ObjectAssetType, ObjectAttachColumn, ObjectAspectRatio, CreatureAttachColumn, PipelineInput, PipelineStatus, PipelineMode, PipelineStageName, AnimateSubGate, ChatEnabledStage, ProposedChange, ReduceStrategyId, ReduceMeta, Voice, VoiceLibraryParams, VoiceLibraryResponse, VoiceClone, AudioFxPreset, DialogueProvider, CaptionLookId, SupportedFontName, TranscribeLane, CaptionStyle, OverlayAnchor, VideoOverlayRequest, TranscribeProvider, Transcript, ListSavedPostsParams, ListSavedPostsResult, SavePostInput, SavedPost, SavedPostsLookupResult, UpdateSavedPostInput, ListCollectionsResult, Collection, CreateCollectionInput, UpdateCollectionInput, ListCollectionRecordsParams, ListCollectionRecordsResult, CollectionRecord, BulkCollectionRecordsInput, BulkCollectionRecordsResult, CollectionRecordSource, AddCollectionRecordInput, AddCollectionRecordResult, CollectionExportFormat, CollectionUsage, TrackedCompetitor, CompetitorListResult, CompetitorDetail, CompetitorHistory, CompetitorCompareInput, CompetitorCompareResult, CreateCompetitorInput, UpdateCompetitorInput, CompetitorCardsResult, CompetitorLessonsResult, CompetitorActionsResult, CardActionResult, CompetitorDiscovery, CharacterMotionMetadata, RecastSegmentPack, BrowseCommunityParams, BrowseCommunityResult, CommunityCard, CommunityFullDetail, CommunityEntityType, CloneListingResult, FavoriteListingResult, CommunityReportReason, ReportListingResult, PublishListingParams, PublishListingResult, SharedListing, OrganizationView, OrgKind, OrgSettings, OrgPage, OrgMemberView, MemberStatus, WorkspaceRole, InvitationDelivery, InvitationState, InvitationView, InvitationPreview, OrgAuditEntry, UsageQuery, UsageReport, UsageLogEntry, WorkspaceSummary, WorkspaceView, WorkspaceSettings, WorkspaceMemberView, JoinCodeView, Edl, EditPlanMode, EditPlanTier, MeOrganizations } from '@nodaro/shared';
3
3
  export { ActionCard, ActionCardKind, ActionCardPriority, AddCollectionRecordInput, AddCollectionRecordResult, AdviceFamily, AdviceRecord, AnimateSubGate, AudioFxPreset, BrandLesson, BrandLessonKind, BrandLessons, BrandPlatformLessons, BrowseCommunityParams, BrowseCommunityResult, CHARACTER_ASPECT_DEFAULTS, CHARACTER_ASPECT_OPTIONS, CHARACTER_STYLES, OBJECT_ASPECT_DEFAULTS as CREATURE_ASPECT_DEFAULTS, OBJECT_ASPECT_OPTIONS as CREATURE_ASPECT_OPTIONS, CREATURE_ATTACH_COLUMNS, CardAction, CardActionResult, CardOutcome, CardOutcomeState, CardSnapshot, CardVerdict, ChapterSet, CharacterAspectRatio, ChatEnabledStage, CloneListingResult, Collection, CollectionCaps, CollectionDigestFormat, CollectionExportFormat, CollectionFieldValue, CollectionLimits, CollectionMedia, CollectionMediaType, CollectionRecord, CollectionRecordSource, CollectionWriteOutcome, CommunityCard, CommunityEntityType, CommunityFullDetail, CommunityReportReason, CommunitySort, CompetitorAboutPlatform, CompetitorAccountKey, CompetitorAccounts, CompetitorActionsResult, CompetitorBrandTally, CompetitorCardsResult, CompetitorCompareInput, CompetitorCompareResult, CompetitorDetail, CompetitorDiscovery, CompetitorHistory, CompetitorHistoryPlatform, CompetitorHistoryPoint, CompetitorLessonsResult, CompetitorListResult, CompetitorPeriod, CompetitorPeriodFollowers, CompetitorPeriodPlatform, CompetitorPlatformTally, CompetitorPost, CompetitorScan, CompetitorScanCounts, CompetitorScanSummary, CompetitorSchedule, CompetitorSearch, CompetitorSearchKind, ConnectedReference, CreateCollectionInput, CreateCompetitorInput, ObjectAspectRatio as CreatureAspectRatio, CreatureAttachColumn, DescribedReference, EditPlanMode, EditPlanTier, Edl, EdlClipSet, EntityStyle, ExecutionOutcome, FavoriteListingResult, GeminiOmniVoicePresetId, GenericEdge, GenericNode, InvitationDelivery, InvitationPreview, InvitationState, InvitationView, JoinCodeView, LOCATION_ASSET_TYPES, LOCATION_ATTACH_COLUMNS, ListCollectionRecordsParams, ListCollectionRecordsResult, ListCollectionsResult, ListSavedPostsParams, ListSavedPostsResult, LocationAssetType, LocationAttachColumn, MarkCardInput, MeOrganizations, MemberStatus, NodeExecutionStatus, NodeSkipReason, OBJECT_ASPECT_DEFAULTS, OBJECT_ASPECT_OPTIONS, OBJECT_ASSET_TYPES, OBJECT_ATTACH_COLUMNS, OUTPUT_BEARING_NODE_STATUSES, ObjectAspectRatio, ObjectAssetType, ObjectAttachColumn, OrgAuditEntry, OrgErrorCode, OrgKind, OrgMemberView, OrgPage, OrgRole, OrgSettings, OrgStatus, OrganizationSummary, OrganizationView, PROMPT_PREFIX_KEY, PROMPT_SUFFIX_KEY, PipelineInput, PipelineMode, PipelineStageName, PipelineStatus, PromptAffixFields, ProposedChange, PublishListingParams, PublishListingResult, RECAST_SEGMENT_PACKS, RecastSegmentPack, ReduceMeta, ReduceStrategyId, ReportListingResult, SURROUND_DIRECTIONS, SavePostInput, SavedPost, SavedPostSource, SavedPostsLookupResult, SharedListing, SharedVoice, SocialPlatform, SocialPost, SocialPostAuthor, SocialPostMedia, SocialPostMetrics, SocialSearchCount, SocialSearchMode, SocialSearchParams, SocialSearchPeriod, SocialSearchSort, SocialSearchVideoKind, SubGateName, SurroundDirection, TrackedCompetitor, TranscribeLane, TranscribeProvider, Transcript, USAGE_GROUP_BYS, UpdateCardActionInput, UpdateCollectionInput, UpdateCompetitorInput, UpdateSavedPostInput, UsageGroupBy, UsageLogEntry, UsageQuery, UsageReport, UsageReportRow, UsageReportTotals, UsageVarianceRow, VideoCharacterReference, VideoCharacterVoice, Voice, VoiceClone, VoiceLibraryParams, VoiceLibraryResponse, WORKSPACE_HEADER, WorkflowExport, WorkflowExportCharacter, WorkflowExportLocation, WorkflowExportObject, WorkspaceMemberView, WorkspaceRole, WorkspaceSettings, WorkspaceSummary, WorkspaceView, nodeStateMayCarryOutput, unwrapEditPlanOutput } from '@nodaro/shared';
4
4
  import { DirectionFields, SubjectFields, PersonValue, WizardNodeContext, WizardQuestion, WizardSelection, RecommendedModel, FactoryPreset } from '@nodaro/prompts';
5
5
  export { PEOPLE, PERSON_DIMENSION_LABELS, PERSON_DIMENSION_ORDER, PersonValue, RecommendedModel, WizardNodeContext, WizardOption, WizardQuestion, WizardSelection, buildPersonHints } from '@nodaro/prompts';
@@ -2783,7 +2783,7 @@ interface GenerateSurroundContinuationInput {
2783
2783
  refineProvider?: "recraft-upscale" | "topaz-image-upscale";
2784
2784
  /** Optional free-form scene hint woven into the fill prompt. */
2785
2785
  userPrompt?: string;
2786
- /** Image model. Studio pins `nano-banana-pro`; default `nano-banana`. */
2786
+ /** Image model. Defaults to the platform's general image model (`gpt-image-2`). */
2787
2787
  provider?: string;
2788
2788
  /** Studio pins `"16:9"` so every ring view matches the establishing frame. */
2789
2789
  aspectRatio?: CharacterAspectRatio;
@@ -4372,10 +4372,10 @@ interface CommonInput {
4372
4372
  /** Reasoning effort level (model-dependent). */
4373
4373
  reasoningEffort?: string;
4374
4374
  /**
4375
- * Gemini models only. Runs the request on the provider's own API so
4375
+ * Gemini and Claude models. Runs the request on the provider's own API so
4376
4376
  * `temperature`, `maxTokens` and the full reasoning range actually take
4377
4377
  * effect — on the default lane those levers are not reliably honoured.
4378
- * Bills one credit tier up, capped at premium. A model without a direct lane returns
4378
+ * Bills one credit rung up (a premium model moves to premium-direct). A model without a direct lane returns
4379
4379
  * `400 advanced_mode_unsupported`.
4380
4380
  */
4381
4381
  advancedMode?: boolean;
@@ -5954,8 +5954,24 @@ declare class CollectionsResource {
5954
5954
  update(id: string, input: UpdateCollectionInput): Promise<Collection>;
5955
5955
  /** `DELETE /v1/collections/:id` → remove a collection and every record in it. */
5956
5956
  delete(id: string): Promise<void>;
5957
- /** `GET /v1/collections/:id/records` → the records, newest first. Narrow with `q` (words) and `since` (ISO); page with `cursor` / `limit` (1-100, default 50). */
5957
+ /**
5958
+ * `GET /v1/collections/:id/records` → the records, newest first (`order: "oldest"`
5959
+ * flips it). Narrow with `q` (words), `since` / `until` (ISO) and `usage`
5960
+ * (`all`, `unused` — not used yet — or `used`); page with `cursor` / `limit`
5961
+ * (1-100, default 50). Each record carries `usedAt` / `usedBy`, and its
5962
+ * `source` the saving workflow's name and project when it is yours.
5963
+ */
5958
5964
  records(id: string, params?: ListCollectionRecordsParams): Promise<ListCollectionRecordsResult>;
5965
+ /** `POST /v1/collections/:id/records/:recordId/restore` → bring a record back from the Trash; the record. */
5966
+ restoreRecord(id: string, recordId: string): Promise<CollectionRecord>;
5967
+ /** `POST /v1/collections/:id/records/bulk` → move up to 100 records to the Trash, bring them back, or delete records already in the Trash for good, in one call. */
5968
+ bulkRecords(id: string, input: BulkCollectionRecordsInput): Promise<BulkCollectionRecordsResult>;
5969
+ /**
5970
+ * `PATCH /v1/collections/:id/records/:recordId` → mark a record used (or not
5971
+ * used again). `source` says who is marking it (defaults to the API). A
5972
+ * server before the usage release answers `503 not_available`.
5973
+ */
5974
+ setUsed(id: string, recordId: string, used: boolean, source?: CollectionRecordSource): Promise<CollectionRecord>;
5959
5975
  /**
5960
5976
  * `POST /v1/collections/:id/records` → save one record. Give the fields, or
5961
5977
  * `item` (any JSON — a feed post, a search result) and let the server map it;
@@ -5966,12 +5982,20 @@ declare class CollectionsResource {
5966
5982
  addRecord(id: string, input: AddCollectionRecordInput, opts?: {
5967
5983
  idempotencyKey?: string;
5968
5984
  }): Promise<AddCollectionRecordResult>;
5969
- /** `DELETE /v1/collections/:id/records/:recordId` → remove one record. */
5985
+ /**
5986
+ * `DELETE /v1/collections/:id/records/:recordId` → the record moves to the
5987
+ * collection's Trash (`restoreRecord` brings it back; `deleteRecordForever`
5988
+ * removes it for good).
5989
+ */
5970
5990
  deleteRecord(id: string, recordId: string): Promise<void>;
5971
- /** `GET /v1/collections/:id/export` → the whole collection as CSV (default) or JSON text, newest first; `since` and `q` narrow it. */
5991
+ /** `DELETE /v1/collections/:id/records/:recordId/permanent` → a record already in the Trash is deleted for good (`409 not_in_trash` for a live one). */
5992
+ deleteRecordForever(id: string, recordId: string): Promise<void>;
5993
+ /** `GET /v1/collections/:id/export` → the whole collection as CSV (default) or JSON text, newest first; `since`, `until`, `usage` and `q` narrow it. */
5972
5994
  export(id: string, params?: {
5973
5995
  format?: CollectionExportFormat;
5974
5996
  since?: string;
5997
+ until?: string;
5998
+ usage?: CollectionUsage;
5975
5999
  q?: string;
5976
6000
  }): Promise<string>;
5977
6001
  }
package/dist/index.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  import * as _nodaro_shared from '@nodaro/shared';
2
- import { CollaboratorRole, GenericNode, GenericEdge, WorkflowExport, WorkflowImportReport, WorkflowVisibility, ExecutionOutcome, NodeExecutionStateWire, Scene3DReference, Scene3DPlan, Scene3DEditOperation, Scene3DV2EditOperation, Pro3DRenderSource, Pro3DRenderEngine, Pro3DRenderQuality, Pro3DRenderStyle, Scene3DJobOutputAny, Pro3DRenderJobOutput as Pro3DRenderJobOutput$1, Pro3DRenderCapabilities, Scene3DPlanV2, Pro3DRenderQuote as Pro3DRenderQuote$1, ModelInputAdjustment, ConnectedReference, DescribedReference, VideoCharacterReference, SocialSearchParams, SocialPost, SocialPlatform, SocialSearchMode, Scene3DAssetRef, OAuthScope, TtsProvider, EntityStyle, CharacterAspectRatio, CharacterAttachColumn, LocationAssetType, LocationAttachColumn, SurroundDirection, ObjectAssetType, ObjectAttachColumn, ObjectAspectRatio, CreatureAttachColumn, PipelineInput, PipelineStatus, PipelineMode, PipelineStageName, AnimateSubGate, ChatEnabledStage, ProposedChange, ReduceStrategyId, ReduceMeta, Voice, VoiceLibraryParams, VoiceLibraryResponse, VoiceClone, AudioFxPreset, DialogueProvider, CaptionLookId, SupportedFontName, TranscribeLane, CaptionStyle, OverlayAnchor, VideoOverlayRequest, TranscribeProvider, Transcript, ListSavedPostsParams, ListSavedPostsResult, SavePostInput, SavedPost, SavedPostsLookupResult, UpdateSavedPostInput, ListCollectionsResult, Collection, CreateCollectionInput, UpdateCollectionInput, ListCollectionRecordsParams, ListCollectionRecordsResult, AddCollectionRecordInput, AddCollectionRecordResult, CollectionExportFormat, TrackedCompetitor, CompetitorListResult, CompetitorDetail, CompetitorHistory, CompetitorCompareInput, CompetitorCompareResult, CreateCompetitorInput, UpdateCompetitorInput, CompetitorCardsResult, CompetitorLessonsResult, CompetitorActionsResult, CardActionResult, CompetitorDiscovery, CharacterMotionMetadata, RecastSegmentPack, BrowseCommunityParams, BrowseCommunityResult, CommunityCard, CommunityFullDetail, CommunityEntityType, CloneListingResult, FavoriteListingResult, CommunityReportReason, ReportListingResult, PublishListingParams, PublishListingResult, SharedListing, OrganizationView, OrgKind, OrgSettings, OrgPage, OrgMemberView, MemberStatus, WorkspaceRole, InvitationDelivery, InvitationState, InvitationView, InvitationPreview, OrgAuditEntry, UsageQuery, UsageReport, UsageLogEntry, WorkspaceSummary, WorkspaceView, WorkspaceSettings, WorkspaceMemberView, JoinCodeView, Edl, EditPlanMode, EditPlanTier, MeOrganizations } from '@nodaro/shared';
2
+ import { CollaboratorRole, GenericNode, GenericEdge, WorkflowExport, WorkflowImportReport, WorkflowVisibility, ExecutionOutcome, NodeExecutionStateWire, Scene3DReference, Scene3DPlan, Scene3DEditOperation, Scene3DV2EditOperation, Pro3DRenderSource, Pro3DRenderEngine, Pro3DRenderQuality, Pro3DRenderStyle, Scene3DJobOutputAny, Pro3DRenderJobOutput as Pro3DRenderJobOutput$1, Pro3DRenderCapabilities, Scene3DPlanV2, Pro3DRenderQuote as Pro3DRenderQuote$1, ModelInputAdjustment, ConnectedReference, DescribedReference, VideoCharacterReference, SocialSearchParams, SocialPost, SocialPlatform, SocialSearchMode, Scene3DAssetRef, OAuthScope, TtsProvider, EntityStyle, CharacterAspectRatio, CharacterAttachColumn, LocationAssetType, LocationAttachColumn, SurroundDirection, ObjectAssetType, ObjectAttachColumn, ObjectAspectRatio, CreatureAttachColumn, PipelineInput, PipelineStatus, PipelineMode, PipelineStageName, AnimateSubGate, ChatEnabledStage, ProposedChange, ReduceStrategyId, ReduceMeta, Voice, VoiceLibraryParams, VoiceLibraryResponse, VoiceClone, AudioFxPreset, DialogueProvider, CaptionLookId, SupportedFontName, TranscribeLane, CaptionStyle, OverlayAnchor, VideoOverlayRequest, TranscribeProvider, Transcript, ListSavedPostsParams, ListSavedPostsResult, SavePostInput, SavedPost, SavedPostsLookupResult, UpdateSavedPostInput, ListCollectionsResult, Collection, CreateCollectionInput, UpdateCollectionInput, ListCollectionRecordsParams, ListCollectionRecordsResult, CollectionRecord, BulkCollectionRecordsInput, BulkCollectionRecordsResult, CollectionRecordSource, AddCollectionRecordInput, AddCollectionRecordResult, CollectionExportFormat, CollectionUsage, TrackedCompetitor, CompetitorListResult, CompetitorDetail, CompetitorHistory, CompetitorCompareInput, CompetitorCompareResult, CreateCompetitorInput, UpdateCompetitorInput, CompetitorCardsResult, CompetitorLessonsResult, CompetitorActionsResult, CardActionResult, CompetitorDiscovery, CharacterMotionMetadata, RecastSegmentPack, BrowseCommunityParams, BrowseCommunityResult, CommunityCard, CommunityFullDetail, CommunityEntityType, CloneListingResult, FavoriteListingResult, CommunityReportReason, ReportListingResult, PublishListingParams, PublishListingResult, SharedListing, OrganizationView, OrgKind, OrgSettings, OrgPage, OrgMemberView, MemberStatus, WorkspaceRole, InvitationDelivery, InvitationState, InvitationView, InvitationPreview, OrgAuditEntry, UsageQuery, UsageReport, UsageLogEntry, WorkspaceSummary, WorkspaceView, WorkspaceSettings, WorkspaceMemberView, JoinCodeView, Edl, EditPlanMode, EditPlanTier, MeOrganizations } from '@nodaro/shared';
3
3
  export { ActionCard, ActionCardKind, ActionCardPriority, AddCollectionRecordInput, AddCollectionRecordResult, AdviceFamily, AdviceRecord, AnimateSubGate, AudioFxPreset, BrandLesson, BrandLessonKind, BrandLessons, BrandPlatformLessons, BrowseCommunityParams, BrowseCommunityResult, CHARACTER_ASPECT_DEFAULTS, CHARACTER_ASPECT_OPTIONS, CHARACTER_STYLES, OBJECT_ASPECT_DEFAULTS as CREATURE_ASPECT_DEFAULTS, OBJECT_ASPECT_OPTIONS as CREATURE_ASPECT_OPTIONS, CREATURE_ATTACH_COLUMNS, CardAction, CardActionResult, CardOutcome, CardOutcomeState, CardSnapshot, CardVerdict, ChapterSet, CharacterAspectRatio, ChatEnabledStage, CloneListingResult, Collection, CollectionCaps, CollectionDigestFormat, CollectionExportFormat, CollectionFieldValue, CollectionLimits, CollectionMedia, CollectionMediaType, CollectionRecord, CollectionRecordSource, CollectionWriteOutcome, CommunityCard, CommunityEntityType, CommunityFullDetail, CommunityReportReason, CommunitySort, CompetitorAboutPlatform, CompetitorAccountKey, CompetitorAccounts, CompetitorActionsResult, CompetitorBrandTally, CompetitorCardsResult, CompetitorCompareInput, CompetitorCompareResult, CompetitorDetail, CompetitorDiscovery, CompetitorHistory, CompetitorHistoryPlatform, CompetitorHistoryPoint, CompetitorLessonsResult, CompetitorListResult, CompetitorPeriod, CompetitorPeriodFollowers, CompetitorPeriodPlatform, CompetitorPlatformTally, CompetitorPost, CompetitorScan, CompetitorScanCounts, CompetitorScanSummary, CompetitorSchedule, CompetitorSearch, CompetitorSearchKind, ConnectedReference, CreateCollectionInput, CreateCompetitorInput, ObjectAspectRatio as CreatureAspectRatio, CreatureAttachColumn, DescribedReference, EditPlanMode, EditPlanTier, Edl, EdlClipSet, EntityStyle, ExecutionOutcome, FavoriteListingResult, GeminiOmniVoicePresetId, GenericEdge, GenericNode, InvitationDelivery, InvitationPreview, InvitationState, InvitationView, JoinCodeView, LOCATION_ASSET_TYPES, LOCATION_ATTACH_COLUMNS, ListCollectionRecordsParams, ListCollectionRecordsResult, ListCollectionsResult, ListSavedPostsParams, ListSavedPostsResult, LocationAssetType, LocationAttachColumn, MarkCardInput, MeOrganizations, MemberStatus, NodeExecutionStatus, NodeSkipReason, OBJECT_ASPECT_DEFAULTS, OBJECT_ASPECT_OPTIONS, OBJECT_ASSET_TYPES, OBJECT_ATTACH_COLUMNS, OUTPUT_BEARING_NODE_STATUSES, ObjectAspectRatio, ObjectAssetType, ObjectAttachColumn, OrgAuditEntry, OrgErrorCode, OrgKind, OrgMemberView, OrgPage, OrgRole, OrgSettings, OrgStatus, OrganizationSummary, OrganizationView, PROMPT_PREFIX_KEY, PROMPT_SUFFIX_KEY, PipelineInput, PipelineMode, PipelineStageName, PipelineStatus, PromptAffixFields, ProposedChange, PublishListingParams, PublishListingResult, RECAST_SEGMENT_PACKS, RecastSegmentPack, ReduceMeta, ReduceStrategyId, ReportListingResult, SURROUND_DIRECTIONS, SavePostInput, SavedPost, SavedPostSource, SavedPostsLookupResult, SharedListing, SharedVoice, SocialPlatform, SocialPost, SocialPostAuthor, SocialPostMedia, SocialPostMetrics, SocialSearchCount, SocialSearchMode, SocialSearchParams, SocialSearchPeriod, SocialSearchSort, SocialSearchVideoKind, SubGateName, SurroundDirection, TrackedCompetitor, TranscribeLane, TranscribeProvider, Transcript, USAGE_GROUP_BYS, UpdateCardActionInput, UpdateCollectionInput, UpdateCompetitorInput, UpdateSavedPostInput, UsageGroupBy, UsageLogEntry, UsageQuery, UsageReport, UsageReportRow, UsageReportTotals, UsageVarianceRow, VideoCharacterReference, VideoCharacterVoice, Voice, VoiceClone, VoiceLibraryParams, VoiceLibraryResponse, WORKSPACE_HEADER, WorkflowExport, WorkflowExportCharacter, WorkflowExportLocation, WorkflowExportObject, WorkspaceMemberView, WorkspaceRole, WorkspaceSettings, WorkspaceSummary, WorkspaceView, nodeStateMayCarryOutput, unwrapEditPlanOutput } from '@nodaro/shared';
4
4
  import { DirectionFields, SubjectFields, PersonValue, WizardNodeContext, WizardQuestion, WizardSelection, RecommendedModel, FactoryPreset } from '@nodaro/prompts';
5
5
  export { PEOPLE, PERSON_DIMENSION_LABELS, PERSON_DIMENSION_ORDER, PersonValue, RecommendedModel, WizardNodeContext, WizardOption, WizardQuestion, WizardSelection, buildPersonHints } from '@nodaro/prompts';
@@ -2783,7 +2783,7 @@ interface GenerateSurroundContinuationInput {
2783
2783
  refineProvider?: "recraft-upscale" | "topaz-image-upscale";
2784
2784
  /** Optional free-form scene hint woven into the fill prompt. */
2785
2785
  userPrompt?: string;
2786
- /** Image model. Studio pins `nano-banana-pro`; default `nano-banana`. */
2786
+ /** Image model. Defaults to the platform's general image model (`gpt-image-2`). */
2787
2787
  provider?: string;
2788
2788
  /** Studio pins `"16:9"` so every ring view matches the establishing frame. */
2789
2789
  aspectRatio?: CharacterAspectRatio;
@@ -4372,10 +4372,10 @@ interface CommonInput {
4372
4372
  /** Reasoning effort level (model-dependent). */
4373
4373
  reasoningEffort?: string;
4374
4374
  /**
4375
- * Gemini models only. Runs the request on the provider's own API so
4375
+ * Gemini and Claude models. Runs the request on the provider's own API so
4376
4376
  * `temperature`, `maxTokens` and the full reasoning range actually take
4377
4377
  * effect — on the default lane those levers are not reliably honoured.
4378
- * Bills one credit tier up, capped at premium. A model without a direct lane returns
4378
+ * Bills one credit rung up (a premium model moves to premium-direct). A model without a direct lane returns
4379
4379
  * `400 advanced_mode_unsupported`.
4380
4380
  */
4381
4381
  advancedMode?: boolean;
@@ -5954,8 +5954,24 @@ declare class CollectionsResource {
5954
5954
  update(id: string, input: UpdateCollectionInput): Promise<Collection>;
5955
5955
  /** `DELETE /v1/collections/:id` → remove a collection and every record in it. */
5956
5956
  delete(id: string): Promise<void>;
5957
- /** `GET /v1/collections/:id/records` → the records, newest first. Narrow with `q` (words) and `since` (ISO); page with `cursor` / `limit` (1-100, default 50). */
5957
+ /**
5958
+ * `GET /v1/collections/:id/records` → the records, newest first (`order: "oldest"`
5959
+ * flips it). Narrow with `q` (words), `since` / `until` (ISO) and `usage`
5960
+ * (`all`, `unused` — not used yet — or `used`); page with `cursor` / `limit`
5961
+ * (1-100, default 50). Each record carries `usedAt` / `usedBy`, and its
5962
+ * `source` the saving workflow's name and project when it is yours.
5963
+ */
5958
5964
  records(id: string, params?: ListCollectionRecordsParams): Promise<ListCollectionRecordsResult>;
5965
+ /** `POST /v1/collections/:id/records/:recordId/restore` → bring a record back from the Trash; the record. */
5966
+ restoreRecord(id: string, recordId: string): Promise<CollectionRecord>;
5967
+ /** `POST /v1/collections/:id/records/bulk` → move up to 100 records to the Trash, bring them back, or delete records already in the Trash for good, in one call. */
5968
+ bulkRecords(id: string, input: BulkCollectionRecordsInput): Promise<BulkCollectionRecordsResult>;
5969
+ /**
5970
+ * `PATCH /v1/collections/:id/records/:recordId` → mark a record used (or not
5971
+ * used again). `source` says who is marking it (defaults to the API). A
5972
+ * server before the usage release answers `503 not_available`.
5973
+ */
5974
+ setUsed(id: string, recordId: string, used: boolean, source?: CollectionRecordSource): Promise<CollectionRecord>;
5959
5975
  /**
5960
5976
  * `POST /v1/collections/:id/records` → save one record. Give the fields, or
5961
5977
  * `item` (any JSON — a feed post, a search result) and let the server map it;
@@ -5966,12 +5982,20 @@ declare class CollectionsResource {
5966
5982
  addRecord(id: string, input: AddCollectionRecordInput, opts?: {
5967
5983
  idempotencyKey?: string;
5968
5984
  }): Promise<AddCollectionRecordResult>;
5969
- /** `DELETE /v1/collections/:id/records/:recordId` → remove one record. */
5985
+ /**
5986
+ * `DELETE /v1/collections/:id/records/:recordId` → the record moves to the
5987
+ * collection's Trash (`restoreRecord` brings it back; `deleteRecordForever`
5988
+ * removes it for good).
5989
+ */
5970
5990
  deleteRecord(id: string, recordId: string): Promise<void>;
5971
- /** `GET /v1/collections/:id/export` → the whole collection as CSV (default) or JSON text, newest first; `since` and `q` narrow it. */
5991
+ /** `DELETE /v1/collections/:id/records/:recordId/permanent` → a record already in the Trash is deleted for good (`409 not_in_trash` for a live one). */
5992
+ deleteRecordForever(id: string, recordId: string): Promise<void>;
5993
+ /** `GET /v1/collections/:id/export` → the whole collection as CSV (default) or JSON text, newest first; `since`, `until`, `usage` and `q` narrow it. */
5972
5994
  export(id: string, params?: {
5973
5995
  format?: CollectionExportFormat;
5974
5996
  since?: string;
5997
+ until?: string;
5998
+ usage?: CollectionUsage;
5975
5999
  q?: string;
5976
6000
  }): Promise<string>;
5977
6001
  }
package/dist/index.js CHANGED
@@ -2724,10 +2724,44 @@ var CollectionsResource = class {
2724
2724
  async delete(id) {
2725
2725
  await this.client.request("DELETE", `/v1/collections/${encodeURIComponent(id)}`);
2726
2726
  }
2727
- /** `GET /v1/collections/:id/records` → the records, newest first. Narrow with `q` (words) and `since` (ISO); page with `cursor` / `limit` (1-100, default 50). */
2727
+ /**
2728
+ * `GET /v1/collections/:id/records` → the records, newest first (`order: "oldest"`
2729
+ * flips it). Narrow with `q` (words), `since` / `until` (ISO) and `usage`
2730
+ * (`all`, `unused` — not used yet — or `used`); page with `cursor` / `limit`
2731
+ * (1-100, default 50). Each record carries `usedAt` / `usedBy`, and its
2732
+ * `source` the saving workflow's name and project when it is yours.
2733
+ */
2728
2734
  records(id, params = {}) {
2729
2735
  return this.client.request("GET", `/v1/collections/${encodeURIComponent(id)}/records`, {
2730
- query: { q: params.q, since: params.since, cursor: params.cursor, limit: params.limit }
2736
+ query: {
2737
+ q: params.q,
2738
+ since: params.since,
2739
+ until: params.until,
2740
+ usage: params.usage,
2741
+ status: params.status,
2742
+ order: params.order,
2743
+ cursor: params.cursor,
2744
+ offset: params.offset,
2745
+ limit: params.limit
2746
+ }
2747
+ });
2748
+ }
2749
+ /** `POST /v1/collections/:id/records/:recordId/restore` → bring a record back from the Trash; the record. */
2750
+ restoreRecord(id, recordId) {
2751
+ return this.client.request("POST", `/v1/collections/${encodeURIComponent(id)}/records/${encodeURIComponent(recordId)}/restore`);
2752
+ }
2753
+ /** `POST /v1/collections/:id/records/bulk` → move up to 100 records to the Trash, bring them back, or delete records already in the Trash for good, in one call. */
2754
+ bulkRecords(id, input) {
2755
+ return this.client.request("POST", `/v1/collections/${encodeURIComponent(id)}/records/bulk`, { body: input });
2756
+ }
2757
+ /**
2758
+ * `PATCH /v1/collections/:id/records/:recordId` → mark a record used (or not
2759
+ * used again). `source` says who is marking it (defaults to the API). A
2760
+ * server before the usage release answers `503 not_available`.
2761
+ */
2762
+ setUsed(id, recordId, used, source) {
2763
+ return this.client.request("PATCH", `/v1/collections/${encodeURIComponent(id)}/records/${encodeURIComponent(recordId)}`, {
2764
+ body: { used, ...source ? { source } : {} }
2731
2765
  });
2732
2766
  }
2733
2767
  /**
@@ -2743,17 +2777,22 @@ var CollectionsResource = class {
2743
2777
  ...opts.idempotencyKey ? { headers: { "Idempotency-Key": opts.idempotencyKey } } : {}
2744
2778
  });
2745
2779
  }
2746
- /** `DELETE /v1/collections/:id/records/:recordId` → remove one record. */
2780
+ /**
2781
+ * `DELETE /v1/collections/:id/records/:recordId` → the record moves to the
2782
+ * collection's Trash (`restoreRecord` brings it back; `deleteRecordForever`
2783
+ * removes it for good).
2784
+ */
2747
2785
  async deleteRecord(id, recordId) {
2748
- await this.client.request(
2749
- "DELETE",
2750
- `/v1/collections/${encodeURIComponent(id)}/records/${encodeURIComponent(recordId)}`
2751
- );
2786
+ await this.client.request("DELETE", `/v1/collections/${encodeURIComponent(id)}/records/${encodeURIComponent(recordId)}`);
2787
+ }
2788
+ /** `DELETE /v1/collections/:id/records/:recordId/permanent` → a record already in the Trash is deleted for good (`409 not_in_trash` for a live one). */
2789
+ async deleteRecordForever(id, recordId) {
2790
+ await this.client.request("DELETE", `/v1/collections/${encodeURIComponent(id)}/records/${encodeURIComponent(recordId)}/permanent`);
2752
2791
  }
2753
- /** `GET /v1/collections/:id/export` → the whole collection as CSV (default) or JSON text, newest first; `since` and `q` narrow it. */
2792
+ /** `GET /v1/collections/:id/export` → the whole collection as CSV (default) or JSON text, newest first; `since`, `until`, `usage` and `q` narrow it. */
2754
2793
  export(id, params = {}) {
2755
2794
  return this.client.requestText("GET", `/v1/collections/${encodeURIComponent(id)}/export`, {
2756
- query: { format: params.format, since: params.since, q: params.q }
2795
+ query: { format: params.format, since: params.since, until: params.until, usage: params.usage, q: params.q }
2757
2796
  });
2758
2797
  }
2759
2798
  };
@@ -3975,7 +4014,7 @@ var EditResource = class {
3975
4014
  return remapTranscriptThroughEdl(edl, transcript);
3976
4015
  }
3977
4016
  };
3978
- var SDK_VERSION = "2.21.0" ;
4017
+ var SDK_VERSION = "2.22.0" ;
3979
4018
  var CLIENT_HEADER = "X-Nodaro-Client";
3980
4019
  var isBrowser = () => typeof window !== "undefined" && typeof window.document !== "undefined";
3981
4020
  var NodaroClient = class _NodaroClient {