@itm-studio/partner-sdk 0.3.1 → 0.3.3

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/README.md CHANGED
@@ -1829,3 +1829,59 @@ When exposing a new backend endpoint to partners:
1829
1829
  3. Add tests in `tests/queries.test.ts`
1830
1830
  4. Open a PR — Hive will validate the schema change isn't breaking
1831
1831
  5. After merge, the schema is auto-published to Hive and a new SDK version can be released
1832
+
1833
+ ### Browse brand media (partners and agents)
1834
+
1835
+ `getPartnerMediaAssets` returns active assets linked to the authenticated brand,
1836
+ newest first. It defaults to 50 assets per page and caps `take` at 100. Follow
1837
+ `nextCursor` while `hasNextPage` is true; `totalCount` counts the matching library,
1838
+ not just this page. `mimeTypePrefix` is case-insensitive (`image/`, `video/`,
1839
+ `application/pdf`, etc.). Existing upload paths without a brand association are
1840
+ not included; an empty result does not prove the brand never uploaded a file.
1841
+
1842
+ ```ts
1843
+ const { getPartnerMediaAssets: page } = await client.query({
1844
+ getPartnerMediaAssets: {
1845
+ __args: { input: { take: 20, mimeTypePrefix: 'image/' } },
1846
+ mediaAssets: {
1847
+ uid: true, url: true, mimeType: true,
1848
+ dimensions: { width: true, height: true },
1849
+ transforms: { original: true, small: true, hls: true },
1850
+ createdAt: true,
1851
+ },
1852
+ totalCount: true, hasNextPage: true, nextCursor: true,
1853
+ },
1854
+ });
1855
+
1856
+ if (page.mediaAssets.length > 0) {
1857
+ const { getPartnerMediaAsset: asset } = await client.query({
1858
+ getPartnerMediaAsset: {
1859
+ __args: { uid: page.mediaAssets[0].uid },
1860
+ uid: true, url: true, mimeType: true,
1861
+ },
1862
+ });
1863
+ }
1864
+ ```
1865
+
1866
+ Only look up a UID after checking that a page contains an asset. Lookup returns
1867
+ `null` for missing, archived, unlinked, or other-brand assets. Transform fields
1868
+ may be null while processing is pending. Agents need `READ_MEDIA` for both reads.
1869
+
1870
+ Agent sessions may also use `getPartnerUploadUrl` and `createPartnerMediaAsset`
1871
+ with `UPLOAD_MEDIA`. PUT the bytes to the returned presigned URL, then register
1872
+ with the exact returned `filename` and the caller-supplied `mimetype` and
1873
+ `dimensions`. Add both
1874
+ `idempotencyKey` and `toolCallId` (nonblank, at most 255 characters) to registration.
1875
+ Persist the filename and registration payload before registering; after an
1876
+ unknown result, retry that same payload and key rather than requesting a fresh
1877
+ upload key. Replays return the same asset UID. The backend checks object existence
1878
+ and brand ownership and records an audit entry. Partner-token callers must omit
1879
+ both audit identifiers and retain their existing upload flow.
1880
+
1881
+ Deploy the backend media schema and migration before releasing this SDK contract.
1882
+
1883
+ ### Automatic operator CC for Eve
1884
+
1885
+ Agent-session email callers first query `getPartnerAgentEmailContext { operatorCcEmail }`, show that address with every email draft, and include `operatorCcEmail` in `SendPartnerAgentEmailInput` after approval. The backend verifies it against the authenticated admin, snapshots it on the batch, and CCs that address on each message. When the operator is already the primary recipient, no duplicate CC is added. Read the approved snapshot through `BrandAgentEmailSendBatch.operatorCcEmail`. A changed operator address before queuing requires a revised draft and approval; queued retries retain the original address.
1886
+
1887
+ Partner API-key callers cannot query operator context or supply operator CC. Existing partner sends and the brand Reply-To address retain their existing behavior.
package/dist/index.d.mts CHANGED
@@ -654,7 +654,12 @@ interface BrandAgentEmailSendMessage {
654
654
  lastErrorMessage: (Scalars['String'] | null);
655
655
  __typename: 'BrandAgentEmailSendMessage';
656
656
  }
657
+ interface BrandAgentEmailContext {
658
+ operatorCcEmail: Scalars['String'];
659
+ __typename: 'BrandAgentEmailContext';
660
+ }
657
661
  interface BrandAgentEmailSendBatch {
662
+ operatorCcEmail: (Scalars['String'] | null);
658
663
  uid: Scalars['String'];
659
664
  createdAt: Scalars['DateTime'];
660
665
  status: BrandAgentEmailSendBatchStatus;
@@ -674,7 +679,20 @@ interface AgentThreadSeedContext {
674
679
  truncated: Scalars['Boolean'];
675
680
  __typename: 'AgentThreadSeedContext';
676
681
  }
682
+ interface GetPartnerMediaAssetsResponse {
683
+ mediaAssets: MediaAsset[];
684
+ totalCount: Scalars['Int'];
685
+ hasNextPage: Scalars['Boolean'];
686
+ nextCursor: (Scalars['String'] | null);
687
+ __typename: 'GetPartnerMediaAssetsResponse';
688
+ }
677
689
  interface Query {
690
+ /** Get the authenticated agent operator email for the approval preview. Requires a brand-agent session with SEND_EMAIL; unavailable to partner API keys. */
691
+ getPartnerAgentEmailContext: BrandAgentEmailContext;
692
+ /** Active brand-linked assets, newest first. Defaults to 50, capped at 100. READ_MEDIA for agents. */
693
+ getPartnerMediaAssets: GetPartnerMediaAssetsResponse;
694
+ /** An active asset linked to the caller's brand; null when unavailable. READ_MEDIA for agents. */
695
+ getPartnerMediaAsset: (MediaAsset | null);
678
696
  /** Get details for the brand associated with the partner token. */
679
697
  getPartnerBrand: PartnerBrand;
680
698
  /** Retrieve one AgentMail send batch owned by the authenticated partner brand. */
@@ -772,10 +790,19 @@ interface MediaAsset {
772
790
  size: Scalars['Int'];
773
791
  placeholderUrl: (Scalars['String'] | null);
774
792
  blurhash: (Scalars['String'] | null);
793
+ transforms: (Transforms | null);
775
794
  createdAt: Scalars['DateTime'];
776
795
  updatedAt: Scalars['DateTime'];
777
796
  __typename: 'MediaAsset';
778
797
  }
798
+ interface Transforms {
799
+ original: Scalars['String'];
800
+ small: (Scalars['String'] | null);
801
+ medium: (Scalars['String'] | null);
802
+ large: (Scalars['String'] | null);
803
+ hls: (Scalars['String'] | null);
804
+ __typename: 'Transforms';
805
+ }
779
806
  interface CreatePartnerBrandSubscriptionResponse {
780
807
  subscription: (BrandSubscription | null);
781
808
  verificationRequired: Scalars['Boolean'];
@@ -1546,7 +1573,13 @@ interface BrandAgentEmailSendMessageGenqlSelection {
1546
1573
  __typename?: boolean | number;
1547
1574
  __scalar?: boolean | number;
1548
1575
  }
1576
+ interface BrandAgentEmailContextGenqlSelection {
1577
+ operatorCcEmail?: boolean | number;
1578
+ __typename?: boolean | number;
1579
+ __scalar?: boolean | number;
1580
+ }
1549
1581
  interface BrandAgentEmailSendBatchGenqlSelection {
1582
+ operatorCcEmail?: boolean | number;
1550
1583
  uid?: boolean | number;
1551
1584
  createdAt?: boolean | number;
1552
1585
  status?: boolean | number;
@@ -1568,7 +1601,35 @@ interface AgentThreadSeedContextGenqlSelection {
1568
1601
  __typename?: boolean | number;
1569
1602
  __scalar?: boolean | number;
1570
1603
  }
1604
+ interface GetPartnerMediaAssetsInput {
1605
+ cursor?: (Scalars['String'] | null);
1606
+ take?: (Scalars['Int'] | null);
1607
+ /** Case-insensitive MIME prefix, for example image/ or application/pdf. */
1608
+ mimeTypePrefix?: (Scalars['String'] | null);
1609
+ }
1610
+ interface GetPartnerMediaAssetsResponseGenqlSelection {
1611
+ mediaAssets?: MediaAssetGenqlSelection;
1612
+ totalCount?: boolean | number;
1613
+ hasNextPage?: boolean | number;
1614
+ nextCursor?: boolean | number;
1615
+ __typename?: boolean | number;
1616
+ __scalar?: boolean | number;
1617
+ }
1571
1618
  interface QueryGenqlSelection {
1619
+ /** Get the authenticated agent operator email for the approval preview. Requires a brand-agent session with SEND_EMAIL; unavailable to partner API keys. */
1620
+ getPartnerAgentEmailContext?: BrandAgentEmailContextGenqlSelection;
1621
+ /** Active brand-linked assets, newest first. Defaults to 50, capped at 100. READ_MEDIA for agents. */
1622
+ getPartnerMediaAssets?: (GetPartnerMediaAssetsResponseGenqlSelection & {
1623
+ __args: {
1624
+ input: GetPartnerMediaAssetsInput;
1625
+ };
1626
+ });
1627
+ /** An active asset linked to the caller's brand; null when unavailable. READ_MEDIA for agents. */
1628
+ getPartnerMediaAsset?: (MediaAssetGenqlSelection & {
1629
+ __args: {
1630
+ uid: Scalars['String'];
1631
+ };
1632
+ });
1572
1633
  /** Get details for the brand associated with the partner token. */
1573
1634
  getPartnerBrand?: PartnerBrandGenqlSelection;
1574
1635
  /** Retrieve one AgentMail send batch owned by the authenticated partner brand. */
@@ -1744,6 +1805,8 @@ interface BrandAgentEmailMessageInput {
1744
1805
  text: Scalars['String'];
1745
1806
  }
1746
1807
  interface SendPartnerAgentEmailInput {
1808
+ /** Required for agent callers: operator CC from getPartnerAgentEmailContext, shown in the approved draft. Partner callers cannot set this. */
1809
+ operatorCcEmail?: (Scalars['String'] | null);
1747
1810
  /** Stable business idempotency key for this logical batch. */
1748
1811
  idempotencyKey: Scalars['String'];
1749
1812
  /** One to ten personalized, single-recipient plain-text emails. */
@@ -2009,11 +2072,21 @@ interface MediaAssetGenqlSelection {
2009
2072
  size?: boolean | number;
2010
2073
  placeholderUrl?: boolean | number;
2011
2074
  blurhash?: boolean | number;
2075
+ transforms?: TransformsGenqlSelection;
2012
2076
  createdAt?: boolean | number;
2013
2077
  updatedAt?: boolean | number;
2014
2078
  __typename?: boolean | number;
2015
2079
  __scalar?: boolean | number;
2016
2080
  }
2081
+ interface TransformsGenqlSelection {
2082
+ original?: boolean | number;
2083
+ small?: boolean | number;
2084
+ medium?: boolean | number;
2085
+ large?: boolean | number;
2086
+ hls?: boolean | number;
2087
+ __typename?: boolean | number;
2088
+ __scalar?: boolean | number;
2089
+ }
2017
2090
  interface CreatePartnerBrandSubscriptionResponseGenqlSelection {
2018
2091
  subscription?: BrandSubscriptionGenqlSelection;
2019
2092
  verificationRequired?: boolean | number;
@@ -2041,6 +2114,10 @@ interface MutationGenqlSelection {
2041
2114
  mimetype: Scalars['String'];
2042
2115
  filename: Scalars['String'];
2043
2116
  dimensions: DimensionsInput;
2117
+ /** Required for agent sessions; omit for partner tokens. Reuse with the same upload payload on retry. */
2118
+ idempotencyKey?: (Scalars['String'] | null);
2119
+ /** Required for agent sessions; omit for partner tokens. */
2120
+ toolCallId?: (Scalars['String'] | null);
2044
2121
  };
2045
2122
  });
2046
2123
  /**
@@ -2300,4 +2377,4 @@ type ITMPartnerClient = Client;
2300
2377
  */
2301
2378
  declare function createITMPartnerClient(config: ITMPartnerClientConfig): ITMPartnerClient;
2302
2379
 
2303
- export { type AgentThreadSeedContext, type ApplyDynamicPricingInput, type BrandAgentEmailMessageInput, type BrandAgentEmailSendBatch, type BrandAgentEmailSendBatchStatus, type BrandAgentEmailSendMessage, type BrandAgentEmailSendMessageStatus, type BrandDrop, type BrandDropCtaType, type BrandDropMusicLink, type BrandSubscription, type ConsentStatus, type CreateMomentOnlineConfigInput, type CreatePartnerBrandSubscriptionInput, type CreatePartnerBrandSubscriptionResponse, type CreatePartnerMomentInput, type CreatePartnerTicketTierInput, type Currency, DEFAULT_API_URL, type Dimensions, type DimensionsInput, type DynamicPricingActorType, type DynamicPricingAdmissionWindow, type DynamicPricingBatch, type DynamicPricingBatchEvent, type DynamicPricingBatchEventType, type DynamicPricingBatchItem, type DynamicPricingBatchItemStatus, type DynamicPricingBatchStatus, type DynamicPricingContext, type DynamicPricingExecutionMode, type DynamicPricingInventoryGuardInput, type DynamicPricingInventoryGuardMode, type DynamicPricingInventoryMetric, type DynamicPricingMomentInput, type DynamicPricingTierContext, type DynamicPricingTierUpdateInput, type Echo, type EchoMediaAsset, type EchoType, type EditPartnerTicketTiersForMomentInput, type EventImportPlatform, GenqlError, type GetBrandEchoesForUserResponse, type GetMomentLineupsResponse, type GetMomentTagAssignmentsResponse, type GetPartnerAudienceInput, type GetPartnerAudienceResponse, type GetPartnerCustomersResponse, type GetPartnerDropsResponse, type GetPartnerTicketTiersForMomentInput, type GetPartnerTicketTiersForMomentResponse, type GetPublicMomentsResponse, type GetTicketsResponse, type ITMPartnerAgentAccessConfig, type ITMPartnerAgentAccessCredentials, type ITMPartnerAgentSessionConfig, type ITMPartnerAgentSessionCredentials, type ITMPartnerClient, type ITMPartnerClientConfig, type ITMPartnerHeaders, type ITMPartnerHeadersObject, type ITMPartnerTokenConfig, type MediaAsset, type MediaAssetUploadUrl, type MerchPurchase, type Moment, type MomentCategory, type MomentCollection, type MomentCollectionLink, type MomentDiscountCodeUsage, type MomentDynamicPricingPolicy, type MomentDynamicPricingTierRule, type MomentLineup, type MomentLineupDisplayLabel, type MomentLineupResponseResult, type MomentLineupStatus, type MomentLineupType, type MomentOnlineProvider, type MomentSortOrder, type MomentStatus, type MomentSubcategory, type MomentTagAssignment, type MomentType, type MusicReleaseType, type Mutation, type PaginationInput, type PartnerAudienceCustomer, type PartnerAudienceFiltersInput, type PartnerAudienceSortField, type PartnerAudienceSortInput, type PartnerBrand, type PartnerCustomer, type PartnerMomentAttendanceCount, type PartnerMomentAttendanceLookupInput, type PartnerMomentAttendanceStats, type PartnerMomentGuestlistAttendance, type PartnerMomentGuestlistLabelAttendance, type PartnerMomentStats, type PartnerMomentTicketAttendance, type PartnerMomentTicketTierAttendance, type PartnerMomentsFiltersInput, type PartnerTicketTier, type PartnerTicketTierUpdateInput, type Payment, type PaymentStatus, type PostSubscriptionEmailInput, type PostSubscriptionMessageInput, type PostSubscriptionPushInput, type PostSubscriptionSmsInput, type PublicMomentLineupInfo, type Query, type RespondToMomentLineupInput, type SendPartnerAgentEmailInput, type SortDirection, type SubscriptionComplianceInput, type Tag, type TagSource, type ThirdPartyEchoType, type Ticket, type TicketAdmissionWindowSource, type TicketAttendanceMode, type TicketExtension, type TicketExtensionStatus, type TicketTier, type User, type UserSource, type Venue, type VenueInput, type VerifyPartnerBrandSubscriptionInput, createITMPartnerClient, everything, generateMutationOp, generateQueryOp };
2380
+ export { type AgentThreadSeedContext, type ApplyDynamicPricingInput, type BrandAgentEmailMessageInput, type BrandAgentEmailSendBatch, type BrandAgentEmailSendBatchStatus, type BrandAgentEmailSendMessage, type BrandAgentEmailSendMessageStatus, type BrandDrop, type BrandDropCtaType, type BrandDropMusicLink, type BrandSubscription, type ConsentStatus, type CreateMomentOnlineConfigInput, type CreatePartnerBrandSubscriptionInput, type CreatePartnerBrandSubscriptionResponse, type CreatePartnerMomentInput, type CreatePartnerTicketTierInput, type Currency, DEFAULT_API_URL, type Dimensions, type DimensionsInput, type DynamicPricingActorType, type DynamicPricingAdmissionWindow, type DynamicPricingBatch, type DynamicPricingBatchEvent, type DynamicPricingBatchEventType, type DynamicPricingBatchItem, type DynamicPricingBatchItemStatus, type DynamicPricingBatchStatus, type DynamicPricingContext, type DynamicPricingExecutionMode, type DynamicPricingInventoryGuardInput, type DynamicPricingInventoryGuardMode, type DynamicPricingInventoryMetric, type DynamicPricingMomentInput, type DynamicPricingTierContext, type DynamicPricingTierUpdateInput, type Echo, type EchoMediaAsset, type EchoType, type EditPartnerTicketTiersForMomentInput, type EventImportPlatform, GenqlError, type GetBrandEchoesForUserResponse, type GetMomentLineupsResponse, type GetMomentTagAssignmentsResponse, type GetPartnerAudienceInput, type GetPartnerAudienceResponse, type GetPartnerCustomersResponse, type GetPartnerDropsResponse, type GetPartnerMediaAssetsInput, type GetPartnerMediaAssetsResponse, type GetPartnerTicketTiersForMomentInput, type GetPartnerTicketTiersForMomentResponse, type GetPublicMomentsResponse, type GetTicketsResponse, type ITMPartnerAgentAccessConfig, type ITMPartnerAgentAccessCredentials, type ITMPartnerAgentSessionConfig, type ITMPartnerAgentSessionCredentials, type ITMPartnerClient, type ITMPartnerClientConfig, type ITMPartnerHeaders, type ITMPartnerHeadersObject, type ITMPartnerTokenConfig, type MediaAsset, type MediaAssetUploadUrl, type MerchPurchase, type Moment, type MomentCategory, type MomentCollection, type MomentCollectionLink, type MomentDiscountCodeUsage, type MomentDynamicPricingPolicy, type MomentDynamicPricingTierRule, type MomentLineup, type MomentLineupDisplayLabel, type MomentLineupResponseResult, type MomentLineupStatus, type MomentLineupType, type MomentOnlineProvider, type MomentSortOrder, type MomentStatus, type MomentSubcategory, type MomentTagAssignment, type MomentType, type MusicReleaseType, type Mutation, type PaginationInput, type PartnerAudienceCustomer, type PartnerAudienceFiltersInput, type PartnerAudienceSortField, type PartnerAudienceSortInput, type PartnerBrand, type PartnerCustomer, type PartnerMomentAttendanceCount, type PartnerMomentAttendanceLookupInput, type PartnerMomentAttendanceStats, type PartnerMomentGuestlistAttendance, type PartnerMomentGuestlistLabelAttendance, type PartnerMomentStats, type PartnerMomentTicketAttendance, type PartnerMomentTicketTierAttendance, type PartnerMomentsFiltersInput, type PartnerTicketTier, type PartnerTicketTierUpdateInput, type Payment, type PaymentStatus, type PostSubscriptionEmailInput, type PostSubscriptionMessageInput, type PostSubscriptionPushInput, type PostSubscriptionSmsInput, type PublicMomentLineupInfo, type Query, type RespondToMomentLineupInput, type SendPartnerAgentEmailInput, type SortDirection, type SubscriptionComplianceInput, type Tag, type TagSource, type ThirdPartyEchoType, type Ticket, type TicketAdmissionWindowSource, type TicketAttendanceMode, type TicketExtension, type TicketExtensionStatus, type TicketTier, type Transforms, type User, type UserSource, type Venue, type VenueInput, type VerifyPartnerBrandSubscriptionInput, createITMPartnerClient, everything, generateMutationOp, generateQueryOp };
package/dist/index.d.ts CHANGED
@@ -654,7 +654,12 @@ interface BrandAgentEmailSendMessage {
654
654
  lastErrorMessage: (Scalars['String'] | null);
655
655
  __typename: 'BrandAgentEmailSendMessage';
656
656
  }
657
+ interface BrandAgentEmailContext {
658
+ operatorCcEmail: Scalars['String'];
659
+ __typename: 'BrandAgentEmailContext';
660
+ }
657
661
  interface BrandAgentEmailSendBatch {
662
+ operatorCcEmail: (Scalars['String'] | null);
658
663
  uid: Scalars['String'];
659
664
  createdAt: Scalars['DateTime'];
660
665
  status: BrandAgentEmailSendBatchStatus;
@@ -674,7 +679,20 @@ interface AgentThreadSeedContext {
674
679
  truncated: Scalars['Boolean'];
675
680
  __typename: 'AgentThreadSeedContext';
676
681
  }
682
+ interface GetPartnerMediaAssetsResponse {
683
+ mediaAssets: MediaAsset[];
684
+ totalCount: Scalars['Int'];
685
+ hasNextPage: Scalars['Boolean'];
686
+ nextCursor: (Scalars['String'] | null);
687
+ __typename: 'GetPartnerMediaAssetsResponse';
688
+ }
677
689
  interface Query {
690
+ /** Get the authenticated agent operator email for the approval preview. Requires a brand-agent session with SEND_EMAIL; unavailable to partner API keys. */
691
+ getPartnerAgentEmailContext: BrandAgentEmailContext;
692
+ /** Active brand-linked assets, newest first. Defaults to 50, capped at 100. READ_MEDIA for agents. */
693
+ getPartnerMediaAssets: GetPartnerMediaAssetsResponse;
694
+ /** An active asset linked to the caller's brand; null when unavailable. READ_MEDIA for agents. */
695
+ getPartnerMediaAsset: (MediaAsset | null);
678
696
  /** Get details for the brand associated with the partner token. */
679
697
  getPartnerBrand: PartnerBrand;
680
698
  /** Retrieve one AgentMail send batch owned by the authenticated partner brand. */
@@ -772,10 +790,19 @@ interface MediaAsset {
772
790
  size: Scalars['Int'];
773
791
  placeholderUrl: (Scalars['String'] | null);
774
792
  blurhash: (Scalars['String'] | null);
793
+ transforms: (Transforms | null);
775
794
  createdAt: Scalars['DateTime'];
776
795
  updatedAt: Scalars['DateTime'];
777
796
  __typename: 'MediaAsset';
778
797
  }
798
+ interface Transforms {
799
+ original: Scalars['String'];
800
+ small: (Scalars['String'] | null);
801
+ medium: (Scalars['String'] | null);
802
+ large: (Scalars['String'] | null);
803
+ hls: (Scalars['String'] | null);
804
+ __typename: 'Transforms';
805
+ }
779
806
  interface CreatePartnerBrandSubscriptionResponse {
780
807
  subscription: (BrandSubscription | null);
781
808
  verificationRequired: Scalars['Boolean'];
@@ -1546,7 +1573,13 @@ interface BrandAgentEmailSendMessageGenqlSelection {
1546
1573
  __typename?: boolean | number;
1547
1574
  __scalar?: boolean | number;
1548
1575
  }
1576
+ interface BrandAgentEmailContextGenqlSelection {
1577
+ operatorCcEmail?: boolean | number;
1578
+ __typename?: boolean | number;
1579
+ __scalar?: boolean | number;
1580
+ }
1549
1581
  interface BrandAgentEmailSendBatchGenqlSelection {
1582
+ operatorCcEmail?: boolean | number;
1550
1583
  uid?: boolean | number;
1551
1584
  createdAt?: boolean | number;
1552
1585
  status?: boolean | number;
@@ -1568,7 +1601,35 @@ interface AgentThreadSeedContextGenqlSelection {
1568
1601
  __typename?: boolean | number;
1569
1602
  __scalar?: boolean | number;
1570
1603
  }
1604
+ interface GetPartnerMediaAssetsInput {
1605
+ cursor?: (Scalars['String'] | null);
1606
+ take?: (Scalars['Int'] | null);
1607
+ /** Case-insensitive MIME prefix, for example image/ or application/pdf. */
1608
+ mimeTypePrefix?: (Scalars['String'] | null);
1609
+ }
1610
+ interface GetPartnerMediaAssetsResponseGenqlSelection {
1611
+ mediaAssets?: MediaAssetGenqlSelection;
1612
+ totalCount?: boolean | number;
1613
+ hasNextPage?: boolean | number;
1614
+ nextCursor?: boolean | number;
1615
+ __typename?: boolean | number;
1616
+ __scalar?: boolean | number;
1617
+ }
1571
1618
  interface QueryGenqlSelection {
1619
+ /** Get the authenticated agent operator email for the approval preview. Requires a brand-agent session with SEND_EMAIL; unavailable to partner API keys. */
1620
+ getPartnerAgentEmailContext?: BrandAgentEmailContextGenqlSelection;
1621
+ /** Active brand-linked assets, newest first. Defaults to 50, capped at 100. READ_MEDIA for agents. */
1622
+ getPartnerMediaAssets?: (GetPartnerMediaAssetsResponseGenqlSelection & {
1623
+ __args: {
1624
+ input: GetPartnerMediaAssetsInput;
1625
+ };
1626
+ });
1627
+ /** An active asset linked to the caller's brand; null when unavailable. READ_MEDIA for agents. */
1628
+ getPartnerMediaAsset?: (MediaAssetGenqlSelection & {
1629
+ __args: {
1630
+ uid: Scalars['String'];
1631
+ };
1632
+ });
1572
1633
  /** Get details for the brand associated with the partner token. */
1573
1634
  getPartnerBrand?: PartnerBrandGenqlSelection;
1574
1635
  /** Retrieve one AgentMail send batch owned by the authenticated partner brand. */
@@ -1744,6 +1805,8 @@ interface BrandAgentEmailMessageInput {
1744
1805
  text: Scalars['String'];
1745
1806
  }
1746
1807
  interface SendPartnerAgentEmailInput {
1808
+ /** Required for agent callers: operator CC from getPartnerAgentEmailContext, shown in the approved draft. Partner callers cannot set this. */
1809
+ operatorCcEmail?: (Scalars['String'] | null);
1747
1810
  /** Stable business idempotency key for this logical batch. */
1748
1811
  idempotencyKey: Scalars['String'];
1749
1812
  /** One to ten personalized, single-recipient plain-text emails. */
@@ -2009,11 +2072,21 @@ interface MediaAssetGenqlSelection {
2009
2072
  size?: boolean | number;
2010
2073
  placeholderUrl?: boolean | number;
2011
2074
  blurhash?: boolean | number;
2075
+ transforms?: TransformsGenqlSelection;
2012
2076
  createdAt?: boolean | number;
2013
2077
  updatedAt?: boolean | number;
2014
2078
  __typename?: boolean | number;
2015
2079
  __scalar?: boolean | number;
2016
2080
  }
2081
+ interface TransformsGenqlSelection {
2082
+ original?: boolean | number;
2083
+ small?: boolean | number;
2084
+ medium?: boolean | number;
2085
+ large?: boolean | number;
2086
+ hls?: boolean | number;
2087
+ __typename?: boolean | number;
2088
+ __scalar?: boolean | number;
2089
+ }
2017
2090
  interface CreatePartnerBrandSubscriptionResponseGenqlSelection {
2018
2091
  subscription?: BrandSubscriptionGenqlSelection;
2019
2092
  verificationRequired?: boolean | number;
@@ -2041,6 +2114,10 @@ interface MutationGenqlSelection {
2041
2114
  mimetype: Scalars['String'];
2042
2115
  filename: Scalars['String'];
2043
2116
  dimensions: DimensionsInput;
2117
+ /** Required for agent sessions; omit for partner tokens. Reuse with the same upload payload on retry. */
2118
+ idempotencyKey?: (Scalars['String'] | null);
2119
+ /** Required for agent sessions; omit for partner tokens. */
2120
+ toolCallId?: (Scalars['String'] | null);
2044
2121
  };
2045
2122
  });
2046
2123
  /**
@@ -2300,4 +2377,4 @@ type ITMPartnerClient = Client;
2300
2377
  */
2301
2378
  declare function createITMPartnerClient(config: ITMPartnerClientConfig): ITMPartnerClient;
2302
2379
 
2303
- export { type AgentThreadSeedContext, type ApplyDynamicPricingInput, type BrandAgentEmailMessageInput, type BrandAgentEmailSendBatch, type BrandAgentEmailSendBatchStatus, type BrandAgentEmailSendMessage, type BrandAgentEmailSendMessageStatus, type BrandDrop, type BrandDropCtaType, type BrandDropMusicLink, type BrandSubscription, type ConsentStatus, type CreateMomentOnlineConfigInput, type CreatePartnerBrandSubscriptionInput, type CreatePartnerBrandSubscriptionResponse, type CreatePartnerMomentInput, type CreatePartnerTicketTierInput, type Currency, DEFAULT_API_URL, type Dimensions, type DimensionsInput, type DynamicPricingActorType, type DynamicPricingAdmissionWindow, type DynamicPricingBatch, type DynamicPricingBatchEvent, type DynamicPricingBatchEventType, type DynamicPricingBatchItem, type DynamicPricingBatchItemStatus, type DynamicPricingBatchStatus, type DynamicPricingContext, type DynamicPricingExecutionMode, type DynamicPricingInventoryGuardInput, type DynamicPricingInventoryGuardMode, type DynamicPricingInventoryMetric, type DynamicPricingMomentInput, type DynamicPricingTierContext, type DynamicPricingTierUpdateInput, type Echo, type EchoMediaAsset, type EchoType, type EditPartnerTicketTiersForMomentInput, type EventImportPlatform, GenqlError, type GetBrandEchoesForUserResponse, type GetMomentLineupsResponse, type GetMomentTagAssignmentsResponse, type GetPartnerAudienceInput, type GetPartnerAudienceResponse, type GetPartnerCustomersResponse, type GetPartnerDropsResponse, type GetPartnerTicketTiersForMomentInput, type GetPartnerTicketTiersForMomentResponse, type GetPublicMomentsResponse, type GetTicketsResponse, type ITMPartnerAgentAccessConfig, type ITMPartnerAgentAccessCredentials, type ITMPartnerAgentSessionConfig, type ITMPartnerAgentSessionCredentials, type ITMPartnerClient, type ITMPartnerClientConfig, type ITMPartnerHeaders, type ITMPartnerHeadersObject, type ITMPartnerTokenConfig, type MediaAsset, type MediaAssetUploadUrl, type MerchPurchase, type Moment, type MomentCategory, type MomentCollection, type MomentCollectionLink, type MomentDiscountCodeUsage, type MomentDynamicPricingPolicy, type MomentDynamicPricingTierRule, type MomentLineup, type MomentLineupDisplayLabel, type MomentLineupResponseResult, type MomentLineupStatus, type MomentLineupType, type MomentOnlineProvider, type MomentSortOrder, type MomentStatus, type MomentSubcategory, type MomentTagAssignment, type MomentType, type MusicReleaseType, type Mutation, type PaginationInput, type PartnerAudienceCustomer, type PartnerAudienceFiltersInput, type PartnerAudienceSortField, type PartnerAudienceSortInput, type PartnerBrand, type PartnerCustomer, type PartnerMomentAttendanceCount, type PartnerMomentAttendanceLookupInput, type PartnerMomentAttendanceStats, type PartnerMomentGuestlistAttendance, type PartnerMomentGuestlistLabelAttendance, type PartnerMomentStats, type PartnerMomentTicketAttendance, type PartnerMomentTicketTierAttendance, type PartnerMomentsFiltersInput, type PartnerTicketTier, type PartnerTicketTierUpdateInput, type Payment, type PaymentStatus, type PostSubscriptionEmailInput, type PostSubscriptionMessageInput, type PostSubscriptionPushInput, type PostSubscriptionSmsInput, type PublicMomentLineupInfo, type Query, type RespondToMomentLineupInput, type SendPartnerAgentEmailInput, type SortDirection, type SubscriptionComplianceInput, type Tag, type TagSource, type ThirdPartyEchoType, type Ticket, type TicketAdmissionWindowSource, type TicketAttendanceMode, type TicketExtension, type TicketExtensionStatus, type TicketTier, type User, type UserSource, type Venue, type VenueInput, type VerifyPartnerBrandSubscriptionInput, createITMPartnerClient, everything, generateMutationOp, generateQueryOp };
2380
+ export { type AgentThreadSeedContext, type ApplyDynamicPricingInput, type BrandAgentEmailMessageInput, type BrandAgentEmailSendBatch, type BrandAgentEmailSendBatchStatus, type BrandAgentEmailSendMessage, type BrandAgentEmailSendMessageStatus, type BrandDrop, type BrandDropCtaType, type BrandDropMusicLink, type BrandSubscription, type ConsentStatus, type CreateMomentOnlineConfigInput, type CreatePartnerBrandSubscriptionInput, type CreatePartnerBrandSubscriptionResponse, type CreatePartnerMomentInput, type CreatePartnerTicketTierInput, type Currency, DEFAULT_API_URL, type Dimensions, type DimensionsInput, type DynamicPricingActorType, type DynamicPricingAdmissionWindow, type DynamicPricingBatch, type DynamicPricingBatchEvent, type DynamicPricingBatchEventType, type DynamicPricingBatchItem, type DynamicPricingBatchItemStatus, type DynamicPricingBatchStatus, type DynamicPricingContext, type DynamicPricingExecutionMode, type DynamicPricingInventoryGuardInput, type DynamicPricingInventoryGuardMode, type DynamicPricingInventoryMetric, type DynamicPricingMomentInput, type DynamicPricingTierContext, type DynamicPricingTierUpdateInput, type Echo, type EchoMediaAsset, type EchoType, type EditPartnerTicketTiersForMomentInput, type EventImportPlatform, GenqlError, type GetBrandEchoesForUserResponse, type GetMomentLineupsResponse, type GetMomentTagAssignmentsResponse, type GetPartnerAudienceInput, type GetPartnerAudienceResponse, type GetPartnerCustomersResponse, type GetPartnerDropsResponse, type GetPartnerMediaAssetsInput, type GetPartnerMediaAssetsResponse, type GetPartnerTicketTiersForMomentInput, type GetPartnerTicketTiersForMomentResponse, type GetPublicMomentsResponse, type GetTicketsResponse, type ITMPartnerAgentAccessConfig, type ITMPartnerAgentAccessCredentials, type ITMPartnerAgentSessionConfig, type ITMPartnerAgentSessionCredentials, type ITMPartnerClient, type ITMPartnerClientConfig, type ITMPartnerHeaders, type ITMPartnerHeadersObject, type ITMPartnerTokenConfig, type MediaAsset, type MediaAssetUploadUrl, type MerchPurchase, type Moment, type MomentCategory, type MomentCollection, type MomentCollectionLink, type MomentDiscountCodeUsage, type MomentDynamicPricingPolicy, type MomentDynamicPricingTierRule, type MomentLineup, type MomentLineupDisplayLabel, type MomentLineupResponseResult, type MomentLineupStatus, type MomentLineupType, type MomentOnlineProvider, type MomentSortOrder, type MomentStatus, type MomentSubcategory, type MomentTagAssignment, type MomentType, type MusicReleaseType, type Mutation, type PaginationInput, type PartnerAudienceCustomer, type PartnerAudienceFiltersInput, type PartnerAudienceSortField, type PartnerAudienceSortInput, type PartnerBrand, type PartnerCustomer, type PartnerMomentAttendanceCount, type PartnerMomentAttendanceLookupInput, type PartnerMomentAttendanceStats, type PartnerMomentGuestlistAttendance, type PartnerMomentGuestlistLabelAttendance, type PartnerMomentStats, type PartnerMomentTicketAttendance, type PartnerMomentTicketTierAttendance, type PartnerMomentsFiltersInput, type PartnerTicketTier, type PartnerTicketTierUpdateInput, type Payment, type PaymentStatus, type PostSubscriptionEmailInput, type PostSubscriptionMessageInput, type PostSubscriptionPushInput, type PostSubscriptionSmsInput, type PublicMomentLineupInfo, type Query, type RespondToMomentLineupInput, type SendPartnerAgentEmailInput, type SortDirection, type SubscriptionComplianceInput, type Tag, type TagSource, type ThirdPartyEchoType, type Ticket, type TicketAdmissionWindowSource, type TicketAttendanceMode, type TicketExtension, type TicketExtensionStatus, type TicketTier, type Transforms, type User, type UserSource, type Venue, type VenueInput, type VerifyPartnerBrandSubscriptionInput, createITMPartnerClient, everything, generateMutationOp, generateQueryOp };