@itm-studio/partner-sdk 0.3.3 → 0.3.5

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@itm-studio/partner-sdk",
3
- "version": "0.3.3",
3
+ "version": "0.3.5",
4
4
  "description": "TypeScript SDK for the ITM Partner API — typed GraphQL client with zero introspection required",
5
5
  "main": "dist/index.js",
6
6
  "module": "dist/index.mjs",
@@ -1245,9 +1245,27 @@ type GetPartnerMediaAssetsResponse {
1245
1245
  nextCursor: String
1246
1246
  }
1247
1247
 
1248
+ input ReserveAgentMediaUploadInput {
1249
+ idempotencyKey: String!
1250
+ toolCallId: String!
1251
+ requestHash: String!
1252
+ }
1253
+
1254
+ type AgentMediaUploadReservation {
1255
+ uid: String!
1256
+ mayGenerate: Boolean!
1257
+ filename: String!
1258
+ uploadUrl: String
1259
+ downloadUrl: String!
1260
+ uploaded: Boolean!
1261
+ finishedAt: DateTime
1262
+ mediaAsset: MediaAsset
1263
+ }
1264
+
1248
1265
  type Query {
1249
1266
  """Get the authenticated agent operator email for the approval preview. Requires a brand-agent session with SEND_EMAIL; unavailable to partner API keys."""
1250
1267
  getPartnerAgentEmailContext: BrandAgentEmailContext!
1268
+ getAgentMediaUpload(uid: String!): AgentMediaUploadReservation!
1251
1269
 
1252
1270
  """Active brand-linked assets, newest first. Defaults to 50, capped at 100. READ_MEDIA for agents."""
1253
1271
  getPartnerMediaAssets(input: GetPartnerMediaAssetsInput!): GetPartnerMediaAssetsResponse!
@@ -1401,6 +1419,12 @@ type Query {
1401
1419
  Get public lineup invitation details by response token.
1402
1420
  """
1403
1421
  getMomentLineupByToken(token: String!): PublicMomentLineupInfo!
1422
+ getPartnerPlans(input: GetPlansInput!): GetPlansResponse!
1423
+ getPartnerPlan(planUid: String!): Plan!
1424
+ getPartnerPlanBudgets(planUid: String!): [PlanBudgetSummary!]!
1425
+ getPartnerPlanBudget(budgetUid: String!): PlanBudget!
1426
+ getPartnerPlanningSource(offset: Int! = 0, take: Int! = 50, uid: String!): PlanningSource!
1427
+ getPartnerPlanningProposal(uid: String!): PlanningProposal!
1404
1428
  }
1405
1429
 
1406
1430
  # ─── Input Types ──────────────────────────────────────────────────────────────
@@ -1740,6 +1764,9 @@ type CreatePartnerBrandSubscriptionResponse {
1740
1764
  # ─── Mutations ────────────────────────────────────────────────────────────────
1741
1765
 
1742
1766
  type Mutation {
1767
+ reserveAgentMediaUpload(input: ReserveAgentMediaUploadInput!): AgentMediaUploadReservation!
1768
+ finishAgentMediaUpload(uid: String!): Boolean!
1769
+
1743
1770
  """
1744
1771
  Get a presigned S3 URL for direct file upload.
1745
1772
  Rate limited to 30 requests per minute.
@@ -1758,6 +1785,7 @@ type Mutation {
1758
1785
  idempotencyKey: String
1759
1786
  """Required for agent sessions; omit for partner tokens."""
1760
1787
  toolCallId: String
1788
+ reservationUid: String
1761
1789
  ): MediaAsset!
1762
1790
 
1763
1791
  """
@@ -1803,4 +1831,458 @@ type Mutation {
1803
1831
  ): BrandSubscription!
1804
1832
 
1805
1833
  respondToMomentLineup(input: RespondToMomentLineupInput!): MomentLineupResponseResult!
1834
+ preparePartnerPlanningProposal(input: PreparePlanningProposalInput!, toolCallId: String!): PlanningProposal!
1835
+ decidePartnerPlanningProposal(approve: Boolean!, requestHash: String!, toolCallId: String!, uid: String!): PlanningProposal!
1836
+ }
1837
+
1838
+ # Planning and budget artifacts
1839
+ input GetPlansInput {
1840
+ cursor: String
1841
+ kind: PlanKind
1842
+ search: String
1843
+ status: PlanStatus
1844
+ tagNames: [String!]
1845
+ take: Int
1846
+ }
1847
+
1848
+ enum PlanKind {
1849
+ GENERAL
1850
+ LOCATION
1851
+ MOMENT
1852
+ }
1853
+
1854
+ enum PlanStatus {
1855
+ ACTIVE
1856
+ ARCHIVED
1857
+ }
1858
+
1859
+ type GetPlansResponse {
1860
+ hasNextPage: Boolean!
1861
+ nextCursor: String
1862
+ plans: [PlanSummary!]!
1863
+ totalCount: Int!
1864
+ }
1865
+
1866
+ type PlanSummary {
1867
+ createdAt: DateTime!
1868
+ description: String
1869
+ kind: PlanKind!
1870
+ moodboardItemCount: Int!
1871
+ moodboardRevision: Int!
1872
+ name: String!
1873
+ revision: Int!
1874
+ schedule: PlanSchedule
1875
+ scheduleRevision: Int!
1876
+ slug: String!
1877
+ status: PlanStatus!
1878
+ tags: [Tag!]!
1879
+ uid: ID!
1880
+ updatedAt: DateTime!
1881
+ }
1882
+
1883
+ type PlanSchedule {
1884
+ count: Int
1885
+ createdAt: DateTime!
1886
+ daysOfWeek: [Int!]!
1887
+ endsAt: DateTime
1888
+ endsOn: String
1889
+ excludeDates: [String!]!
1890
+ fingerprint: String!
1891
+ frequency: MomentOccurrenceScheduleFrequency
1892
+ includeDates: [String!]!
1893
+ interval: Int
1894
+ occurrenceCount: Int!
1895
+ startsAt: DateTime
1896
+ startsOn: String
1897
+ times: [PlanScheduleTime!]!
1898
+ timezone: String!
1899
+ type: PlanScheduleType!
1900
+ uid: ID!
1901
+ updatedAt: DateTime!
1902
+ }
1903
+
1904
+ enum MomentOccurrenceScheduleFrequency {
1905
+ DAILY
1906
+ MONTHLY
1907
+ WEEKLY
1908
+ }
1909
+
1910
+ type PlanScheduleTime {
1911
+ durationMinutes: Int!
1912
+ time: String!
1913
+ }
1914
+
1915
+ enum PlanScheduleType {
1916
+ ONE_TIME
1917
+ RECURRING
1918
+ }
1919
+
1920
+ type Plan {
1921
+ createdAt: DateTime!
1922
+ description: String
1923
+ kind: PlanKind!
1924
+ moodboard: PlanMoodboard
1925
+ name: String!
1926
+ revision: Int!
1927
+ schedule: PlanSchedule
1928
+ scheduleRevision: Int!
1929
+ slug: String!
1930
+ status: PlanStatus!
1931
+ tags: [Tag!]!
1932
+ uid: ID!
1933
+ updatedAt: DateTime!
1934
+ }
1935
+
1936
+ type PlanMoodboard {
1937
+ createdAt: DateTime!
1938
+ items: [PlanMoodboardItem!]!
1939
+ revision: Int!
1940
+ uid: ID!
1941
+ updatedAt: DateTime!
1942
+ }
1943
+
1944
+ type PlanMoodboardItem {
1945
+ createdAt: DateTime!
1946
+ linkMetadata: JSON
1947
+ linkMetadataStatus: PlanLinkMetadataStatus!
1948
+ linkUrl: String
1949
+ mediaAsset: MediaAsset
1950
+ note: String
1951
+ position: Int!
1952
+ title: String
1953
+ type: PlanMoodboardItemType!
1954
+ uid: ID!
1955
+ updatedAt: DateTime!
1956
+ }
1957
+
1958
+ enum PlanLinkMetadataStatus {
1959
+ FAILED
1960
+ NOT_APPLICABLE
1961
+ PENDING
1962
+ READY
1963
+ }
1964
+
1965
+ enum PlanMoodboardItemType {
1966
+ LINK
1967
+ MEDIA
1968
+ }
1969
+
1970
+ type PlanBudgetSummary {
1971
+ createdAt: DateTime!
1972
+ currencyCode: String!
1973
+ currencyExponent: Int!
1974
+ name: String!
1975
+ planUid: String!
1976
+ revision: Int!
1977
+ scheduleIsStale: Boolean!
1978
+ uid: ID!
1979
+ updatedAt: DateTime!
1980
+ }
1981
+
1982
+ type PlanBudget {
1983
+ calculation: JSON!
1984
+ createdAt: DateTime!
1985
+ currencyCode: String!
1986
+ currencyExponent: Int!
1987
+ document: JSON!
1988
+ name: String!
1989
+ planUid: String!
1990
+ revision: Int!
1991
+ scheduleIsStale: Boolean!
1992
+ uid: ID!
1993
+ updatedAt: DateTime!
1994
+ }
1995
+
1996
+ type PlanningSource {
1997
+ contentHash: String
1998
+ error: String
1999
+ filename: String!
2000
+ nextOffset: Int
2001
+ sections: [PlanningSourceSection!]
2002
+ status: String!
2003
+ uid: String!
2004
+ warnings: [String!]
2005
+ }
2006
+
2007
+ type PlanningSourceSection {
2008
+ reference: String!
2009
+ values: [String!]!
2010
+ }
2011
+
2012
+ type PlanningProposal {
2013
+ expiresAt: DateTime!
2014
+ preview: JSON!
2015
+ requestHash: String!
2016
+ result: JSON
2017
+ status: String!
2018
+ uid: String!
2019
+ }
2020
+
2021
+ input PreparePlanningProposalInput {
2022
+ budgetDraft: ReplacePlanBudgetDraftInput
2023
+ budgetUid: String
2024
+ createBudget: CreatePlanBudgetInput
2025
+ createPlan: CreatePlanInput
2026
+ expectedBudgetRevision: Int
2027
+ expectedPlanRevision: Int
2028
+ importUids: [String!]
2029
+ planUid: String
2030
+ reviewNotes: [String!]!
2031
+ schedule: PlanScheduleInput
2032
+ sourceDispositions: [PlanningSourceDispositionInput!]
2033
+ tagNames: [String!]
2034
+ updatePlan: UpdatePlanInput
2035
+ }
2036
+
2037
+ input ReplacePlanBudgetDraftInput {
2038
+ artistDeal: PlanBudgetArtistDealInput
2039
+ averageTicketsPerCheckout: String
2040
+ baselineSellThroughBps: Int
2041
+ capacityAllocations: [PlanBudgetCapacityAllocationInput!]!
2042
+ categories: [PlanBudgetCategoryInput!]!
2043
+ externalTicketingChannels: [PlanBudgetExternalTicketingChannelInput!]
2044
+ lines: [PlanBudgetLineInput!]!
2045
+ physicalCapacity: Int
2046
+ ticketTiers: [PlanBudgetTicketTierInput!]!
2047
+ walkoutSellThroughBps: [Int!]
2048
+ }
2049
+
2050
+ input PlanBudgetArtistDealInput {
2051
+ basis: PlanBudgetArtistDealBasis!
2052
+ guaranteeBasis: PlanBudgetGuaranteeBasis
2053
+ guaranteeMinor: String
2054
+ label: String
2055
+ percentageBps: Int
2056
+ type: PlanBudgetArtistDealType!
2057
+ uid: String
2058
+ }
2059
+
2060
+ enum PlanBudgetArtistDealBasis {
2061
+ ORGANIZER_TICKET_REVENUE
2062
+ ORGANIZER_TICKET_REVENUE_LESS_DEDUCTIBLE_EXPENSES
2063
+ }
2064
+
2065
+ enum PlanBudgetGuaranteeBasis {
2066
+ ONCE
2067
+ PER_OCCURRENCE
2068
+ }
2069
+
2070
+ enum PlanBudgetArtistDealType {
2071
+ FLAT_GUARANTEE
2072
+ GUARANTEE_VS_PERCENTAGE
2073
+ PERCENTAGE
2074
+ }
2075
+
2076
+ input PlanBudgetCapacityAllocationInput {
2077
+ countsAsAttendee: Boolean!
2078
+ label: String
2079
+ position: Int!
2080
+ quantity: Int!
2081
+ type: PlanBudgetAllocationType!
2082
+ uid: String
2083
+ }
2084
+
2085
+ enum PlanBudgetAllocationType {
2086
+ ARTIST_TEAM
2087
+ COMP
2088
+ GUEST_LIST
2089
+ HOLD
2090
+ OTHER
2091
+ STAFF
2092
+ SUPPORT
2093
+ }
2094
+
2095
+ input PlanBudgetCategoryInput {
2096
+ kind: PlanBudgetCategoryKind!
2097
+ name: String!
2098
+ parentUid: String
2099
+ position: Int!
2100
+ uid: String
2101
+ }
2102
+
2103
+ enum PlanBudgetCategoryKind {
2104
+ EXPENSE
2105
+ REVENUE
2106
+ }
2107
+
2108
+ input PlanBudgetExternalTicketingChannelInput {
2109
+ assumptionsCapturedAt: DateTime
2110
+ averageTicketsPerCheckout: String!
2111
+ feeComponents: [PlanBudgetTicketingFeeComponentInput!]
2112
+ name: String!
2113
+ position: Int!
2114
+ uid: String
2115
+ }
2116
+
2117
+ input PlanBudgetTicketingFeeComponentInput {
2118
+ assessment: PlanBudgetFeeAssessment!
2119
+ fixedAmountMinor: String
2120
+ kind: PlanBudgetFeeComponentKind!
2121
+ label: String!
2122
+ minimumAmountMinor: String
2123
+ percentageBasis: PlanBudgetFeePercentageBasis!
2124
+ position: Int!
2125
+ rateBps: Int
2126
+ treatment: PlanBudgetChargeTreatment!
2127
+ uid: String
2128
+ }
2129
+
2130
+ enum PlanBudgetFeeAssessment {
2131
+ PER_TICKET
2132
+ PER_TRANSACTION
2133
+ }
2134
+
2135
+ enum PlanBudgetFeeComponentKind {
2136
+ DELIVERY
2137
+ FACILITY
2138
+ OTHER
2139
+ PLATFORM
2140
+ PROCESSING
2141
+ }
2142
+
2143
+ enum PlanBudgetFeePercentageBasis {
2144
+ BUYER_SUBTOTAL
2145
+ FACE_VALUE
2146
+ }
2147
+
2148
+ enum PlanBudgetChargeTreatment {
2149
+ ADDED_TO_BUYER
2150
+ WITHHELD_FROM_ORGANIZER
2151
+ }
2152
+
2153
+ input PlanBudgetLineInput {
2154
+ actualTotalMinor: String
2155
+ categoryUid: String!
2156
+ committedTotalMinor: String
2157
+ dealDeductible: Boolean
2158
+ description: String
2159
+ durationHours: String
2160
+ formulaBasis: PlanBudgetLineBasis!
2161
+ gratuityBps: Int
2162
+ kind: PlanBudgetCategoryKind!
2163
+ name: String!
2164
+ paymentStatus: PlanBudgetPaymentStatus
2165
+ plannedUnitAmountMinor: String!
2166
+ position: Int!
2167
+ quantity: String
2168
+ quotedTotalMinor: String
2169
+ repeatPerOccurrence: Boolean
2170
+ taxBps: Int
2171
+ uid: String
2172
+ vendorLabel: String
2173
+ }
2174
+
2175
+ enum PlanBudgetLineBasis {
2176
+ FIXED
2177
+ PER_ATTENDEE
2178
+ PER_OCCURRENCE
2179
+ PER_PAID_TICKET
2180
+ PER_UNIT
2181
+ PER_UNIT_PER_OCCURRENCE
2182
+ RATE_X_TIME
2183
+ }
2184
+
2185
+ enum PlanBudgetPaymentStatus {
2186
+ NOT_APPLICABLE
2187
+ NOT_STARTED
2188
+ PAID
2189
+ PARTIAL
2190
+ }
2191
+
2192
+ input PlanBudgetTicketTierInput {
2193
+ allocation: Int!
2194
+ chargeRules: [PlanBudgetTicketChargeRuleInput!]
2195
+ externalTicketingChannelUid: String
2196
+ inputAmountMinor: String!
2197
+ name: String!
2198
+ position: Int!
2199
+ pricingMode: PlanBudgetPricingMode!
2200
+ roundingIncrementMinor: String
2201
+ saleEndsAt: DateTime
2202
+ saleStartsAt: DateTime
2203
+ ticketingChannelType: PlanBudgetTicketingChannelType
2204
+ uid: String
2205
+ }
2206
+
2207
+ input PlanBudgetTicketChargeRuleInput {
2208
+ amountMinor: String
2209
+ calculation: PlanBudgetChargeCalculation!
2210
+ kind: PlanBudgetChargeKind!
2211
+ position: Int!
2212
+ rateBps: Int
2213
+ treatment: PlanBudgetChargeTreatment!
2214
+ uid: String
2215
+ }
2216
+
2217
+ enum PlanBudgetChargeCalculation {
2218
+ FIXED_PER_TICKET
2219
+ PERCENT_OF_FACE_VALUE
2220
+ }
2221
+
2222
+ enum PlanBudgetChargeKind {
2223
+ FEE
2224
+ TAX
2225
+ }
2226
+
2227
+ enum PlanBudgetPricingMode {
2228
+ FACE_VALUE
2229
+ ORGANIZER_NET_TARGET
2230
+ }
2231
+
2232
+ enum PlanBudgetTicketingChannelType {
2233
+ EXTERNAL
2234
+ ITM
2235
+ NONE
2236
+ }
2237
+
2238
+ input CreatePlanBudgetInput {
2239
+ currencyCode: String!
2240
+ name: String!
2241
+ templateUid: String
2242
+ }
2243
+
2244
+ input CreatePlanInput {
2245
+ description: String
2246
+ kind: PlanKind!
2247
+ name: String!
2248
+ schedule: PlanScheduleInput
2249
+ slug: String
2250
+ tagNames: [String!]
2251
+ }
2252
+
2253
+ input PlanScheduleInput {
2254
+ count: Int
2255
+ daysOfWeek: [Int!]
2256
+ endsAt: DateTime
2257
+ endsOn: String
2258
+ excludeDates: [String!]
2259
+ frequency: MomentOccurrenceScheduleFrequency
2260
+ includeDates: [String!]
2261
+ interval: Int
2262
+ startsAt: DateTime
2263
+ startsOn: String
2264
+ times: [PlanScheduleTimeInput!]
2265
+ timezone: String!
2266
+ type: PlanScheduleType!
2267
+ }
2268
+
2269
+ input PlanScheduleTimeInput {
2270
+ durationMinutes: Int!
2271
+ time: String!
2272
+ }
2273
+
2274
+ input PlanningSourceDispositionInput {
2275
+ disposition: String!
2276
+ explanation: String!
2277
+ importUid: String!
2278
+ reference: String!
2279
+ targetUids: [String!]
2280
+ }
2281
+
2282
+ input UpdatePlanInput {
2283
+ description: String
2284
+ kind: PlanKind
2285
+ name: String
2286
+ slug: String
2287
+ status: PlanStatus
1806
2288
  }