@burdenoff/cli-sdk 2026.627.5 → 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.
- package/dist/modules/adaptercloud/index.cjs +308 -0
- package/dist/modules/adaptercloud/index.d.cts +7 -0
- package/dist/modules/adaptercloud/index.d.ts +7 -0
- package/dist/modules/adaptercloud/index.js +308 -0
- package/dist/modules/atheletebridge/index.cjs +276 -0
- package/dist/modules/atheletebridge/index.d.cts +7 -0
- package/dist/modules/atheletebridge/index.d.ts +7 -0
- package/dist/modules/atheletebridge/index.js +276 -0
- package/dist/modules/coolandlovely/index.cjs +282 -0
- package/dist/modules/coolandlovely/index.d.cts +7 -0
- package/dist/modules/coolandlovely/index.d.ts +7 -0
- package/dist/modules/coolandlovely/index.js +282 -0
- package/dist/modules/hookmovies/index.cjs +304 -0
- package/dist/modules/hookmovies/index.d.cts +7 -0
- package/dist/modules/hookmovies/index.d.ts +7 -0
- package/dist/modules/hookmovies/index.js +304 -0
- package/dist/modules/labsofscience/index.cjs +343 -0
- package/dist/modules/labsofscience/index.d.cts +7 -0
- package/dist/modules/labsofscience/index.d.ts +7 -0
- package/dist/modules/labsofscience/index.js +343 -0
- package/dist/modules/subscriberbot/index.cjs +325 -0
- package/dist/modules/subscriberbot/index.d.cts +7 -0
- package/dist/modules/subscriberbot/index.d.ts +7 -0
- package/dist/modules/subscriberbot/index.js +325 -0
- package/package.json +1 -1
|
@@ -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;
|