@burdenoff/cli-sdk 2026.628.1 → 2026.629.1

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.
@@ -0,0 +1,304 @@
1
+ 'use strict';require('graphql-request'),require('cross-fetch'),require('commander');var p=class extends Error{exitCode;hint;constructor(n,t){super(n),this.name="CliUserError",this.exitCode=t?.exitCode??1,this.hint=t?.hint;}},k=class extends p{constructor(n,t){super(n,{exitCode:2,hint:t?.hint??"Run `<product> auth login` to authenticate."}),this.name="CliAuthError";}},h=class extends Error{cause;constructor(n,t){super(n),this.name="CliInternalError",this.cause=t;}};var C=null;function v(o){C=o;}function I(){if(!C)throw new h("vibecontrols module helpers used before setHelpersContext was called");return C}function Wt(){let o=I();if(!o.auth.isAuthenticated())throw new k(`Authentication required. Run \`${o.productName} auth login\`.`)}async function c(o,n){return Wt(),I().gql.workspace.request(o,n)}async function T(o,n){return I().gql.workspaceAuthOnly.request(o,n)}function s(o){let n=o instanceof Error?o.message:String(o);throw new p(n)}function a(o,n,t){I().output.formatAndOutput(o,n,t);}function u(o){I().output.printSuccess(o);}function l(o,n){return I().output.truncate(o,n)}var A=`
2
+ query HookmoviesGetTitle($id: ID!) {
3
+ hokTitle(id: $id) {
4
+ id title slug type status synopsis genres tags originCountry
5
+ originalLanguage releaseDate releaseYear runtimeMinutes certification
6
+ aiDisclosure externalIds studioId createdAt updatedAt workspaceId
7
+ }
8
+ }
9
+ `,S=`
10
+ query HookmoviesListTitles(
11
+ $pagination: PaginationInput
12
+ $status: HokTitleStatus
13
+ $studioId: ID
14
+ $type: HokTitleType
15
+ ) {
16
+ hokListTitles(pagination: $pagination, status: $status, studioId: $studioId, type: $type) {
17
+ items {
18
+ id title slug type status releaseYear runtimeMinutes studioId createdAt
19
+ }
20
+ pageInfo { cursor hasMore }
21
+ }
22
+ }
23
+ `,R=`
24
+ mutation HookmoviesCreateTitle($input: HokCreateTitleInput!) {
25
+ hokCreateTitle(input: $input) {
26
+ id title slug type status synopsis genres tags originCountry
27
+ originalLanguage releaseDate releaseYear runtimeMinutes certification
28
+ aiDisclosure studioId createdAt
29
+ }
30
+ }
31
+ `,x=`
32
+ mutation HookmoviesUpdateTitle($id: ID!, $input: HokUpdateTitleInput!) {
33
+ hokUpdateTitle(id: $id, input: $input) {
34
+ id title slug type status synopsis genres tags releaseYear
35
+ runtimeMinutes certification aiDisclosure studioId updatedAt
36
+ }
37
+ }
38
+ `,D=`
39
+ mutation HookmoviesArchiveTitle($id: ID!) {
40
+ hokArchiveTitle(id: $id)
41
+ }
42
+ `,O=`
43
+ mutation HookmoviesTransitionTitle($id: ID!, $status: HokTitleStatus!) {
44
+ hokTransitionTitle(id: $id, status: $status) {
45
+ id title status updatedAt
46
+ }
47
+ }
48
+ `,L=`
49
+ query HookmoviesListStudios($pagination: PaginationInput) {
50
+ hokListStudios(pagination: $pagination) {
51
+ items {
52
+ id name slug country isVerified websiteUrl tags createdAt
53
+ }
54
+ pageInfo { cursor hasMore }
55
+ }
56
+ }
57
+ `,P=`
58
+ mutation HookmoviesCreateStudio($input: HokCreateStudioInput!) {
59
+ hokCreateStudio(input: $input) {
60
+ id name slug country description websiteUrl isVerified tags createdAt
61
+ }
62
+ }
63
+ `,$=`
64
+ query HookmoviesListPeople($pagination: PaginationInput) {
65
+ hokListPeople(pagination: $pagination) {
66
+ items {
67
+ id name knownFor primaryLanguage portfolioRef tags createdAt
68
+ }
69
+ pageInfo { cursor hasMore }
70
+ }
71
+ }
72
+ `,N=`
73
+ mutation HookmoviesCreatePerson($input: HokCreatePersonInput!) {
74
+ hokCreatePerson(input: $input) {
75
+ id name biography knownFor primaryLanguage portfolioRef tags createdAt
76
+ }
77
+ }
78
+ `,M=`
79
+ mutation HookmoviesAddCredit($input: HokCreateCreditInput!) {
80
+ hokAddCredit(input: $input) {
81
+ id titleId personId role characterName billingOrder createdAt
82
+ }
83
+ }
84
+ `,_=`
85
+ mutation HookmoviesCreateSeason($input: HokCreateSeasonInput!) {
86
+ hokCreateSeason(input: $input) {
87
+ id titleId number name synopsis airDate createdAt
88
+ }
89
+ }
90
+ `,H=`
91
+ query HookmoviesListEpisodes($titleId: ID!) {
92
+ hokListEpisodes(titleId: $titleId) {
93
+ id titleId seasonId number name synopsis runtimeMinutes airDate createdAt
94
+ }
95
+ }
96
+ `,U=`
97
+ mutation HookmoviesCreateEpisode($input: HokCreateEpisodeInput!) {
98
+ hokCreateEpisode(input: $input) {
99
+ id titleId seasonId number name synopsis runtimeMinutes airDate createdAt
100
+ }
101
+ }
102
+ `,q=`
103
+ query HookmoviesGetProduction($id: ID!) {
104
+ hokProduction(id: $id) {
105
+ id title synopsis logline status studioId producerId currency
106
+ budgetMinorUnits startDate endDate resultingTitleId artistrybaseProjectRef
107
+ tags createdAt updatedAt workspaceId
108
+ }
109
+ }
110
+ `,W=`
111
+ query HookmoviesListProductions(
112
+ $pagination: PaginationInput
113
+ $status: HokProductionStatus
114
+ $studioId: ID
115
+ ) {
116
+ hokListProductions(pagination: $pagination, status: $status, studioId: $studioId) {
117
+ items {
118
+ id title status logline studioId producerId currency
119
+ budgetMinorUnits startDate endDate createdAt
120
+ }
121
+ pageInfo { cursor hasMore }
122
+ }
123
+ }
124
+ `,F=`
125
+ mutation HookmoviesCreateProduction($input: HokCreateProductionInput!) {
126
+ hokCreateProduction(input: $input) {
127
+ id title status logline synopsis studioId producerId currency
128
+ budgetMinorUnits startDate endDate tags createdAt
129
+ }
130
+ }
131
+ `,G=`
132
+ mutation HookmoviesTransitionProduction($id: ID!, $status: HokProductionStatus!) {
133
+ hokTransitionProduction(id: $id, status: $status) {
134
+ id title status updatedAt
135
+ }
136
+ }
137
+ `,j=`
138
+ query HookmoviesListAuditions(
139
+ $pagination: PaginationInput
140
+ $productionId: ID
141
+ $status: HokAuditionStatus
142
+ ) {
143
+ hokListAuditions(pagination: $pagination, productionId: $productionId, status: $status) {
144
+ items {
145
+ id productionId roleName status currency payMinorUnits isMinorRole
146
+ language location submissionDeadline createdAt
147
+ }
148
+ pageInfo { cursor hasMore }
149
+ }
150
+ }
151
+ `,V=`
152
+ mutation HookmoviesCreateAudition($input: HokCreateAuditionInput!) {
153
+ hokCreateAudition(input: $input) {
154
+ id productionId roleName status description currency payMinorUnits
155
+ isMinorRole language location submissionDeadline createdAt
156
+ }
157
+ }
158
+ `,Y=`
159
+ mutation HookmoviesCloseAudition($id: ID!) {
160
+ hokCloseAudition(id: $id) {
161
+ id roleName status updatedAt
162
+ }
163
+ }
164
+ `,z=`
165
+ query HookmoviesListApplications($auditionId: ID!) {
166
+ hokListApplications(auditionId: $auditionId) {
167
+ id auditionId applicantId status coverNote score createdAt updatedAt workspaceId
168
+ }
169
+ }
170
+ `,B=`
171
+ mutation HookmoviesApplyToAudition($input: HokApplyToAuditionInput!) {
172
+ hokApplyToAudition(input: $input) {
173
+ id auditionId applicantId status coverNote score createdAt
174
+ }
175
+ }
176
+ `,J=`
177
+ mutation HookmoviesScoreApplication($id: ID!, $score: Int!) {
178
+ hokScoreApplication(id: $id, score: $score) {
179
+ id auditionId applicantId status score updatedAt
180
+ }
181
+ }
182
+ `,K=`
183
+ query HookmoviesListReviews(
184
+ $pagination: PaginationInput
185
+ $status: HokReviewStatus
186
+ $titleId: ID
187
+ ) {
188
+ hokListReviews(pagination: $pagination, status: $status, titleId: $titleId) {
189
+ items {
190
+ id titleId authorId score body hasSpoilers status helpfulCount
191
+ verifiedWatch createdAt
192
+ }
193
+ pageInfo { cursor hasMore }
194
+ }
195
+ }
196
+ `,Q=`
197
+ mutation HookmoviesCreateReview($input: HokCreateReviewInput!) {
198
+ hokCreateReview(input: $input) {
199
+ id titleId authorId score body hasSpoilers aspectScores status createdAt
200
+ }
201
+ }
202
+ `,X=`
203
+ mutation HookmoviesDeleteReview($id: ID!) {
204
+ hokDeleteReview(id: $id)
205
+ }
206
+ `,Z=`
207
+ query HookmoviesMyLists($kind: HokListKind, $pagination: PaginationInput) {
208
+ hokMyLists(kind: $kind, pagination: $pagination) {
209
+ items {
210
+ id name kind visibility itemCount ownerId createdAt
211
+ }
212
+ pageInfo { cursor hasMore }
213
+ }
214
+ }
215
+ `,tt=`
216
+ query HookmoviesGetList($id: ID!) {
217
+ hokList(id: $id) {
218
+ id name description kind visibility itemCount items ownerId
219
+ createdAt updatedAt workspaceId
220
+ }
221
+ }
222
+ `,et=`
223
+ mutation HookmoviesCreateList($input: HokCreateListInput!) {
224
+ hokCreateList(input: $input) {
225
+ id name description kind visibility itemCount items ownerId createdAt
226
+ }
227
+ }
228
+ `,it=`
229
+ mutation HookmoviesUpdateList($id: ID!, $input: HokUpdateListInput!) {
230
+ hokUpdateList(id: $id, input: $input) {
231
+ id name description kind visibility itemCount items updatedAt
232
+ }
233
+ }
234
+ `,nt=`
235
+ mutation HookmoviesDeleteList($id: ID!) {
236
+ hokDeleteList(id: $id)
237
+ }
238
+ `,ot=`
239
+ query HookmoviesMyWatchProgress($titleId: ID) {
240
+ hokMyWatchProgress(titleId: $titleId) {
241
+ id titleId episodeId positionSeconds completed lastDevice userId
242
+ createdAt updatedAt
243
+ }
244
+ }
245
+ `,rt=`
246
+ mutation HookmoviesRecordProgress($input: HokRecordProgressInput!) {
247
+ hokRecordProgress(input: $input) {
248
+ id titleId episodeId positionSeconds completed lastDevice createdAt
249
+ }
250
+ }
251
+ `,st=`
252
+ query HookmoviesListRightsWindows(
253
+ $pagination: PaginationInput
254
+ $status: HokRightsWindowStatus
255
+ $titleId: ID
256
+ ) {
257
+ hokListRightsWindows(pagination: $pagination, status: $status, titleId: $titleId) {
258
+ items {
259
+ id titleId status exclusive currency modes territories startsAt
260
+ endsAt licenseeId createdAt
261
+ }
262
+ pageInfo { cursor hasMore }
263
+ }
264
+ }
265
+ `,at=`
266
+ mutation HookmoviesCreateRightsWindow($input: HokCreateRightsWindowInput!) {
267
+ hokCreateRightsWindow(input: $input) {
268
+ id titleId status exclusive currency modes territories priceMinorUnits
269
+ startsAt endsAt licenseeId contractFileId createdAt
270
+ }
271
+ }
272
+ `,ct=`
273
+ mutation HookmoviesTransitionRightsWindow($id: ID!, $status: HokRightsWindowStatus!) {
274
+ hokTransitionRightsWindow(id: $id, status: $status) {
275
+ id titleId status updatedAt
276
+ }
277
+ }
278
+ `,ut=`
279
+ query HookmoviesMyEntitlements($titleId: ID) {
280
+ hokMyEntitlements(titleId: $titleId) {
281
+ id titleId userId mode source status territory expiresAt createdAt updatedAt
282
+ }
283
+ }
284
+ `,dt=`
285
+ query HookmoviesCheckEntitlement($titleId: ID!) {
286
+ hokCheckEntitlement(titleId: $titleId) {
287
+ entitled modes
288
+ }
289
+ }
290
+ `,pt=`
291
+ mutation HookmoviesGrantEntitlement($input: HokGrantEntitlementInput!) {
292
+ hokGrantEntitlement(input: $input) {
293
+ id titleId userId mode source status territory expiresAt createdAt
294
+ }
295
+ }
296
+ `,lt=`
297
+ mutation HookmoviesRevokeEntitlement($id: ID!) {
298
+ hokRevokeEntitlement(id: $id)
299
+ }
300
+ `,mt=`
301
+ query HookmoviesHealth {
302
+ hokHealth
303
+ }
304
+ `;function y(o,n){try{return JSON.parse(n)}catch{throw new p(`--${o} must be valid JSON`)}}function d(o){let n=Number.parseInt(o,10);if(Number.isNaN(n))throw new p(`Expected an integer but got "${o}"`);return n}function g(o){return o.split(",").map(n=>n.trim()).filter(n=>n.length>0)}function f(o){let n={};return o.limit!==void 0&&(n.limit=o.limit),o.offset!==void 0&&(n.offset=o.offset),o.cursor&&(n.cursor=o.cursor),Object.keys(n).length?n:void 0}function gt(o){let n=o.command("titles").description("HookMovies catalog titles");n.command("list").description("List titles").option("--status <s>","Filter by title status").option("--type <t>","Filter by title type").option("--studio <id>","Filter by studio ID").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("--cursor <c>","Pagination cursor").option("-f, --format <format>","Output format").action(async t=>{try{let i=(await c(S,{pagination:f(t),status:t.status?t.status.toUpperCase():void 0,type:t.type?t.type.toUpperCase():void 0,studioId:t.studio})).hokListTitles.items;a(t,i,{headers:["ID","Title","Type","Status","Year","Runtime"],rows:i.map(r=>[l(r.id,12),r.title,r.type,r.status,String(r.releaseYear??""),String(r.runtimeMinutes??"")])});}catch(e){s(e);}}),n.command("get").description("Get a title by id").argument("<id>","Title ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i=await c(A,{id:t});if(!i.hokTitle)throw new p(`Title ${t} not found`);a(e,i.hokTitle);}catch(i){s(i);}}),n.command("create").description("Create a title").requiredOption("--title <s>","Title").option("--type <t>","Title type","MOVIE").option("--slug <s>","URL slug").option("--synopsis <s>","Synopsis").option("--genres <csv>","Comma-separated genres").option("--tags <csv>","Comma-separated tags").option("--origin-country <s>","Origin country").option("--original-language <s>","Original language").option("--release-date <iso>","Release date (ISO)").option("--release-year <n>","Release year",d).option("--runtime-minutes <n>","Runtime in minutes",d).option("--certification <s>","Certification").option("--studio <id>","Studio ID").option("--ai-disclosure","Flag AI involvement").option("-f, --format <format>","Output format").action(async t=>{try{let e={title:t.title,type:(t.type??"MOVIE").toUpperCase()};t.slug&&(e.slug=t.slug),t.synopsis&&(e.synopsis=t.synopsis),t.genres&&(e.genres=g(t.genres)),t.tags&&(e.tags=g(t.tags)),t.originCountry&&(e.originCountry=t.originCountry),t.originalLanguage&&(e.originalLanguage=t.originalLanguage),t.releaseDate&&(e.releaseDate=t.releaseDate),t.releaseYear!==void 0&&(e.releaseYear=t.releaseYear),t.runtimeMinutes!==void 0&&(e.runtimeMinutes=t.runtimeMinutes),t.certification&&(e.certification=t.certification),t.studio&&(e.studioId=t.studio),t.aiDisclosure&&(e.aiDisclosure=!0);let i=await c(R,{input:e});u(`Title created: ${i.hokCreateTitle.title}`),a(t,i.hokCreateTitle);}catch(e){s(e);}}),n.command("update").description("Update a title").argument("<id>","Title ID").option("--title <s>","Title").option("--type <t>","Title type").option("--slug <s>","URL slug").option("--synopsis <s>","Synopsis").option("--genres <csv>","Comma-separated genres").option("--tags <csv>","Comma-separated tags").option("--origin-country <s>","Origin country").option("--original-language <s>","Original language").option("--release-date <iso>","Release date (ISO)").option("--release-year <n>","Release year",d).option("--runtime-minutes <n>","Runtime in minutes",d).option("--certification <s>","Certification").option("--studio <id>","Studio ID").option("--ai-disclosure <bool>","AI disclosure (true|false)").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i={};if(e.title&&(i.title=e.title),e.type&&(i.type=e.type.toUpperCase()),e.slug&&(i.slug=e.slug),e.synopsis!==void 0&&(i.synopsis=e.synopsis),e.genres&&(i.genres=g(e.genres)),e.tags&&(i.tags=g(e.tags)),e.originCountry&&(i.originCountry=e.originCountry),e.originalLanguage&&(i.originalLanguage=e.originalLanguage),e.releaseDate&&(i.releaseDate=e.releaseDate),e.releaseYear!==void 0&&(i.releaseYear=e.releaseYear),e.runtimeMinutes!==void 0&&(i.runtimeMinutes=e.runtimeMinutes),e.certification&&(i.certification=e.certification),e.studio&&(i.studioId=e.studio),e.aiDisclosure!==void 0&&(i.aiDisclosure=e.aiDisclosure==="true"),!Object.keys(i).length)throw new p("No updates specified");let r=await c(x,{id:t,input:i});u("Title updated"),a(e,r.hokUpdateTitle);}catch(i){s(i);}}),n.command("archive").description("Archive (soft-delete) a title").argument("<id>","Title ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i=await c(D,{id:t});if(!i.hokArchiveTitle)throw new p(`Title ${t} could not be archived`);u(`Title ${t} archived`),a(e,{archived:i.hokArchiveTitle});}catch(i){s(i);}}),n.command("transition").description("Move a title through its publication lifecycle").argument("<id>","Title ID").requiredOption("--status <s>","DRAFT|IN_REVIEW|SCHEDULED|PUBLISHED|UNPUBLISHED|ARCHIVED").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i=await c(O,{id:t,status:e.status.toUpperCase()});u(`Title status set to ${i.hokTransitionTitle.status}`),a(e,i.hokTransitionTitle);}catch(i){s(i);}});}function ft(o){let n=o.command("studios").description("HookMovies studios");n.command("list").description("List studios").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("--cursor <c>","Pagination cursor").option("-f, --format <format>","Output format").action(async t=>{try{let i=(await c(L,{pagination:f(t)})).hokListStudios.items;a(t,i,{headers:["ID","Name","Country","Verified","Website"],rows:i.map(r=>[l(r.id,12),r.name,r.country??"",r.isVerified?"yes":"no",r.websiteUrl??""])});}catch(e){s(e);}}),n.command("create").description("Create a studio").requiredOption("--name <s>","Studio name").option("--slug <s>","URL slug").option("--country <s>","Country").option("--description <s>","Description").option("--website <url>","Website URL").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let e={name:t.name};t.slug&&(e.slug=t.slug),t.country&&(e.country=t.country),t.description&&(e.description=t.description),t.website&&(e.websiteUrl=t.website),t.tags&&(e.tags=g(t.tags));let i=await c(P,{input:e});u(`Studio created: ${i.hokCreateStudio.name}`),a(t,i.hokCreateStudio);}catch(e){s(e);}});}function ht(o){let n=o.command("people").description("HookMovies cast & crew people");n.command("list").description("List people").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("--cursor <c>","Pagination cursor").option("-f, --format <format>","Output format").action(async t=>{try{let i=(await c($,{pagination:f(t)})).hokListPeople.items;a(t,i,{headers:["ID","Name","Known For","Language"],rows:i.map(r=>[l(r.id,12),r.name,r.knownFor??"",r.primaryLanguage??""])});}catch(e){s(e);}}),n.command("create").description("Create a person").requiredOption("--name <s>","Full name").option("--biography <s>","Biography").option("--known-for <s>","Known for").option("--primary-language <s>","Primary language").option("--portfolio-ref <s>","Artistrybase portfolio reference").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let e={name:t.name};t.biography&&(e.biography=t.biography),t.knownFor&&(e.knownFor=t.knownFor),t.primaryLanguage&&(e.primaryLanguage=t.primaryLanguage),t.portfolioRef&&(e.portfolioRef=t.portfolioRef),t.tags&&(e.tags=g(t.tags));let i=await c(N,{input:e});u(`Person created: ${i.hokCreatePerson.name}`),a(t,i.hokCreatePerson);}catch(e){s(e);}});}function kt(o){o.command("credits").description("HookMovies title credits").command("add").description("Add a credit linking a person to a title").requiredOption("--title <id>","Title ID").requiredOption("--person <id>","Person ID").option("--role <r>","Credit role","ACTOR").option("--character-name <s>","Character name").option("--billing-order <n>","Billing order",d).option("-f, --format <format>","Output format").action(async t=>{try{let e={titleId:t.title,personId:t.person,role:(t.role??"ACTOR").toUpperCase()};t.characterName&&(e.characterName=t.characterName),t.billingOrder!==void 0&&(e.billingOrder=t.billingOrder);let i=await c(M,{input:e});u(`Credit added: ${i.hokAddCredit.role}`),a(t,i.hokAddCredit);}catch(e){s(e);}});}function It(o){o.command("seasons").description("HookMovies seasons").command("create").description("Create a season").requiredOption("--title <id>","Title ID").requiredOption("--number <n>","Season number",d).option("--name <s>","Season name").option("--synopsis <s>","Synopsis").option("--air-date <iso>","Air date (ISO)").option("-f, --format <format>","Output format").action(async t=>{try{let e={titleId:t.title,number:t.number};t.name&&(e.name=t.name),t.synopsis&&(e.synopsis=t.synopsis),t.airDate&&(e.airDate=t.airDate);let i=await c(_,{input:e});u(`Season created: #${i.hokCreateSeason.number}`),a(t,i.hokCreateSeason);}catch(e){s(e);}});}function yt(o){let n=o.command("episodes").description("HookMovies episodes");n.command("list").description("List episodes for a title").requiredOption("--title <id>","Title ID").option("-f, --format <format>","Output format").action(async t=>{try{let e=await c(H,{titleId:t.title});a(t,e.hokListEpisodes,{headers:["ID","Number","Name","Runtime"],rows:e.hokListEpisodes.map(i=>[l(i.id,12),String(i.number),i.name,String(i.runtimeMinutes??"")])});}catch(e){s(e);}}),n.command("create").description("Create an episode").requiredOption("--title <id>","Title ID").requiredOption("--name <s>","Episode name").requiredOption("--number <n>","Episode number",d).option("--season <id>","Season ID").option("--synopsis <s>","Synopsis").option("--runtime-minutes <n>","Runtime in minutes",d).option("--air-date <iso>","Air date (ISO)").option("--file <id>","wspace-files-svc File ID (master/mezzanine)").option("-f, --format <format>","Output format").action(async t=>{try{let e={titleId:t.title,name:t.name,number:t.number};t.season&&(e.seasonId=t.season),t.synopsis&&(e.synopsis=t.synopsis),t.runtimeMinutes!==void 0&&(e.runtimeMinutes=t.runtimeMinutes),t.airDate&&(e.airDate=t.airDate),t.file&&(e.fileId=t.file);let i=await c(U,{input:e});u(`Episode created: ${i.hokCreateEpisode.name}`),a(t,i.hokCreateEpisode);}catch(e){s(e);}});}function wt(o){let n=o.command("productions").description("HookMovies B2B productions");n.command("list").description("List productions").option("--status <s>","Filter by production status").option("--studio <id>","Filter by studio ID").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("--cursor <c>","Pagination cursor").option("-f, --format <format>","Output format").action(async t=>{try{let i=(await c(W,{pagination:f(t),status:t.status?t.status.toUpperCase():void 0,studioId:t.studio})).hokListProductions.items;a(t,i,{headers:["ID","Title","Status","Studio","Currency"],rows:i.map(r=>[l(r.id,12),r.title,r.status,l(r.studioId??"",12),r.currency??""])});}catch(e){s(e);}}),n.command("get").description("Get a production by id").argument("<id>","Production ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i=await c(q,{id:t});if(!i.hokProduction)throw new p(`Production ${t} not found`);a(e,i.hokProduction);}catch(i){s(i);}}),n.command("create").description("Create a production").requiredOption("--title <s>","Production title").option("--logline <s>","Logline").option("--synopsis <s>","Synopsis").option("--studio <id>","Studio ID").option("--producer <id>","Producer ID").option("--currency <s>","Currency").option("--budget-minor-units <s>","Budget in minor units").option("--start-date <iso>","Start date (ISO)").option("--end-date <iso>","End date (ISO)").option("--artistrybase-project-ref <s>","Artistrybase project reference").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let e={title:t.title};t.logline&&(e.logline=t.logline),t.synopsis&&(e.synopsis=t.synopsis),t.studio&&(e.studioId=t.studio),t.producer&&(e.producerId=t.producer),t.currency&&(e.currency=t.currency),t.budgetMinorUnits&&(e.budgetMinorUnits=t.budgetMinorUnits),t.startDate&&(e.startDate=t.startDate),t.endDate&&(e.endDate=t.endDate),t.artistrybaseProjectRef&&(e.artistrybaseProjectRef=t.artistrybaseProjectRef),t.tags&&(e.tags=g(t.tags));let i=await c(F,{input:e});u(`Production created: ${i.hokCreateProduction.title}`),a(t,i.hokCreateProduction);}catch(e){s(e);}}),n.command("transition").description("Advance a production through its lifecycle").argument("<id>","Production ID").requiredOption("--status <s>","DEVELOPMENT|GREENLIT|IN_PRODUCTION|POST_PRODUCTION|RELEASED|SHELVED").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i=await c(G,{id:t,status:e.status.toUpperCase()});u(`Production status set to ${i.hokTransitionProduction.status}`),a(e,i.hokTransitionProduction);}catch(i){s(i);}});}function Ct(o){let n=o.command("auditions").description("HookMovies casting auditions");n.command("list").description("List auditions").option("--production <id>","Filter by production ID").option("--status <s>","Filter by audition status").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("--cursor <c>","Pagination cursor").option("-f, --format <format>","Output format").action(async t=>{try{let i=(await c(j,{pagination:f(t),productionId:t.production,status:t.status?t.status.toUpperCase():void 0})).hokListAuditions.items;a(t,i,{headers:["ID","Role","Status","Pay","Language","Location"],rows:i.map(r=>[l(r.id,12),r.roleName,r.status,r.payMinorUnits??"",r.language??"",r.location??""])});}catch(e){s(e);}}),n.command("create").description("Create an audition").requiredOption("--production <id>","Production ID").requiredOption("--role-name <s>","Role name").option("--description <s>","Description").option("--currency <s>","Currency").option("--pay-minor-units <s>","Pay in minor units").option("--minor-role","Flag as a minor (child) role").option("--language <s>","Language").option("--location <s>","Location").option("--submission-deadline <iso>","Submission deadline (ISO)").option("-f, --format <format>","Output format").action(async t=>{try{let e={productionId:t.production,roleName:t.roleName};t.description&&(e.description=t.description),t.currency&&(e.currency=t.currency),t.payMinorUnits&&(e.payMinorUnits=t.payMinorUnits),t.minorRole&&(e.isMinorRole=!0),t.language&&(e.language=t.language),t.location&&(e.location=t.location),t.submissionDeadline&&(e.submissionDeadline=t.submissionDeadline);let i=await c(V,{input:e});u(`Audition created: ${i.hokCreateAudition.roleName}`),a(t,i.hokCreateAudition);}catch(e){s(e);}}),n.command("close").description("Close an audition").argument("<id>","Audition ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i=await c(Y,{id:t});u(`Audition closed: ${i.hokCloseAudition.roleName}`),a(e,i.hokCloseAudition);}catch(i){s(i);}});}function Tt(o){let n=o.command("applications").description("HookMovies audition applications");n.command("list").description("List applications for an audition").requiredOption("--audition <id>","Audition ID").option("-f, --format <format>","Output format").action(async t=>{try{let e=await c(z,{auditionId:t.audition});a(t,e.hokListApplications,{headers:["ID","Applicant","Status","Score"],rows:e.hokListApplications.map(i=>[l(i.id,12),l(i.applicantId,12),i.status,String(i.score??"")])});}catch(e){s(e);}}),n.command("apply").description("Apply to an audition as the calling user").requiredOption("--audition <id>","Audition ID").option("--cover-note <s>","Cover note").option("--self-tape-file <id>","wspace-files-svc File ID of the self-tape").option("-f, --format <format>","Output format").action(async t=>{try{let e={auditionId:t.audition};t.coverNote&&(e.coverNote=t.coverNote),t.selfTapeFile&&(e.selfTapeFileId=t.selfTapeFile);let i=await c(B,{input:e});u(`Applied to audition ${t.audition}`),a(t,i.hokApplyToAudition);}catch(e){s(e);}}),n.command("score").description("Score an applicant (casting-team action)").argument("<id>","Application ID").requiredOption("--score <n>","Score",d).option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i=await c(J,{id:t,score:e.score});u(`Application scored: ${i.hokScoreApplication.score??""}`),a(e,i.hokScoreApplication);}catch(i){s(i);}});}function Et(o){let n=o.command("reviews").description("HookMovies reviews");n.command("list").description("List reviews").option("--title <id>","Filter by title ID").option("--status <s>","Filter by review status").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("--cursor <c>","Pagination cursor").option("-f, --format <format>","Output format").action(async t=>{try{let i=(await c(K,{pagination:f(t),status:t.status?t.status.toUpperCase():void 0,titleId:t.title})).hokListReviews.items;a(t,i,{headers:["ID","Title","Score","Status","Helpful"],rows:i.map(r=>[l(r.id,12),l(r.titleId,12),String(r.score),r.status,String(r.helpfulCount??0)])});}catch(e){s(e);}}),n.command("create").description("Create a review").requiredOption("--title <id>","Title ID").requiredOption("--score <n>","Score",d).option("--body <s>","Review body").option("--has-spoilers","Flag the review as containing spoilers").option("--aspect-scores <json>","Aspect scores JSON object").option("-f, --format <format>","Output format").action(async t=>{try{let e={titleId:t.title,score:t.score};t.body&&(e.body=t.body),t.hasSpoilers&&(e.hasSpoilers=!0),t.aspectScores&&(e.aspectScores=y("aspect-scores",t.aspectScores));let i=await c(Q,{input:e});u(`Review created for title ${t.title}`),a(t,i.hokCreateReview);}catch(e){s(e);}}),n.command("delete").description("Delete a review you authored").argument("<id>","Review ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i=await c(X,{id:t});if(!i.hokDeleteReview)throw new p(`Review ${t} could not be deleted`);u(`Review ${t} deleted`),a(e,{deleted:i.hokDeleteReview});}catch(i){s(i);}});}function bt(o){let n=o.command("lists").description("HookMovies watchlists & playlists");n.command("mine").description("List the calling user's own lists").option("--kind <k>","Filter by list kind (WATCHLIST|PLAYLIST)").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("--cursor <c>","Pagination cursor").option("-f, --format <format>","Output format").action(async t=>{try{let i=(await c(Z,{kind:t.kind?t.kind.toUpperCase():void 0,pagination:f(t)})).hokMyLists.items;a(t,i,{headers:["ID","Name","Kind","Visibility","Items"],rows:i.map(r=>[l(r.id,12),r.name,r.kind,r.visibility,String(r.itemCount)])});}catch(e){s(e);}}),n.command("get").description("Get a list by id").argument("<id>","List ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i=await c(tt,{id:t});if(!i.hokList)throw new p(`List ${t} not found`);a(e,i.hokList);}catch(i){s(i);}}),n.command("create").description("Create a list owned by the calling user").requiredOption("--name <s>","List name").option("--kind <k>","List kind (WATCHLIST|PLAYLIST)","PLAYLIST").option("--visibility <v>","Visibility (PRIVATE|PUBLIC|UNLISTED)","PRIVATE").option("--description <s>","Description").option("--items <json>","Items JSON").option("-f, --format <format>","Output format").action(async t=>{try{let e={name:t.name,kind:(t.kind??"PLAYLIST").toUpperCase(),visibility:(t.visibility??"PRIVATE").toUpperCase()};t.description&&(e.description=t.description),t.items&&(e.items=y("items",t.items));let i=await c(et,{input:e});u(`List created: ${i.hokCreateList.name}`),a(t,i.hokCreateList);}catch(e){s(e);}}),n.command("update").description("Update a list you own").argument("<id>","List ID").option("--name <s>","List name").option("--visibility <v>","Visibility (PRIVATE|PUBLIC|UNLISTED)").option("--description <s>","Description").option("--items <json>","Items JSON").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i={};if(e.name&&(i.name=e.name),e.visibility&&(i.visibility=e.visibility.toUpperCase()),e.description!==void 0&&(i.description=e.description),e.items&&(i.items=y("items",e.items)),!Object.keys(i).length)throw new p("No updates specified");let r=await c(it,{id:t,input:i});u("List updated"),a(e,r.hokUpdateList);}catch(i){s(i);}}),n.command("delete").description("Delete a list you own").argument("<id>","List ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i=await c(nt,{id:t});if(!i.hokDeleteList)throw new p(`List ${t} could not be deleted`);u(`List ${t} deleted`),a(e,{deleted:i.hokDeleteList});}catch(i){s(i);}});}function vt(o){let n=o.command("progress").description("HookMovies watch progress");n.command("mine").description("List the calling user's watch progress / continue-watching").option("--title <id>","Filter by title ID").option("-f, --format <format>","Output format").action(async t=>{try{let e=await c(ot,{titleId:t.title});a(t,e.hokMyWatchProgress,{headers:["ID","Title","Position(s)","Completed","Device"],rows:e.hokMyWatchProgress.map(i=>[l(i.id,12),l(i.titleId,12),String(i.positionSeconds),i.completed?"yes":"no",i.lastDevice??""])});}catch(e){s(e);}}),n.command("record").description("Upsert the calling user's watch progress").requiredOption("--title <id>","Title ID").requiredOption("--position-seconds <n>","Playback position in seconds",d).option("--episode <id>","Episode ID").option("--completed","Mark as completed").option("--last-device <s>","Last device").option("-f, --format <format>","Output format").action(async t=>{try{let e={titleId:t.title,positionSeconds:t.positionSeconds};t.episode&&(e.episodeId=t.episode),t.completed&&(e.completed=!0),t.lastDevice&&(e.lastDevice=t.lastDevice);let i=await c(rt,{input:e});u("Progress recorded"),a(t,i.hokRecordProgress);}catch(e){s(e);}});}function At(o){let n=o.command("rights").description("HookMovies rights windows");n.command("list").description("List rights windows").option("--title <id>","Filter by title ID").option("--status <s>","Filter by rights-window status").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("--cursor <c>","Pagination cursor").option("-f, --format <format>","Output format").action(async t=>{try{let i=(await c(st,{pagination:f(t),status:t.status?t.status.toUpperCase():void 0,titleId:t.title})).hokListRightsWindows.items;a(t,i,{headers:["ID","Title","Status","Exclusive","Modes"],rows:i.map(r=>[l(r.id,12),l(r.titleId,12),r.status,r.exclusive?"yes":"no",(r.modes??[]).join(",")])});}catch(e){s(e);}}),n.command("create").description("Create a rights window").requiredOption("--title <id>","Title ID").requiredOption("--modes <csv>","Comma-separated monetization modes").option("--exclusive","Mark the window as exclusive").option("--currency <s>","Currency").option("--territories <csv>","Comma-separated territories").option("--licensee <id>","Licensee ID").option("--price-minor-units <json>","Price-by-mode JSON").option("--starts-at <iso>","Window start (ISO)").option("--ends-at <iso>","Window end (ISO)").option("--contract-file <id>","wspace-files-svc contract File ID").option("-f, --format <format>","Output format").action(async t=>{try{let e=g(t.modes).map(xt=>xt.toUpperCase());if(e.length===0)throw new p("--modes must list at least one mode");let i={titleId:t.title,modes:e};t.exclusive&&(i.exclusive=!0),t.currency&&(i.currency=t.currency),t.territories&&(i.territories=g(t.territories)),t.licensee&&(i.licenseeId=t.licensee),t.priceMinorUnits&&(i.priceMinorUnits=y("price-minor-units",t.priceMinorUnits)),t.startsAt&&(i.startsAt=t.startsAt),t.endsAt&&(i.endsAt=t.endsAt),t.contractFile&&(i.contractFileId=t.contractFile);let r=await c(at,{input:i});u(`Rights window created for title ${t.title}`),a(t,r.hokCreateRightsWindow);}catch(e){s(e);}}),n.command("transition").description("Move a rights window through its lifecycle").argument("<id>","Rights window ID").requiredOption("--status <s>","DRAFT|PENDING|ACTIVE|EXPIRED|REVOKED").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i=await c(ct,{id:t,status:e.status.toUpperCase()});u(`Rights window status set to ${i.hokTransitionRightsWindow.status}`),a(e,i.hokTransitionRightsWindow);}catch(i){s(i);}});}function St(o){let n=o.command("entitlements").description("HookMovies entitlements");n.command("mine").description("List the calling user's own entitlements").option("--title <id>","Filter by title ID").option("-f, --format <format>","Output format").action(async t=>{try{let e=await c(ut,{titleId:t.title});a(t,e.hokMyEntitlements,{headers:["ID","Title","Mode","Source","Status"],rows:e.hokMyEntitlements.map(i=>[l(i.id,12),l(i.titleId,12),i.mode,i.source,i.status])});}catch(e){s(e);}}),n.command("check").description("Check whether the calling user can watch a title now").requiredOption("--title <id>","Title ID").option("-f, --format <format>","Output format").action(async t=>{try{let e=await c(dt,{titleId:t.title});u(e.hokCheckEntitlement.entitled?"Entitled":"Not entitled"),a(t,e.hokCheckEntitlement);}catch(e){s(e);}}),n.command("grant").description("Grant an entitlement to a user (workspace-scoped)").requiredOption("--title <id>","Title ID").requiredOption("--user <id>","User ID").requiredOption("--mode <m>","Monetization mode").option("--source <s>","Entitlement source","SUBSCRIPTION").option("--territory <s>","Territory").option("--expires-at <iso>","Expiry (ISO)").option("-f, --format <format>","Output format").action(async t=>{try{let e={titleId:t.title,userId:t.user,mode:t.mode.toUpperCase(),source:(t.source??"SUBSCRIPTION").toUpperCase()};t.territory&&(e.territory=t.territory),t.expiresAt&&(e.expiresAt=t.expiresAt);let i=await c(pt,{input:e});u(`Entitlement granted to user ${t.user}`),a(t,i.hokGrantEntitlement);}catch(e){s(e);}}),n.command("revoke").description("Revoke an entitlement (workspace-scoped)").argument("<id>","Entitlement ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let i=await c(lt,{id:t});if(!i.hokRevokeEntitlement)throw new p(`Entitlement ${t} could not be revoked`);u(`Entitlement ${t} revoked`),a(e,{revoked:i.hokRevokeEntitlement});}catch(i){s(i);}});}function Rt(o){o.command("health").description("HookMovies service health check (public)").option("-f, --format <format>","Output format").action(async n=>{try{let t=await T(mt);u(t.hokHealth),a(n,{health:t.hokHealth});}catch(t){s(t);}});}var Ft={id:"hookmovies",version:"1.0.0",displayName:"HookMovies",dependsOn:["auth","workspaces"],register(o,n){v(n);let t=o.command("hookmovies").description("HookMovies creative-media network");gt(t),ft(t),ht(t),kt(t),It(t),yt(t),wt(t),Ct(t),Tt(t),Et(t),bt(t),vt(t),At(t),St(t),Rt(t);}},yi=Ft;module.exports=yi;
@@ -0,0 +1,7 @@
1
+ import { C as CliModule } from '../../module-DxCuik6L.cjs';
2
+ import 'commander';
3
+ import 'graphql-request';
4
+
5
+ declare const hookmoviesModule: CliModule;
6
+
7
+ export { hookmoviesModule as default };
@@ -0,0 +1,7 @@
1
+ import { C as CliModule } from '../../module-DxCuik6L.js';
2
+ import 'commander';
3
+ import 'graphql-request';
4
+
5
+ declare const hookmoviesModule: CliModule;
6
+
7
+ export { hookmoviesModule as default };