@burdenoff/cli-sdk 2026.1102.1 → 2026.1102.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/chunk-O6UCQ5IT.js +1 -0
- package/dist/{chunk-AYNNSLCL.js → chunk-ZGT7IIOP.js} +409 -418
- package/dist/modules/adaptercloud/index.cjs +9 -6
- package/dist/modules/adaptercloud/index.js +7 -4
- package/dist/modules/artistrybase/index.js +2 -2
- package/dist/modules/assethandler/index.cjs +2 -2
- package/dist/modules/assethandler/index.js +2 -2
- package/dist/modules/atheletebridge/index.cjs +35 -21
- package/dist/modules/atheletebridge/index.js +33 -19
- package/dist/modules/auth/index.cjs +37 -37
- package/dist/modules/auth/index.js +33 -29
- package/dist/modules/billing/index.cjs +1 -1
- package/dist/modules/billing/index.js +2 -2
- package/dist/modules/brainyrich/index.cjs +44 -28
- package/dist/modules/brainyrich/index.js +47 -31
- package/dist/modules/buildmyiq/index.cjs +64 -67
- package/dist/modules/buildmyiq/index.js +60 -63
- package/dist/modules/channels/index.cjs +3 -3
- package/dist/modules/channels/index.js +2 -2
- package/dist/modules/collabkin/index.cjs +4 -4
- package/dist/modules/collabkin/index.js +2 -2
- package/dist/modules/comradecircle/index.cjs +24 -16
- package/dist/modules/comradecircle/index.js +20 -12
- package/dist/modules/conversations/index.cjs +7 -7
- package/dist/modules/conversations/index.js +2 -2
- package/dist/modules/coolandlovely/index.cjs +28 -15
- package/dist/modules/coolandlovely/index.js +30 -17
- package/dist/modules/cosmicintersection/index.cjs +6 -6
- package/dist/modules/cosmicintersection/index.js +2 -2
- package/dist/modules/crewfoundry/index.js +2 -2
- package/dist/modules/devportal/index.cjs +2 -2
- package/dist/modules/devportal/index.js +2 -2
- package/dist/modules/ecoimpacthub/index.cjs +23 -13
- package/dist/modules/ecoimpacthub/index.js +20 -10
- package/dist/modules/eventfullymanaged/index.cjs +74 -74
- package/dist/modules/eventfullymanaged/index.js +78 -78
- package/dist/modules/export/index.cjs +4 -4
- package/dist/modules/export/index.js +2 -2
- package/dist/modules/files/index.cjs +3 -3
- package/dist/modules/files/index.js +4 -4
- package/dist/modules/fluidgrids/index.cjs +16 -16
- package/dist/modules/fluidgrids/index.js +3 -3
- package/dist/modules/ggnomad/index.cjs +4 -4
- package/dist/modules/ggnomad/index.js +2 -2
- package/dist/modules/govcitizenhub/index.cjs +10 -7
- package/dist/modules/govcitizenhub/index.js +8 -5
- package/dist/modules/groups/index.cjs +4 -4
- package/dist/modules/groups/index.js +2 -2
- package/dist/modules/headshotmarketing/index.js +2 -2
- package/dist/modules/hookmovies/index.cjs +6 -6
- package/dist/modules/hookmovies/index.js +2 -2
- package/dist/modules/housingvista/index.cjs +3 -3
- package/dist/modules/housingvista/index.js +2 -2
- package/dist/modules/integrations/index.cjs +5 -5
- package/dist/modules/integrations/index.js +2 -2
- package/dist/modules/intelwatchtower/index.cjs +28 -16
- package/dist/modules/intelwatchtower/index.js +25 -13
- package/dist/modules/kadaikodi/index.cjs +2 -2
- package/dist/modules/kadaikodi/index.js +2 -2
- package/dist/modules/labsofscience/index.cjs +10 -6
- package/dist/modules/labsofscience/index.js +9 -5
- package/dist/modules/manufacturedops/index.cjs +35 -22
- package/dist/modules/manufacturedops/index.js +35 -22
- package/dist/modules/movethewheels/index.js +2 -2
- package/dist/modules/notifications/index.cjs +2 -2
- package/dist/modules/notifications/index.js +2 -2
- package/dist/modules/organizations/index.js +2 -2
- package/dist/modules/planmagnet/index.cjs +21 -21
- package/dist/modules/planmagnet/index.js +32 -32
- package/dist/modules/products/index.cjs +4 -4
- package/dist/modules/products/index.js +2 -2
- package/dist/modules/proserviceworld/index.cjs +18 -13
- package/dist/modules/proserviceworld/index.js +18 -13
- package/dist/modules/rbac/index.js +2 -2
- package/dist/modules/sandbox/index.cjs +17 -17
- package/dist/modules/sandbox/index.js +1 -1
- package/dist/modules/scheduler/index.cjs +2 -2
- package/dist/modules/scheduler/index.js +2 -2
- package/dist/modules/security/index.cjs +3 -3
- package/dist/modules/security/index.js +2 -2
- package/dist/modules/semanticfed/index.cjs +3 -3
- package/dist/modules/semanticfed/index.js +2 -2
- package/dist/modules/store/index.cjs +3 -3
- package/dist/modules/store/index.js +2 -2
- package/dist/modules/subscriberbot/index.cjs +43 -19
- package/dist/modules/subscriberbot/index.js +47 -23
- package/dist/modules/support/index.cjs +2 -2
- package/dist/modules/support/index.js +2 -2
- package/dist/modules/tags/index.js +2 -2
- package/dist/modules/technospam/index.cjs +18 -9
- package/dist/modules/technospam/index.js +18 -9
- package/dist/modules/theculturepost/index.cjs +27 -22
- package/dist/modules/theculturepost/index.js +32 -27
- package/dist/modules/theglobalfuel/index.cjs +65 -60
- package/dist/modules/theglobalfuel/index.js +65 -60
- package/dist/modules/timecampus/index.js +2 -2
- package/dist/modules/tours/index.cjs +2 -2
- package/dist/modules/tours/index.js +2 -2
- package/dist/modules/vibecontrols/index.cjs +563 -567
- package/dist/modules/vibecontrols/index.js +5 -4
- package/dist/modules/workspaces/index.cjs +4 -4
- package/dist/modules/workspaces/index.js +2 -2
- package/package.json +1 -1
- package/dist/chunk-W4JZR7RJ.js +0 -1
|
@@ -1,4 +1,4 @@
|
|
|
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.",{hint:`Run \`${o.productName} auth login\` to authenticate.`})}async function
|
|
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.",{hint:`Run \`${o.productName} auth login\` to authenticate.`})}async function u(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 c(o){I().output.printSuccess(o);}function l(o,n){return I().output.truncate(o,n)}var A=`
|
|
2
2
|
query HookmoviesGetTitle($id: ID!) {
|
|
3
3
|
hokTitle(id: $id) {
|
|
4
4
|
id title slug type status synopsis genres tags originCountry
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
aiDisclosure externalIds studioId createdAt updatedAt workspaceId
|
|
7
7
|
}
|
|
8
8
|
}
|
|
9
|
-
`,
|
|
9
|
+
`,x=`
|
|
10
10
|
query HookmoviesListTitles(
|
|
11
11
|
$pagination: PaginationInput
|
|
12
12
|
$status: HokTitleStatus
|
|
@@ -28,7 +28,7 @@
|
|
|
28
28
|
aiDisclosure studioId createdAt
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
-
`,
|
|
31
|
+
`,R=`
|
|
32
32
|
mutation HookmoviesUpdateTitle($id: ID!, $input: HokUpdateTitleInput!) {
|
|
33
33
|
hokUpdateTitle(id: $id, input: $input) {
|
|
34
34
|
id title slug type status synopsis genres tags releaseYear
|
|
@@ -269,13 +269,13 @@
|
|
|
269
269
|
startsAt endsAt licenseeId contractFileId createdAt
|
|
270
270
|
}
|
|
271
271
|
}
|
|
272
|
-
`,
|
|
272
|
+
`,ut=`
|
|
273
273
|
mutation HookmoviesTransitionRightsWindow($id: ID!, $status: HokRightsWindowStatus!) {
|
|
274
274
|
hokTransitionRightsWindow(id: $id, status: $status) {
|
|
275
275
|
id titleId status updatedAt
|
|
276
276
|
}
|
|
277
277
|
}
|
|
278
|
-
`,
|
|
278
|
+
`,ct=`
|
|
279
279
|
query HookmoviesMyEntitlements($titleId: ID) {
|
|
280
280
|
hokMyEntitlements(titleId: $titleId) {
|
|
281
281
|
id titleId userId mode source status territory expiresAt createdAt updatedAt
|
|
@@ -301,4 +301,4 @@
|
|
|
301
301
|
query HookmoviesHealth {
|
|
302
302
|
hokHealth
|
|
303
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 m(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 mt(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(R,{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=m(t.genres)),t.tags&&(e.tags=m(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(S,{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=m(e.genres)),e.tags&&(i.tags=m(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(O,{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(D,{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=m(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=m(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=m(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=m(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=m(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 Rt(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 St(o){o.command("health").description("HookMovies service health check (public)").option("-f, --format <format>","Output format").action(async n=>{try{let t=await T(gt);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");mt(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),Rt(t),St(t);}},yi=Ft;module.exports=yi;
|
|
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 m(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 mt(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 u(x,{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 u(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=m(t.genres)),t.tags&&(e.tags=m(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 u(S,{input:e});c(`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=m(e.genres)),e.tags&&(i.tags=m(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 u(R,{id:t,input:i});c("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 u(O,{id:t});if(!i.hokArchiveTitle)throw new p(`Title ${t} could not be archived`);c(`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 u(D,{id:t,status:e.status.toUpperCase()});c(`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 u(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=m(t.tags));let i=await u(P,{input:e});c(`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 u($,{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=m(t.tags));let i=await u(N,{input:e});c(`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 u(M,{input:e});c(`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 u(_,{input:e});c(`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 u(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 u(U,{input:e});c(`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 u(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 u(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=m(t.tags));let i=await u(F,{input:e});c(`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 u(G,{id:t,status:e.status.toUpperCase()});c(`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 u(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 u(V,{input:e});c(`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 u(Y,{id:t});c(`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 u(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 u(B,{input:e});c(`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 u(J,{id:t,score:e.score});c(`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 u(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 u(Q,{input:e});c(`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 u(X,{id:t});if(!i.hokDeleteReview)throw new p(`Review ${t} could not be deleted`);c(`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 u(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 u(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 u(et,{input:e});c(`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 u(it,{id:t,input:i});c("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 u(nt,{id:t});if(!i.hokDeleteList)throw new p(`List ${t} could not be deleted`);c(`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 u(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 u(rt,{input:e});c("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 u(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=m(t.modes).map(Rt=>Rt.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=m(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 u(at,{input:i});c(`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 u(ut,{id:t,status:e.status.toUpperCase()});c(`Rights window status set to ${i.hokTransitionRightsWindow.status}`),a(e,i.hokTransitionRightsWindow);}catch(i){s(i);}});}function xt(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 u(ct,{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 u(dt,{titleId:t.title});c(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 u(pt,{input:e});c(`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 u(lt,{id:t});if(!i.hokRevokeEntitlement)throw new p(`Entitlement ${t} could not be revoked`);c(`Entitlement ${t} revoked`),a(e,{revoked:i.hokRevokeEntitlement});}catch(i){s(i);}});}function St(o){o.command("health").description("HookMovies service health check (public)").option("-f, --format <format>","Output format").action(async n=>{try{let t=await T(gt);c(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");mt(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),xt(t),St(t);}},yi=Ft;module.exports=yi;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {a,b as b$1,h as h$1,
|
|
1
|
+
import {a,b as b$1,i,r,h as h$1,k,d}from'../../chunk-O6UCQ5IT.js';import {o}from'../../chunk-YIY5IDXQ.js';var w=`
|
|
2
2
|
query HookmoviesGetTitle($id: ID!) {
|
|
3
3
|
hokTitle(id: $id) {
|
|
4
4
|
id title slug type status synopsis genres tags originCountry
|
|
@@ -301,4 +301,4 @@ import {a,b as b$1,h as h$1,p,g as g$1,i,d}from'../../chunk-W4JZR7RJ.js';import
|
|
|
301
301
|
query HookmoviesHealth {
|
|
302
302
|
hokHealth
|
|
303
303
|
}
|
|
304
|
-
`;function h(d,o$1){try{return JSON.parse(o$1)}catch{throw new o(`--${d} must be valid JSON`)}}function c(d){let o$1=Number.parseInt(d,10);if(Number.isNaN(o$1))throw new o(`Expected an integer but got "${d}"`);return o$1}function l(d){return d.split(",").map(o=>o.trim()).filter(o=>o.length>0)}function g(d){let o={};return d.limit!==void 0&&(o.limit=d.limit),d.offset!==void 0&&(o.offset=d.offset),d.cursor&&(o.cursor=d.cursor),Object.keys(o).length?o:void 0}function ut(d){let o$1=d.command("titles").description("HookMovies catalog titles");o$1.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",c,50).option("--offset <n>","Offset",c,0).option("--cursor <c>","Pagination cursor").option("-f, --format <format>","Output format").action(async t=>{try{let e=(await b$1(T,{pagination:g(t),status:t.status?t.status.toUpperCase():void 0,type:t.type?t.type.toUpperCase():void 0,studioId:t.studio})).hokListTitles.items;h$1(t,e,{headers:["ID","Title","Type","Status","Year","Runtime"],rows:e.map(n=>[p(n.id,12),n.title,n.type,n.status,String(n.releaseYear??""),String(n.runtimeMinutes??"")])});}catch(i){g$1(i);}}),o$1.command("get").description("Get a title by id").argument("<id>","Title ID").option("-f, --format <format>","Output format").action(async(t,i)=>{try{let e=await b$1(w,{id:t});if(!e.hokTitle)throw new o(`Title ${t} not found`);h$1(i,e.hokTitle);}catch(e){g$1(e);}}),o$1.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",c).option("--runtime-minutes <n>","Runtime in minutes",c).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 i$1={title:t.title,type:(t.type??"MOVIE").toUpperCase()};t.slug&&(i$1.slug=t.slug),t.synopsis&&(i$1.synopsis=t.synopsis),t.genres&&(i$1.genres=l(t.genres)),t.tags&&(i$1.tags=l(t.tags)),t.originCountry&&(i$1.originCountry=t.originCountry),t.originalLanguage&&(i$1.originalLanguage=t.originalLanguage),t.releaseDate&&(i$1.releaseDate=t.releaseDate),t.releaseYear!==void 0&&(i$1.releaseYear=t.releaseYear),t.runtimeMinutes!==void 0&&(i$1.runtimeMinutes=t.runtimeMinutes),t.certification&&(i$1.certification=t.certification),t.studio&&(i$1.studioId=t.studio),t.aiDisclosure&&(i$1.aiDisclosure=!0);let e=await b$1(R,{input:i$1});i(`Title created: ${e.hokCreateTitle.title}`),h$1(t,e.hokCreateTitle);}catch(i){g$1(i);}}),o$1.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",c).option("--runtime-minutes <n>","Runtime in minutes",c).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,i$1)=>{try{let e={};if(i$1.title&&(e.title=i$1.title),i$1.type&&(e.type=i$1.type.toUpperCase()),i$1.slug&&(e.slug=i$1.slug),i$1.synopsis!==void 0&&(e.synopsis=i$1.synopsis),i$1.genres&&(e.genres=l(i$1.genres)),i$1.tags&&(e.tags=l(i$1.tags)),i$1.originCountry&&(e.originCountry=i$1.originCountry),i$1.originalLanguage&&(e.originalLanguage=i$1.originalLanguage),i$1.releaseDate&&(e.releaseDate=i$1.releaseDate),i$1.releaseYear!==void 0&&(e.releaseYear=i$1.releaseYear),i$1.runtimeMinutes!==void 0&&(e.runtimeMinutes=i$1.runtimeMinutes),i$1.certification&&(e.certification=i$1.certification),i$1.studio&&(e.studioId=i$1.studio),i$1.aiDisclosure!==void 0&&(e.aiDisclosure=i$1.aiDisclosure==="true"),!Object.keys(e).length)throw new o("No updates specified");let n=await b$1(E,{id:t,input:e});i("Title updated"),h$1(i$1,n.hokUpdateTitle);}catch(e){g$1(e);}}),o$1.command("archive").description("Archive (soft-delete) a title").argument("<id>","Title ID").option("-f, --format <format>","Output format").action(async(t,i$1)=>{try{let e=await b$1(A,{id:t});if(!e.hokArchiveTitle)throw new o(`Title ${t} could not be archived`);i(`Title ${t} archived`),h$1(i$1,{archived:e.hokArchiveTitle});}catch(e){g$1(e);}}),o$1.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,i$1)=>{try{let e=await b$1(D,{id:t,status:i$1.status.toUpperCase()});i(`Title status set to ${e.hokTransitionTitle.status}`),h$1(i$1,e.hokTransitionTitle);}catch(e){g$1(e);}});}function ct(d){let o=d.command("studios").description("HookMovies studios");o.command("list").description("List studios").option("--limit <n>","Page size",c,50).option("--offset <n>","Offset",c,0).option("--cursor <c>","Pagination cursor").option("-f, --format <format>","Output format").action(async t=>{try{let e=(await b$1(S,{pagination:g(t)})).hokListStudios.items;h$1(t,e,{headers:["ID","Name","Country","Verified","Website"],rows:e.map(n=>[p(n.id,12),n.name,n.country??"",n.isVerified?"yes":"no",n.websiteUrl??""])});}catch(i){g$1(i);}}),o.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 i$1={name:t.name};t.slug&&(i$1.slug=t.slug),t.country&&(i$1.country=t.country),t.description&&(i$1.description=t.description),t.website&&(i$1.websiteUrl=t.website),t.tags&&(i$1.tags=l(t.tags));let e=await b$1(L,{input:i$1});i(`Studio created: ${e.hokCreateStudio.name}`),h$1(t,e.hokCreateStudio);}catch(i){g$1(i);}});}function pt(d){let o=d.command("people").description("HookMovies cast & crew people");o.command("list").description("List people").option("--limit <n>","Page size",c,50).option("--offset <n>","Offset",c,0).option("--cursor <c>","Pagination cursor").option("-f, --format <format>","Output format").action(async t=>{try{let e=(await b$1(O,{pagination:g(t)})).hokListPeople.items;h$1(t,e,{headers:["ID","Name","Known For","Language"],rows:e.map(n=>[p(n.id,12),n.name,n.knownFor??"",n.primaryLanguage??""])});}catch(i){g$1(i);}}),o.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 i$1={name:t.name};t.biography&&(i$1.biography=t.biography),t.knownFor&&(i$1.knownFor=t.knownFor),t.primaryLanguage&&(i$1.primaryLanguage=t.primaryLanguage),t.portfolioRef&&(i$1.portfolioRef=t.portfolioRef),t.tags&&(i$1.tags=l(t.tags));let e=await b$1(b,{input:i$1});i(`Person created: ${e.hokCreatePerson.name}`),h$1(t,e.hokCreatePerson);}catch(i){g$1(i);}});}function mt(d){d.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",c).option("-f, --format <format>","Output format").action(async t=>{try{let i$1={titleId:t.title,personId:t.person,role:(t.role??"ACTOR").toUpperCase()};t.characterName&&(i$1.characterName=t.characterName),t.billingOrder!==void 0&&(i$1.billingOrder=t.billingOrder);let e=await b$1(v,{input:i$1});i(`Credit added: ${e.hokAddCredit.role}`),h$1(t,e.hokAddCredit);}catch(i){g$1(i);}});}function lt(d){d.command("seasons").description("HookMovies seasons").command("create").description("Create a season").requiredOption("--title <id>","Title ID").requiredOption("--number <n>","Season number",c).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 i$1={titleId:t.title,number:t.number};t.name&&(i$1.name=t.name),t.synopsis&&(i$1.synopsis=t.synopsis),t.airDate&&(i$1.airDate=t.airDate);let e=await b$1(P,{input:i$1});i(`Season created: #${e.hokCreateSeason.number}`),h$1(t,e.hokCreateSeason);}catch(i){g$1(i);}});}function gt(d){let o=d.command("episodes").description("HookMovies episodes");o.command("list").description("List episodes for a title").requiredOption("--title <id>","Title ID").option("-f, --format <format>","Output format").action(async t=>{try{let i=await b$1($,{titleId:t.title});h$1(t,i.hokListEpisodes,{headers:["ID","Number","Name","Runtime"],rows:i.hokListEpisodes.map(e=>[p(e.id,12),String(e.number),e.name,String(e.runtimeMinutes??"")])});}catch(i){g$1(i);}}),o.command("create").description("Create an episode").requiredOption("--title <id>","Title ID").requiredOption("--name <s>","Episode name").requiredOption("--number <n>","Episode number",c).option("--season <id>","Season ID").option("--synopsis <s>","Synopsis").option("--runtime-minutes <n>","Runtime in minutes",c).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 i$1={titleId:t.title,name:t.name,number:t.number};t.season&&(i$1.seasonId=t.season),t.synopsis&&(i$1.synopsis=t.synopsis),t.runtimeMinutes!==void 0&&(i$1.runtimeMinutes=t.runtimeMinutes),t.airDate&&(i$1.airDate=t.airDate),t.file&&(i$1.fileId=t.file);let e=await b$1(N,{input:i$1});i(`Episode created: ${e.hokCreateEpisode.name}`),h$1(t,e.hokCreateEpisode);}catch(i){g$1(i);}});}function ft(d){let o$1=d.command("productions").description("HookMovies B2B productions");o$1.command("list").description("List productions").option("--status <s>","Filter by production status").option("--studio <id>","Filter by studio ID").option("--limit <n>","Page size",c,50).option("--offset <n>","Offset",c,0).option("--cursor <c>","Pagination cursor").option("-f, --format <format>","Output format").action(async t=>{try{let e=(await b$1(M,{pagination:g(t),status:t.status?t.status.toUpperCase():void 0,studioId:t.studio})).hokListProductions.items;h$1(t,e,{headers:["ID","Title","Status","Studio","Currency"],rows:e.map(n=>[p(n.id,12),n.title,n.status,p(n.studioId??"",12),n.currency??""])});}catch(i){g$1(i);}}),o$1.command("get").description("Get a production by id").argument("<id>","Production ID").option("-f, --format <format>","Output format").action(async(t,i)=>{try{let e=await b$1(H,{id:t});if(!e.hokProduction)throw new o(`Production ${t} not found`);h$1(i,e.hokProduction);}catch(e){g$1(e);}}),o$1.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 i$1={title:t.title};t.logline&&(i$1.logline=t.logline),t.synopsis&&(i$1.synopsis=t.synopsis),t.studio&&(i$1.studioId=t.studio),t.producer&&(i$1.producerId=t.producer),t.currency&&(i$1.currency=t.currency),t.budgetMinorUnits&&(i$1.budgetMinorUnits=t.budgetMinorUnits),t.startDate&&(i$1.startDate=t.startDate),t.endDate&&(i$1.endDate=t.endDate),t.artistrybaseProjectRef&&(i$1.artistrybaseProjectRef=t.artistrybaseProjectRef),t.tags&&(i$1.tags=l(t.tags));let e=await b$1(U,{input:i$1});i(`Production created: ${e.hokCreateProduction.title}`),h$1(t,e.hokCreateProduction);}catch(i){g$1(i);}}),o$1.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,i$1)=>{try{let e=await b$1(x,{id:t,status:i$1.status.toUpperCase()});i(`Production status set to ${e.hokTransitionProduction.status}`),h$1(i$1,e.hokTransitionProduction);}catch(e){g$1(e);}});}function It(d){let o=d.command("auditions").description("HookMovies casting auditions");o.command("list").description("List auditions").option("--production <id>","Filter by production ID").option("--status <s>","Filter by audition status").option("--limit <n>","Page size",c,50).option("--offset <n>","Offset",c,0).option("--cursor <c>","Pagination cursor").option("-f, --format <format>","Output format").action(async t=>{try{let e=(await b$1(_,{pagination:g(t),productionId:t.production,status:t.status?t.status.toUpperCase():void 0})).hokListAuditions.items;h$1(t,e,{headers:["ID","Role","Status","Pay","Language","Location"],rows:e.map(n=>[p(n.id,12),n.roleName,n.status,n.payMinorUnits??"",n.language??"",n.location??""])});}catch(i){g$1(i);}}),o.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 i$1={productionId:t.production,roleName:t.roleName};t.description&&(i$1.description=t.description),t.currency&&(i$1.currency=t.currency),t.payMinorUnits&&(i$1.payMinorUnits=t.payMinorUnits),t.minorRole&&(i$1.isMinorRole=!0),t.language&&(i$1.language=t.language),t.location&&(i$1.location=t.location),t.submissionDeadline&&(i$1.submissionDeadline=t.submissionDeadline);let e=await b$1(W,{input:i$1});i(`Audition created: ${e.hokCreateAudition.roleName}`),h$1(t,e.hokCreateAudition);}catch(i){g$1(i);}}),o.command("close").description("Close an audition").argument("<id>","Audition ID").option("-f, --format <format>","Output format").action(async(t,i$1)=>{try{let e=await b$1(q,{id:t});i(`Audition closed: ${e.hokCloseAudition.roleName}`),h$1(i$1,e.hokCloseAudition);}catch(e){g$1(e);}});}function ht(d){let o=d.command("applications").description("HookMovies audition applications");o.command("list").description("List applications for an audition").requiredOption("--audition <id>","Audition ID").option("-f, --format <format>","Output format").action(async t=>{try{let i=await b$1(F,{auditionId:t.audition});h$1(t,i.hokListApplications,{headers:["ID","Applicant","Status","Score"],rows:i.hokListApplications.map(e=>[p(e.id,12),p(e.applicantId,12),e.status,String(e.score??"")])});}catch(i){g$1(i);}}),o.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 i$1={auditionId:t.audition};t.coverNote&&(i$1.coverNote=t.coverNote),t.selfTapeFile&&(i$1.selfTapeFileId=t.selfTapeFile);let e=await b$1(G,{input:i$1});i(`Applied to audition ${t.audition}`),h$1(t,e.hokApplyToAudition);}catch(i){g$1(i);}}),o.command("score").description("Score an applicant (casting-team action)").argument("<id>","Application ID").requiredOption("--score <n>","Score",c).option("-f, --format <format>","Output format").action(async(t,i$1)=>{try{let e=await b$1(V,{id:t,score:i$1.score});i(`Application scored: ${e.hokScoreApplication.score??""}`),h$1(i$1,e.hokScoreApplication);}catch(e){g$1(e);}});}function yt(d){let o$1=d.command("reviews").description("HookMovies reviews");o$1.command("list").description("List reviews").option("--title <id>","Filter by title ID").option("--status <s>","Filter by review status").option("--limit <n>","Page size",c,50).option("--offset <n>","Offset",c,0).option("--cursor <c>","Pagination cursor").option("-f, --format <format>","Output format").action(async t=>{try{let e=(await b$1(Y,{pagination:g(t),status:t.status?t.status.toUpperCase():void 0,titleId:t.title})).hokListReviews.items;h$1(t,e,{headers:["ID","Title","Score","Status","Helpful"],rows:e.map(n=>[p(n.id,12),p(n.titleId,12),String(n.score),n.status,String(n.helpfulCount??0)])});}catch(i){g$1(i);}}),o$1.command("create").description("Create a review").requiredOption("--title <id>","Title ID").requiredOption("--score <n>","Score",c).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 i$1={titleId:t.title,score:t.score};t.body&&(i$1.body=t.body),t.hasSpoilers&&(i$1.hasSpoilers=!0),t.aspectScores&&(i$1.aspectScores=h("aspect-scores",t.aspectScores));let e=await b$1(j,{input:i$1});i(`Review created for title ${t.title}`),h$1(t,e.hokCreateReview);}catch(i){g$1(i);}}),o$1.command("delete").description("Delete a review you authored").argument("<id>","Review ID").option("-f, --format <format>","Output format").action(async(t,i$1)=>{try{let e=await b$1(z,{id:t});if(!e.hokDeleteReview)throw new o(`Review ${t} could not be deleted`);i(`Review ${t} deleted`),h$1(i$1,{deleted:e.hokDeleteReview});}catch(e){g$1(e);}});}function kt(d){let o$1=d.command("lists").description("HookMovies watchlists & playlists");o$1.command("mine").description("List the calling user's own lists").option("--kind <k>","Filter by list kind (WATCHLIST|PLAYLIST)").option("--limit <n>","Page size",c,50).option("--offset <n>","Offset",c,0).option("--cursor <c>","Pagination cursor").option("-f, --format <format>","Output format").action(async t=>{try{let e=(await b$1(B,{kind:t.kind?t.kind.toUpperCase():void 0,pagination:g(t)})).hokMyLists.items;h$1(t,e,{headers:["ID","Name","Kind","Visibility","Items"],rows:e.map(n=>[p(n.id,12),n.name,n.kind,n.visibility,String(n.itemCount)])});}catch(i){g$1(i);}}),o$1.command("get").description("Get a list by id").argument("<id>","List ID").option("-f, --format <format>","Output format").action(async(t,i)=>{try{let e=await b$1(J,{id:t});if(!e.hokList)throw new o(`List ${t} not found`);h$1(i,e.hokList);}catch(e){g$1(e);}}),o$1.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 i$1={name:t.name,kind:(t.kind??"PLAYLIST").toUpperCase(),visibility:(t.visibility??"PRIVATE").toUpperCase()};t.description&&(i$1.description=t.description),t.items&&(i$1.items=h("items",t.items));let e=await b$1(K,{input:i$1});i(`List created: ${e.hokCreateList.name}`),h$1(t,e.hokCreateList);}catch(i){g$1(i);}}),o$1.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,i$1)=>{try{let e={};if(i$1.name&&(e.name=i$1.name),i$1.visibility&&(e.visibility=i$1.visibility.toUpperCase()),i$1.description!==void 0&&(e.description=i$1.description),i$1.items&&(e.items=h("items",i$1.items)),!Object.keys(e).length)throw new o("No updates specified");let n=await b$1(X,{id:t,input:e});i("List updated"),h$1(i$1,n.hokUpdateList);}catch(e){g$1(e);}}),o$1.command("delete").description("Delete a list you own").argument("<id>","List ID").option("-f, --format <format>","Output format").action(async(t,i$1)=>{try{let e=await b$1(Q,{id:t});if(!e.hokDeleteList)throw new o(`List ${t} could not be deleted`);i(`List ${t} deleted`),h$1(i$1,{deleted:e.hokDeleteList});}catch(e){g$1(e);}});}function Ct(d){let o=d.command("progress").description("HookMovies watch progress");o.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 i=await b$1(Z,{titleId:t.title});h$1(t,i.hokMyWatchProgress,{headers:["ID","Title","Position(s)","Completed","Device"],rows:i.hokMyWatchProgress.map(e=>[p(e.id,12),p(e.titleId,12),String(e.positionSeconds),e.completed?"yes":"no",e.lastDevice??""])});}catch(i){g$1(i);}}),o.command("record").description("Upsert the calling user's watch progress").requiredOption("--title <id>","Title ID").requiredOption("--position-seconds <n>","Playback position in seconds",c).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 i$1={titleId:t.title,positionSeconds:t.positionSeconds};t.episode&&(i$1.episodeId=t.episode),t.completed&&(i$1.completed=!0),t.lastDevice&&(i$1.lastDevice=t.lastDevice);let e=await b$1(tt,{input:i$1});i("Progress recorded"),h$1(t,e.hokRecordProgress);}catch(i){g$1(i);}});}function wt(d){let o$1=d.command("rights").description("HookMovies rights windows");o$1.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",c,50).option("--offset <n>","Offset",c,0).option("--cursor <c>","Pagination cursor").option("-f, --format <format>","Output format").action(async t=>{try{let e=(await b$1(it,{pagination:g(t),status:t.status?t.status.toUpperCase():void 0,titleId:t.title})).hokListRightsWindows.items;h$1(t,e,{headers:["ID","Title","Status","Exclusive","Modes"],rows:e.map(n=>[p(n.id,12),p(n.titleId,12),n.status,n.exclusive?"yes":"no",(n.modes??[]).join(",")])});}catch(i){g$1(i);}}),o$1.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 i$1=l(t.modes).map(Et=>Et.toUpperCase());if(i$1.length===0)throw new o("--modes must list at least one mode");let e={titleId:t.title,modes:i$1};t.exclusive&&(e.exclusive=!0),t.currency&&(e.currency=t.currency),t.territories&&(e.territories=l(t.territories)),t.licensee&&(e.licenseeId=t.licensee),t.priceMinorUnits&&(e.priceMinorUnits=h("price-minor-units",t.priceMinorUnits)),t.startsAt&&(e.startsAt=t.startsAt),t.endsAt&&(e.endsAt=t.endsAt),t.contractFile&&(e.contractFileId=t.contractFile);let n=await b$1(et,{input:e});i(`Rights window created for title ${t.title}`),h$1(t,n.hokCreateRightsWindow);}catch(i){g$1(i);}}),o$1.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,i$1)=>{try{let e=await b$1(ot,{id:t,status:i$1.status.toUpperCase()});i(`Rights window status set to ${e.hokTransitionRightsWindow.status}`),h$1(i$1,e.hokTransitionRightsWindow);}catch(e){g$1(e);}});}function Tt(d){let o$1=d.command("entitlements").description("HookMovies entitlements");o$1.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 i=await b$1(nt,{titleId:t.title});h$1(t,i.hokMyEntitlements,{headers:["ID","Title","Mode","Source","Status"],rows:i.hokMyEntitlements.map(e=>[p(e.id,12),p(e.titleId,12),e.mode,e.source,e.status])});}catch(i){g$1(i);}}),o$1.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 i$1=await b$1(st,{titleId:t.title});i(i$1.hokCheckEntitlement.entitled?"Entitled":"Not entitled"),h$1(t,i$1.hokCheckEntitlement);}catch(i){g$1(i);}}),o$1.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 i$1={titleId:t.title,userId:t.user,mode:t.mode.toUpperCase(),source:(t.source??"SUBSCRIPTION").toUpperCase()};t.territory&&(i$1.territory=t.territory),t.expiresAt&&(i$1.expiresAt=t.expiresAt);let e=await b$1(rt,{input:i$1});i(`Entitlement granted to user ${t.user}`),h$1(t,e.hokGrantEntitlement);}catch(i){g$1(i);}}),o$1.command("revoke").description("Revoke an entitlement (workspace-scoped)").argument("<id>","Entitlement ID").option("-f, --format <format>","Output format").action(async(t,i$1)=>{try{let e=await b$1(at,{id:t});if(!e.hokRevokeEntitlement)throw new o(`Entitlement ${t} could not be revoked`);i(`Entitlement ${t} revoked`),h$1(i$1,{revoked:e.hokRevokeEntitlement});}catch(e){g$1(e);}});}function Rt(d$1){d$1.command("health").description("HookMovies service health check (public)").option("-f, --format <format>","Output format").action(async o=>{try{let t=await d(dt);i(t.hokHealth),h$1(o,{health:t.hokHealth});}catch(t){g$1(t);}});}var At={id:"hookmovies",version:"1.0.0",displayName:"HookMovies",dependsOn:["auth","workspaces"],register(d,o){a(o);let t=d.command("hookmovies").description("HookMovies creative-media network");ut(t),ct(t),pt(t),mt(t),lt(t),gt(t),ft(t),It(t),ht(t),yt(t),kt(t),Ct(t),wt(t),Tt(t),Rt(t);}},Zt=At;export{Zt as default};
|
|
304
|
+
`;function h(d,o$1){try{return JSON.parse(o$1)}catch{throw new o(`--${d} must be valid JSON`)}}function c(d){let o$1=Number.parseInt(d,10);if(Number.isNaN(o$1))throw new o(`Expected an integer but got "${d}"`);return o$1}function l(d){return d.split(",").map(o=>o.trim()).filter(o=>o.length>0)}function g(d){let o={};return d.limit!==void 0&&(o.limit=d.limit),d.offset!==void 0&&(o.offset=d.offset),d.cursor&&(o.cursor=d.cursor),Object.keys(o).length?o:void 0}function ut(d){let o$1=d.command("titles").description("HookMovies catalog titles");o$1.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",c,50).option("--offset <n>","Offset",c,0).option("--cursor <c>","Pagination cursor").option("-f, --format <format>","Output format").action(async t=>{try{let e=(await b$1(T,{pagination:g(t),status:t.status?t.status.toUpperCase():void 0,type:t.type?t.type.toUpperCase():void 0,studioId:t.studio})).hokListTitles.items;i(t,e,{headers:["ID","Title","Type","Status","Year","Runtime"],rows:e.map(n=>[r(n.id,12),n.title,n.type,n.status,String(n.releaseYear??""),String(n.runtimeMinutes??"")])});}catch(i){h$1(i);}}),o$1.command("get").description("Get a title by id").argument("<id>","Title ID").option("-f, --format <format>","Output format").action(async(t,i$1)=>{try{let e=await b$1(w,{id:t});if(!e.hokTitle)throw new o(`Title ${t} not found`);i(i$1,e.hokTitle);}catch(e){h$1(e);}}),o$1.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",c).option("--runtime-minutes <n>","Runtime in minutes",c).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 i$1={title:t.title,type:(t.type??"MOVIE").toUpperCase()};t.slug&&(i$1.slug=t.slug),t.synopsis&&(i$1.synopsis=t.synopsis),t.genres&&(i$1.genres=l(t.genres)),t.tags&&(i$1.tags=l(t.tags)),t.originCountry&&(i$1.originCountry=t.originCountry),t.originalLanguage&&(i$1.originalLanguage=t.originalLanguage),t.releaseDate&&(i$1.releaseDate=t.releaseDate),t.releaseYear!==void 0&&(i$1.releaseYear=t.releaseYear),t.runtimeMinutes!==void 0&&(i$1.runtimeMinutes=t.runtimeMinutes),t.certification&&(i$1.certification=t.certification),t.studio&&(i$1.studioId=t.studio),t.aiDisclosure&&(i$1.aiDisclosure=!0);let e=await b$1(R,{input:i$1});k(`Title created: ${e.hokCreateTitle.title}`),i(t,e.hokCreateTitle);}catch(i){h$1(i);}}),o$1.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",c).option("--runtime-minutes <n>","Runtime in minutes",c).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,i$1)=>{try{let e={};if(i$1.title&&(e.title=i$1.title),i$1.type&&(e.type=i$1.type.toUpperCase()),i$1.slug&&(e.slug=i$1.slug),i$1.synopsis!==void 0&&(e.synopsis=i$1.synopsis),i$1.genres&&(e.genres=l(i$1.genres)),i$1.tags&&(e.tags=l(i$1.tags)),i$1.originCountry&&(e.originCountry=i$1.originCountry),i$1.originalLanguage&&(e.originalLanguage=i$1.originalLanguage),i$1.releaseDate&&(e.releaseDate=i$1.releaseDate),i$1.releaseYear!==void 0&&(e.releaseYear=i$1.releaseYear),i$1.runtimeMinutes!==void 0&&(e.runtimeMinutes=i$1.runtimeMinutes),i$1.certification&&(e.certification=i$1.certification),i$1.studio&&(e.studioId=i$1.studio),i$1.aiDisclosure!==void 0&&(e.aiDisclosure=i$1.aiDisclosure==="true"),!Object.keys(e).length)throw new o("No updates specified");let n=await b$1(E,{id:t,input:e});k("Title updated"),i(i$1,n.hokUpdateTitle);}catch(e){h$1(e);}}),o$1.command("archive").description("Archive (soft-delete) a title").argument("<id>","Title ID").option("-f, --format <format>","Output format").action(async(t,i$1)=>{try{let e=await b$1(A,{id:t});if(!e.hokArchiveTitle)throw new o(`Title ${t} could not be archived`);k(`Title ${t} archived`),i(i$1,{archived:e.hokArchiveTitle});}catch(e){h$1(e);}}),o$1.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,i$1)=>{try{let e=await b$1(D,{id:t,status:i$1.status.toUpperCase()});k(`Title status set to ${e.hokTransitionTitle.status}`),i(i$1,e.hokTransitionTitle);}catch(e){h$1(e);}});}function ct(d){let o=d.command("studios").description("HookMovies studios");o.command("list").description("List studios").option("--limit <n>","Page size",c,50).option("--offset <n>","Offset",c,0).option("--cursor <c>","Pagination cursor").option("-f, --format <format>","Output format").action(async t=>{try{let e=(await b$1(S,{pagination:g(t)})).hokListStudios.items;i(t,e,{headers:["ID","Name","Country","Verified","Website"],rows:e.map(n=>[r(n.id,12),n.name,n.country??"",n.isVerified?"yes":"no",n.websiteUrl??""])});}catch(i){h$1(i);}}),o.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 i$1={name:t.name};t.slug&&(i$1.slug=t.slug),t.country&&(i$1.country=t.country),t.description&&(i$1.description=t.description),t.website&&(i$1.websiteUrl=t.website),t.tags&&(i$1.tags=l(t.tags));let e=await b$1(L,{input:i$1});k(`Studio created: ${e.hokCreateStudio.name}`),i(t,e.hokCreateStudio);}catch(i){h$1(i);}});}function pt(d){let o=d.command("people").description("HookMovies cast & crew people");o.command("list").description("List people").option("--limit <n>","Page size",c,50).option("--offset <n>","Offset",c,0).option("--cursor <c>","Pagination cursor").option("-f, --format <format>","Output format").action(async t=>{try{let e=(await b$1(O,{pagination:g(t)})).hokListPeople.items;i(t,e,{headers:["ID","Name","Known For","Language"],rows:e.map(n=>[r(n.id,12),n.name,n.knownFor??"",n.primaryLanguage??""])});}catch(i){h$1(i);}}),o.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 i$1={name:t.name};t.biography&&(i$1.biography=t.biography),t.knownFor&&(i$1.knownFor=t.knownFor),t.primaryLanguage&&(i$1.primaryLanguage=t.primaryLanguage),t.portfolioRef&&(i$1.portfolioRef=t.portfolioRef),t.tags&&(i$1.tags=l(t.tags));let e=await b$1(b,{input:i$1});k(`Person created: ${e.hokCreatePerson.name}`),i(t,e.hokCreatePerson);}catch(i){h$1(i);}});}function mt(d){d.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",c).option("-f, --format <format>","Output format").action(async t=>{try{let i$1={titleId:t.title,personId:t.person,role:(t.role??"ACTOR").toUpperCase()};t.characterName&&(i$1.characterName=t.characterName),t.billingOrder!==void 0&&(i$1.billingOrder=t.billingOrder);let e=await b$1(v,{input:i$1});k(`Credit added: ${e.hokAddCredit.role}`),i(t,e.hokAddCredit);}catch(i){h$1(i);}});}function lt(d){d.command("seasons").description("HookMovies seasons").command("create").description("Create a season").requiredOption("--title <id>","Title ID").requiredOption("--number <n>","Season number",c).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 i$1={titleId:t.title,number:t.number};t.name&&(i$1.name=t.name),t.synopsis&&(i$1.synopsis=t.synopsis),t.airDate&&(i$1.airDate=t.airDate);let e=await b$1(P,{input:i$1});k(`Season created: #${e.hokCreateSeason.number}`),i(t,e.hokCreateSeason);}catch(i){h$1(i);}});}function gt(d){let o=d.command("episodes").description("HookMovies episodes");o.command("list").description("List episodes for a title").requiredOption("--title <id>","Title ID").option("-f, --format <format>","Output format").action(async t=>{try{let i$1=await b$1($,{titleId:t.title});i(t,i$1.hokListEpisodes,{headers:["ID","Number","Name","Runtime"],rows:i$1.hokListEpisodes.map(e=>[r(e.id,12),String(e.number),e.name,String(e.runtimeMinutes??"")])});}catch(i){h$1(i);}}),o.command("create").description("Create an episode").requiredOption("--title <id>","Title ID").requiredOption("--name <s>","Episode name").requiredOption("--number <n>","Episode number",c).option("--season <id>","Season ID").option("--synopsis <s>","Synopsis").option("--runtime-minutes <n>","Runtime in minutes",c).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 i$1={titleId:t.title,name:t.name,number:t.number};t.season&&(i$1.seasonId=t.season),t.synopsis&&(i$1.synopsis=t.synopsis),t.runtimeMinutes!==void 0&&(i$1.runtimeMinutes=t.runtimeMinutes),t.airDate&&(i$1.airDate=t.airDate),t.file&&(i$1.fileId=t.file);let e=await b$1(N,{input:i$1});k(`Episode created: ${e.hokCreateEpisode.name}`),i(t,e.hokCreateEpisode);}catch(i){h$1(i);}});}function ft(d){let o$1=d.command("productions").description("HookMovies B2B productions");o$1.command("list").description("List productions").option("--status <s>","Filter by production status").option("--studio <id>","Filter by studio ID").option("--limit <n>","Page size",c,50).option("--offset <n>","Offset",c,0).option("--cursor <c>","Pagination cursor").option("-f, --format <format>","Output format").action(async t=>{try{let e=(await b$1(M,{pagination:g(t),status:t.status?t.status.toUpperCase():void 0,studioId:t.studio})).hokListProductions.items;i(t,e,{headers:["ID","Title","Status","Studio","Currency"],rows:e.map(n=>[r(n.id,12),n.title,n.status,r(n.studioId??"",12),n.currency??""])});}catch(i){h$1(i);}}),o$1.command("get").description("Get a production by id").argument("<id>","Production ID").option("-f, --format <format>","Output format").action(async(t,i$1)=>{try{let e=await b$1(H,{id:t});if(!e.hokProduction)throw new o(`Production ${t} not found`);i(i$1,e.hokProduction);}catch(e){h$1(e);}}),o$1.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 i$1={title:t.title};t.logline&&(i$1.logline=t.logline),t.synopsis&&(i$1.synopsis=t.synopsis),t.studio&&(i$1.studioId=t.studio),t.producer&&(i$1.producerId=t.producer),t.currency&&(i$1.currency=t.currency),t.budgetMinorUnits&&(i$1.budgetMinorUnits=t.budgetMinorUnits),t.startDate&&(i$1.startDate=t.startDate),t.endDate&&(i$1.endDate=t.endDate),t.artistrybaseProjectRef&&(i$1.artistrybaseProjectRef=t.artistrybaseProjectRef),t.tags&&(i$1.tags=l(t.tags));let e=await b$1(U,{input:i$1});k(`Production created: ${e.hokCreateProduction.title}`),i(t,e.hokCreateProduction);}catch(i){h$1(i);}}),o$1.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,i$1)=>{try{let e=await b$1(x,{id:t,status:i$1.status.toUpperCase()});k(`Production status set to ${e.hokTransitionProduction.status}`),i(i$1,e.hokTransitionProduction);}catch(e){h$1(e);}});}function It(d){let o=d.command("auditions").description("HookMovies casting auditions");o.command("list").description("List auditions").option("--production <id>","Filter by production ID").option("--status <s>","Filter by audition status").option("--limit <n>","Page size",c,50).option("--offset <n>","Offset",c,0).option("--cursor <c>","Pagination cursor").option("-f, --format <format>","Output format").action(async t=>{try{let e=(await b$1(_,{pagination:g(t),productionId:t.production,status:t.status?t.status.toUpperCase():void 0})).hokListAuditions.items;i(t,e,{headers:["ID","Role","Status","Pay","Language","Location"],rows:e.map(n=>[r(n.id,12),n.roleName,n.status,n.payMinorUnits??"",n.language??"",n.location??""])});}catch(i){h$1(i);}}),o.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 i$1={productionId:t.production,roleName:t.roleName};t.description&&(i$1.description=t.description),t.currency&&(i$1.currency=t.currency),t.payMinorUnits&&(i$1.payMinorUnits=t.payMinorUnits),t.minorRole&&(i$1.isMinorRole=!0),t.language&&(i$1.language=t.language),t.location&&(i$1.location=t.location),t.submissionDeadline&&(i$1.submissionDeadline=t.submissionDeadline);let e=await b$1(W,{input:i$1});k(`Audition created: ${e.hokCreateAudition.roleName}`),i(t,e.hokCreateAudition);}catch(i){h$1(i);}}),o.command("close").description("Close an audition").argument("<id>","Audition ID").option("-f, --format <format>","Output format").action(async(t,i$1)=>{try{let e=await b$1(q,{id:t});k(`Audition closed: ${e.hokCloseAudition.roleName}`),i(i$1,e.hokCloseAudition);}catch(e){h$1(e);}});}function ht(d){let o=d.command("applications").description("HookMovies audition applications");o.command("list").description("List applications for an audition").requiredOption("--audition <id>","Audition ID").option("-f, --format <format>","Output format").action(async t=>{try{let i$1=await b$1(F,{auditionId:t.audition});i(t,i$1.hokListApplications,{headers:["ID","Applicant","Status","Score"],rows:i$1.hokListApplications.map(e=>[r(e.id,12),r(e.applicantId,12),e.status,String(e.score??"")])});}catch(i){h$1(i);}}),o.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 i$1={auditionId:t.audition};t.coverNote&&(i$1.coverNote=t.coverNote),t.selfTapeFile&&(i$1.selfTapeFileId=t.selfTapeFile);let e=await b$1(G,{input:i$1});k(`Applied to audition ${t.audition}`),i(t,e.hokApplyToAudition);}catch(i){h$1(i);}}),o.command("score").description("Score an applicant (casting-team action)").argument("<id>","Application ID").requiredOption("--score <n>","Score",c).option("-f, --format <format>","Output format").action(async(t,i$1)=>{try{let e=await b$1(V,{id:t,score:i$1.score});k(`Application scored: ${e.hokScoreApplication.score??""}`),i(i$1,e.hokScoreApplication);}catch(e){h$1(e);}});}function yt(d){let o$1=d.command("reviews").description("HookMovies reviews");o$1.command("list").description("List reviews").option("--title <id>","Filter by title ID").option("--status <s>","Filter by review status").option("--limit <n>","Page size",c,50).option("--offset <n>","Offset",c,0).option("--cursor <c>","Pagination cursor").option("-f, --format <format>","Output format").action(async t=>{try{let e=(await b$1(Y,{pagination:g(t),status:t.status?t.status.toUpperCase():void 0,titleId:t.title})).hokListReviews.items;i(t,e,{headers:["ID","Title","Score","Status","Helpful"],rows:e.map(n=>[r(n.id,12),r(n.titleId,12),String(n.score),n.status,String(n.helpfulCount??0)])});}catch(i){h$1(i);}}),o$1.command("create").description("Create a review").requiredOption("--title <id>","Title ID").requiredOption("--score <n>","Score",c).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 i$1={titleId:t.title,score:t.score};t.body&&(i$1.body=t.body),t.hasSpoilers&&(i$1.hasSpoilers=!0),t.aspectScores&&(i$1.aspectScores=h("aspect-scores",t.aspectScores));let e=await b$1(j,{input:i$1});k(`Review created for title ${t.title}`),i(t,e.hokCreateReview);}catch(i){h$1(i);}}),o$1.command("delete").description("Delete a review you authored").argument("<id>","Review ID").option("-f, --format <format>","Output format").action(async(t,i$1)=>{try{let e=await b$1(z,{id:t});if(!e.hokDeleteReview)throw new o(`Review ${t} could not be deleted`);k(`Review ${t} deleted`),i(i$1,{deleted:e.hokDeleteReview});}catch(e){h$1(e);}});}function kt(d){let o$1=d.command("lists").description("HookMovies watchlists & playlists");o$1.command("mine").description("List the calling user's own lists").option("--kind <k>","Filter by list kind (WATCHLIST|PLAYLIST)").option("--limit <n>","Page size",c,50).option("--offset <n>","Offset",c,0).option("--cursor <c>","Pagination cursor").option("-f, --format <format>","Output format").action(async t=>{try{let e=(await b$1(B,{kind:t.kind?t.kind.toUpperCase():void 0,pagination:g(t)})).hokMyLists.items;i(t,e,{headers:["ID","Name","Kind","Visibility","Items"],rows:e.map(n=>[r(n.id,12),n.name,n.kind,n.visibility,String(n.itemCount)])});}catch(i){h$1(i);}}),o$1.command("get").description("Get a list by id").argument("<id>","List ID").option("-f, --format <format>","Output format").action(async(t,i$1)=>{try{let e=await b$1(J,{id:t});if(!e.hokList)throw new o(`List ${t} not found`);i(i$1,e.hokList);}catch(e){h$1(e);}}),o$1.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 i$1={name:t.name,kind:(t.kind??"PLAYLIST").toUpperCase(),visibility:(t.visibility??"PRIVATE").toUpperCase()};t.description&&(i$1.description=t.description),t.items&&(i$1.items=h("items",t.items));let e=await b$1(K,{input:i$1});k(`List created: ${e.hokCreateList.name}`),i(t,e.hokCreateList);}catch(i){h$1(i);}}),o$1.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,i$1)=>{try{let e={};if(i$1.name&&(e.name=i$1.name),i$1.visibility&&(e.visibility=i$1.visibility.toUpperCase()),i$1.description!==void 0&&(e.description=i$1.description),i$1.items&&(e.items=h("items",i$1.items)),!Object.keys(e).length)throw new o("No updates specified");let n=await b$1(X,{id:t,input:e});k("List updated"),i(i$1,n.hokUpdateList);}catch(e){h$1(e);}}),o$1.command("delete").description("Delete a list you own").argument("<id>","List ID").option("-f, --format <format>","Output format").action(async(t,i$1)=>{try{let e=await b$1(Q,{id:t});if(!e.hokDeleteList)throw new o(`List ${t} could not be deleted`);k(`List ${t} deleted`),i(i$1,{deleted:e.hokDeleteList});}catch(e){h$1(e);}});}function Ct(d){let o=d.command("progress").description("HookMovies watch progress");o.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 i$1=await b$1(Z,{titleId:t.title});i(t,i$1.hokMyWatchProgress,{headers:["ID","Title","Position(s)","Completed","Device"],rows:i$1.hokMyWatchProgress.map(e=>[r(e.id,12),r(e.titleId,12),String(e.positionSeconds),e.completed?"yes":"no",e.lastDevice??""])});}catch(i){h$1(i);}}),o.command("record").description("Upsert the calling user's watch progress").requiredOption("--title <id>","Title ID").requiredOption("--position-seconds <n>","Playback position in seconds",c).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 i$1={titleId:t.title,positionSeconds:t.positionSeconds};t.episode&&(i$1.episodeId=t.episode),t.completed&&(i$1.completed=!0),t.lastDevice&&(i$1.lastDevice=t.lastDevice);let e=await b$1(tt,{input:i$1});k("Progress recorded"),i(t,e.hokRecordProgress);}catch(i){h$1(i);}});}function wt(d){let o$1=d.command("rights").description("HookMovies rights windows");o$1.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",c,50).option("--offset <n>","Offset",c,0).option("--cursor <c>","Pagination cursor").option("-f, --format <format>","Output format").action(async t=>{try{let e=(await b$1(it,{pagination:g(t),status:t.status?t.status.toUpperCase():void 0,titleId:t.title})).hokListRightsWindows.items;i(t,e,{headers:["ID","Title","Status","Exclusive","Modes"],rows:e.map(n=>[r(n.id,12),r(n.titleId,12),n.status,n.exclusive?"yes":"no",(n.modes??[]).join(",")])});}catch(i){h$1(i);}}),o$1.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 i$1=l(t.modes).map(Et=>Et.toUpperCase());if(i$1.length===0)throw new o("--modes must list at least one mode");let e={titleId:t.title,modes:i$1};t.exclusive&&(e.exclusive=!0),t.currency&&(e.currency=t.currency),t.territories&&(e.territories=l(t.territories)),t.licensee&&(e.licenseeId=t.licensee),t.priceMinorUnits&&(e.priceMinorUnits=h("price-minor-units",t.priceMinorUnits)),t.startsAt&&(e.startsAt=t.startsAt),t.endsAt&&(e.endsAt=t.endsAt),t.contractFile&&(e.contractFileId=t.contractFile);let n=await b$1(et,{input:e});k(`Rights window created for title ${t.title}`),i(t,n.hokCreateRightsWindow);}catch(i){h$1(i);}}),o$1.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,i$1)=>{try{let e=await b$1(ot,{id:t,status:i$1.status.toUpperCase()});k(`Rights window status set to ${e.hokTransitionRightsWindow.status}`),i(i$1,e.hokTransitionRightsWindow);}catch(e){h$1(e);}});}function Tt(d){let o$1=d.command("entitlements").description("HookMovies entitlements");o$1.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 i$1=await b$1(nt,{titleId:t.title});i(t,i$1.hokMyEntitlements,{headers:["ID","Title","Mode","Source","Status"],rows:i$1.hokMyEntitlements.map(e=>[r(e.id,12),r(e.titleId,12),e.mode,e.source,e.status])});}catch(i){h$1(i);}}),o$1.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 i$1=await b$1(st,{titleId:t.title});k(i$1.hokCheckEntitlement.entitled?"Entitled":"Not entitled"),i(t,i$1.hokCheckEntitlement);}catch(i){h$1(i);}}),o$1.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 i$1={titleId:t.title,userId:t.user,mode:t.mode.toUpperCase(),source:(t.source??"SUBSCRIPTION").toUpperCase()};t.territory&&(i$1.territory=t.territory),t.expiresAt&&(i$1.expiresAt=t.expiresAt);let e=await b$1(rt,{input:i$1});k(`Entitlement granted to user ${t.user}`),i(t,e.hokGrantEntitlement);}catch(i){h$1(i);}}),o$1.command("revoke").description("Revoke an entitlement (workspace-scoped)").argument("<id>","Entitlement ID").option("-f, --format <format>","Output format").action(async(t,i$1)=>{try{let e=await b$1(at,{id:t});if(!e.hokRevokeEntitlement)throw new o(`Entitlement ${t} could not be revoked`);k(`Entitlement ${t} revoked`),i(i$1,{revoked:e.hokRevokeEntitlement});}catch(e){h$1(e);}});}function Rt(d$1){d$1.command("health").description("HookMovies service health check (public)").option("-f, --format <format>","Output format").action(async o=>{try{let t=await d(dt);k(t.hokHealth),i(o,{health:t.hokHealth});}catch(t){h$1(t);}});}var At={id:"hookmovies",version:"1.0.0",displayName:"HookMovies",dependsOn:["auth","workspaces"],register(d,o){a(o);let t=d.command("hookmovies").description("HookMovies creative-media network");ut(t),ct(t),pt(t),mt(t),lt(t),gt(t),ft(t),It(t),ht(t),yt(t),kt(t),Ct(t),wt(t),Tt(t),Rt(t);}},Zt=At;export{Zt as default};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
'use strict';require('graphql-request'),require('cross-fetch'),require('commander');var g=class extends Error{exitCode;hint;constructor(o,e){super(o),this.name="CliUserError",this.exitCode=e?.exitCode??1,this.hint=e?.hint;}},y=class extends g{constructor(o,e){super(o,{exitCode:2,hint:e?.hint??"Run `<product> auth login` to authenticate."}),this.name="CliAuthError";}},f=class extends Error{cause;constructor(o,e){super(o),this.name="CliInternalError",this.cause=e;}};var C=null;function b(r){C=r;}function h(){if(!C)throw new f("vibecontrols module helpers used before setHelpersContext was called");return C}function gt(){let r=h();if(!r.auth.isAuthenticated())throw new y("Authentication required.",{hint:`Run \`${r.productName} auth login\` to authenticate.`})}async function s(r,o){return gt(),h().gql.workspace.request(r,o)}function a(r){let o=r instanceof Error?r.message:String(r);throw new g(o)}function c(r,o,e){h().output.formatAndOutput(r,o,e);}function v(r){h().output.printSuccess(r);}function u(r,o){return h().output.truncate(r,o)}var k=`
|
|
2
2
|
id title description type category status price city state
|
|
3
3
|
bedrooms bathrooms totalArea imageUrl context createdAt updatedAt workspaceId
|
|
4
|
-
`,
|
|
4
|
+
`,S=`
|
|
5
5
|
query HousingvistaProperties(
|
|
6
6
|
$filter: HousingVistaPropertyFilterInput
|
|
7
7
|
$pagination: HousingVistaPaginationInput
|
|
@@ -11,7 +11,7 @@
|
|
|
11
11
|
totalArea imageUrl createdAt
|
|
12
12
|
}
|
|
13
13
|
}
|
|
14
|
-
`,
|
|
14
|
+
`,A=`
|
|
15
15
|
query HousingvistaProperty($id: ID!) {
|
|
16
16
|
housingvistaProperty(id: $id) {
|
|
17
17
|
${k}
|
|
@@ -134,4 +134,4 @@
|
|
|
134
134
|
upcomingViewings unreadMessages
|
|
135
135
|
}
|
|
136
136
|
}
|
|
137
|
-
`;function T(r,o){try{return JSON.parse(o)}catch{throw new g(`--${r} must be valid JSON`)}}function i(r){let o=Number.parseInt(r,10);if(Number.isNaN(o))throw new g(`Expected an integer but got "${r}"`);return o}function w(r){let o=Number.parseFloat(r);if(Number.isNaN(o))throw new g(`Expected a number but got "${r}"`);return o}function d(r,o){let e={};return r!==void 0&&(e.limit=r),o!==void 0&&(e.offset=o),Object.keys(e).length?e:void 0}function j(r){let o=r.command("properties").description("HousingVista properties");o.command("list").description("List properties").option("--type <t>","residential|commercial|industrial|agricultural|mixed_use").option("--status <s>","for_sale|for_rent|sold|rented|under_contract|off_market").option("--city <c>","Filter by city").option("--search <q>","Free-text search").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n={};e.type&&(n.type=e.type.toLowerCase()),e.status&&(n.status=e.status.toLowerCase()),e.city&&(n.city=e.city),e.search&&(n.search=e.search);let t=await s(A,{filter:Object.keys(n).length?n:void 0,pagination:d(e.limit,e.offset)});c(e,t.housingvistaProperties,{headers:["ID","Title","Type","Status","City","Price"],rows:t.housingvistaProperties.map(l=>[u(l.id,12),l.title,l.type,l.status,l.city,String(l.price)])});}catch(n){a(n);}}),o.command("get").description("Get a property by id").argument("<id>","Property ID").option("-f, --format <format>","Output format").action(async(e,n)=>{try{let t=await s(S,{id:e});if(!t.housingvistaProperty)throw new g(`Property ${e} not found`);c(n,t.housingvistaProperty);}catch(t){a(t);}}),o.command("create").description("Create a property").requiredOption("--title <t>","Title").requiredOption("--type <t>","residential|commercial|industrial|agricultural|mixed_use").requiredOption("--category <c>","Category").requiredOption("--status <s>","for_sale|for_rent|sold|rented|under_contract|off_market").requiredOption("--price <n>","Price",w).requiredOption("--city <c>","City").requiredOption("--state <s>","State").requiredOption("--bedrooms <n>","Bedrooms",i).requiredOption("--bathrooms <n>","Bathrooms",i).requiredOption("--total-area <n>","Total area",w).option("--description <s>","Description").option("--image-url <url>","Image URL").option("--context <json>","Context JSON").option("-f, --format <format>","Output format").action(async e=>{try{let n={title:e.title,type:e.type.toLowerCase(),category:e.category,status:e.status.toLowerCase(),price:e.price,city:e.city,state:e.state,bedrooms:e.bedrooms,bathrooms:e.bathrooms,totalArea:e.totalArea};e.description&&(n.description=e.description),e.imageUrl&&(n.imageUrl=e.imageUrl),e.context&&(n.context=T("context",e.context));let t=await s(E,{input:n});v(`Property created: ${t.createHousingvistaProperty.title}`),c(e,t.createHousingvistaProperty);}catch(n){a(n);}}),o.command("update").description("Update a property").argument("<id>","Property ID").option("--title <t>","Title").option("--type <t>","residential|commercial|industrial|agricultural|mixed_use").option("--category <c>","Category").option("--status <s>","for_sale|for_rent|sold|rented|under_contract|off_market").option("--price <n>","Price",w).option("--city <c>","City").option("--state <s>","State").option("--bedrooms <n>","Bedrooms",i).option("--bathrooms <n>","Bathrooms",i).option("--total-area <n>","Total area",w).option("--description <s>","Description").option("--image-url <url>","Image URL").option("--context <json>","Context JSON").option("-f, --format <format>","Output format").action(async(e,n)=>{try{let t={};if(n.title&&(t.title=n.title),n.type&&(t.type=n.type.toLowerCase()),n.category&&(t.category=n.category),n.status&&(t.status=n.status.toLowerCase()),n.price!==void 0&&(t.price=n.price),n.city&&(t.city=n.city),n.state&&(t.state=n.state),n.bedrooms!==void 0&&(t.bedrooms=n.bedrooms),n.bathrooms!==void 0&&(t.bathrooms=n.bathrooms),n.totalArea!==void 0&&(t.totalArea=n.totalArea),n.description!==void 0&&(t.description=n.description),n.imageUrl!==void 0&&(t.imageUrl=n.imageUrl),n.context&&(t.context=T("context",n.context)),!Object.keys(t).length)throw new g("No updates specified");let l=await s(O,{id:e,input:t});v("Property updated"),c(n,l.updateHousingvistaProperty);}catch(t){a(t);}}),o.command("delete").description("Delete a property").argument("<id>","Property ID").option("-f, --format <format>","Output format").action(async(e,n)=>{try{let t=await s(P,{id:e});if(!t.deleteHousingvistaProperty)throw new g(`Property ${e} not deleted`);v(`Property ${e} deleted`),c(n,{deleted:t.deleteHousingvistaProperty});}catch(t){a(t);}});}function z(r){let o=r.command("transactions").description("HousingVista property transactions");o.command("list").description("List transactions").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(R,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaTransactions,{headers:["ID","Title","Type","Status","Amount","Currency"],rows:n.housingvistaTransactions.map(t=>[u(t.id,12),t.title,t.type,t.status,String(t.amount),t.currency])});}catch(n){a(n);}}),o.command("get").description("Get a transaction by id").argument("<id>","Transaction ID").option("-f, --format <format>","Output format").action(async(e,n)=>{try{let t=await s(L,{id:e});if(!t.housingvistaTransaction)throw new g(`Transaction ${e} not found`);c(n,t.housingvistaTransaction);}catch(t){a(t);}});}function Y(r){let o=r.command("investments").description("HousingVista real-estate investments");o.command("list").description("List investments").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(_,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaInvestments,{headers:["ID","Title","Type","Risk","Status","Value"],rows:n.housingvistaInvestments.map(t=>[u(t.id,12),t.title,t.investmentType,t.riskLevel,t.status,String(t.totalValue)])});}catch(n){a(n);}}),o.command("get").description("Get an investment by id").argument("<id>","Investment ID").option("-f, --format <format>","Output format").action(async(e,n)=>{try{let t=await s($,{id:e});if(!t.housingvistaInvestment)throw new g(`Investment ${e} not found`);c(n,t.housingvistaInvestment);}catch(t){a(t);}});}function B(r){r.command("rentals").description("HousingVista rental units").command("list").description("List rental units").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(D,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaRentalUnits,{headers:["ID","Unit","Property","Tenant","Rent","Payment"],rows:n.housingvistaRentalUnits.map(t=>[u(t.id,12),t.unitNumber,u(t.propertyTitle,24),t.tenantName,String(t.monthlyRent),t.paymentStatus])});}catch(n){a(n);}});}function J(r){r.command("assets").description("HousingVista portfolio assets").command("list").description("List assets").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(N,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaAssets,{headers:["ID","Title","Type","Status","Location","Value"],rows:n.housingvistaAssets.map(t=>[u(t.id,12),t.title,t.type,t.status,u(t.location,20),String(t.currentValue)])});}catch(n){a(n);}});}function K(r){r.command("verifications").description("HousingVista verification queue").command("list").description("List verification items").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(q,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaVerificationItems,{headers:["ID","Type","Label","Status","Priority"],rows:n.housingvistaVerificationItems.map(t=>[u(t.id,12),t.entityType,u(t.entityLabel,24),t.status,t.priority])});}catch(n){a(n);}});}function Q(r){let o=r.command("marketplace").description("HousingVista services marketplace (services, legal, AMC, home loans)");o.command("services").description("List marketplace services").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(H,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaMarketplaceServices,{headers:["ID","Name","Category","Provider","Rating","Verified"],rows:n.housingvistaMarketplaceServices.map(t=>[u(t.id,12),t.name,t.category,t.providerName,String(t.rating??"-"),t.verified?"yes":"no"])});}catch(n){a(n);}}),o.command("legal").description("List legal services").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(V,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaLegalServices,{headers:["ID","Title","Category","Provider","Price","Status"],rows:n.housingvistaLegalServices.map(t=>[u(t.id,12),t.title,t.category,t.providerName,t.priceRange??"-",t.status])});}catch(n){a(n);}}),o.command("amc").description("List AMC (annual maintenance) contracts").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(M,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaAmcContracts,{headers:["ID","Package","Property","Provider","Monthly","Status"],rows:n.housingvistaAmcContracts.map(t=>[u(t.id,12),t.packageName,u(t.propertyTitle,20),t.providerName,String(t.monthlyCost),t.status])});}catch(n){a(n);}}),o.command("home-loans").description("List home loan offers").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(U,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaHomeLoanOffers,{headers:["ID","Bank","Rate %","Max Amount","Max Tenure","Rating"],rows:n.housingvistaHomeLoanOffers.map(t=>[u(t.id,12),t.bankName,String(t.interestRate),String(t.maxAmount),String(t.maxTenure),String(t.rating??"-")])});}catch(n){a(n);}});}function X(r){let o=r.command("market").description("HousingVista market intelligence (area insights & trends)");o.command("area-insights").description("List area insights").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(F,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaAreaInsights,{headers:["ID","Area","City","Avg Price","Yield %","Appreciation %"],rows:n.housingvistaAreaInsights.map(t=>[u(t.id,12),t.areaName,t.city,String(t.avgPropertyPrice),String(t.avgRentalYield),String(t.appreciationRate)])});}catch(n){a(n);}}),o.command("trends").description("List market trends").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(W,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaMarketTrends,{headers:["ID","Month","Avg Price","Avg Rent","Change %","Demand"],rows:n.housingvistaMarketTrends.map(t=>[u(t.id,12),t.monthLabel,String(t.avgPrice),String(t.avgRent),String(t.priceChangePercent),String(t.demandIndex)])});}catch(n){a(n);}});}function Z(r){r.command("analytics").description("HousingVista analytics & dashboard").command("dashboard").description("Dashboard stats (properties, portfolio value, investments, occupancy, transactions)").option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(G);c(e,n.housingvistaDashboardStats);}catch(n){a(n);}});}var dt={id:"housingvista",version:"1.0.0",displayName:"HousingVista",dependsOn:["auth","workspaces"],register(r,o){b(o);let e=r.command("housingvista").description("HousingVista real-estate & property management");j(e),z(e),Y(e),B(e),J(e),K(e),Q(e),X(e),Z(e);}},an=dt;module.exports=an;
|
|
137
|
+
`;function x(r,o){try{return JSON.parse(o)}catch{throw new g(`--${r} must be valid JSON`)}}function i(r){let o=Number.parseInt(r,10);if(Number.isNaN(o))throw new g(`Expected an integer but got "${r}"`);return o}function w(r){let o=Number.parseFloat(r);if(Number.isNaN(o))throw new g(`Expected a number but got "${r}"`);return o}function d(r,o){let e={};return r!==void 0&&(e.limit=r),o!==void 0&&(e.offset=o),Object.keys(e).length?e:void 0}function j(r){let o=r.command("properties").description("HousingVista properties");o.command("list").description("List properties").option("--type <t>","residential|commercial|industrial|agricultural|mixed_use").option("--status <s>","for_sale|for_rent|sold|rented|under_contract|off_market").option("--city <c>","Filter by city").option("--search <q>","Free-text search").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n={};e.type&&(n.type=e.type.toLowerCase()),e.status&&(n.status=e.status.toLowerCase()),e.city&&(n.city=e.city),e.search&&(n.search=e.search);let t=await s(S,{filter:Object.keys(n).length?n:void 0,pagination:d(e.limit,e.offset)});c(e,t.housingvistaProperties,{headers:["ID","Title","Type","Status","City","Price"],rows:t.housingvistaProperties.map(l=>[u(l.id,12),l.title,l.type,l.status,l.city,String(l.price)])});}catch(n){a(n);}}),o.command("get").description("Get a property by id").argument("<id>","Property ID").option("-f, --format <format>","Output format").action(async(e,n)=>{try{let t=await s(A,{id:e});if(!t.housingvistaProperty)throw new g(`Property ${e} not found`);c(n,t.housingvistaProperty);}catch(t){a(t);}}),o.command("create").description("Create a property").requiredOption("--title <t>","Title").requiredOption("--type <t>","residential|commercial|industrial|agricultural|mixed_use").requiredOption("--category <c>","Category").requiredOption("--status <s>","for_sale|for_rent|sold|rented|under_contract|off_market").requiredOption("--price <n>","Price",w).requiredOption("--city <c>","City").requiredOption("--state <s>","State").requiredOption("--bedrooms <n>","Bedrooms",i).requiredOption("--bathrooms <n>","Bathrooms",i).requiredOption("--total-area <n>","Total area",w).option("--description <s>","Description").option("--image-url <url>","Image URL").option("--context <json>","Context JSON").option("-f, --format <format>","Output format").action(async e=>{try{let n={title:e.title,type:e.type.toLowerCase(),category:e.category,status:e.status.toLowerCase(),price:e.price,city:e.city,state:e.state,bedrooms:e.bedrooms,bathrooms:e.bathrooms,totalArea:e.totalArea};e.description&&(n.description=e.description),e.imageUrl&&(n.imageUrl=e.imageUrl),e.context&&(n.context=x("context",e.context));let t=await s(E,{input:n});v(`Property created: ${t.createHousingvistaProperty.title}`),c(e,t.createHousingvistaProperty);}catch(n){a(n);}}),o.command("update").description("Update a property").argument("<id>","Property ID").option("--title <t>","Title").option("--type <t>","residential|commercial|industrial|agricultural|mixed_use").option("--category <c>","Category").option("--status <s>","for_sale|for_rent|sold|rented|under_contract|off_market").option("--price <n>","Price",w).option("--city <c>","City").option("--state <s>","State").option("--bedrooms <n>","Bedrooms",i).option("--bathrooms <n>","Bathrooms",i).option("--total-area <n>","Total area",w).option("--description <s>","Description").option("--image-url <url>","Image URL").option("--context <json>","Context JSON").option("-f, --format <format>","Output format").action(async(e,n)=>{try{let t={};if(n.title&&(t.title=n.title),n.type&&(t.type=n.type.toLowerCase()),n.category&&(t.category=n.category),n.status&&(t.status=n.status.toLowerCase()),n.price!==void 0&&(t.price=n.price),n.city&&(t.city=n.city),n.state&&(t.state=n.state),n.bedrooms!==void 0&&(t.bedrooms=n.bedrooms),n.bathrooms!==void 0&&(t.bathrooms=n.bathrooms),n.totalArea!==void 0&&(t.totalArea=n.totalArea),n.description!==void 0&&(t.description=n.description),n.imageUrl!==void 0&&(t.imageUrl=n.imageUrl),n.context&&(t.context=x("context",n.context)),!Object.keys(t).length)throw new g("No updates specified");let l=await s(O,{id:e,input:t});v("Property updated"),c(n,l.updateHousingvistaProperty);}catch(t){a(t);}}),o.command("delete").description("Delete a property").argument("<id>","Property ID").option("-f, --format <format>","Output format").action(async(e,n)=>{try{let t=await s(P,{id:e});if(!t.deleteHousingvistaProperty)throw new g(`Property ${e} not deleted`);v(`Property ${e} deleted`),c(n,{deleted:t.deleteHousingvistaProperty});}catch(t){a(t);}});}function z(r){let o=r.command("transactions").description("HousingVista property transactions");o.command("list").description("List transactions").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(R,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaTransactions,{headers:["ID","Title","Type","Status","Amount","Currency"],rows:n.housingvistaTransactions.map(t=>[u(t.id,12),t.title,t.type,t.status,String(t.amount),t.currency])});}catch(n){a(n);}}),o.command("get").description("Get a transaction by id").argument("<id>","Transaction ID").option("-f, --format <format>","Output format").action(async(e,n)=>{try{let t=await s(L,{id:e});if(!t.housingvistaTransaction)throw new g(`Transaction ${e} not found`);c(n,t.housingvistaTransaction);}catch(t){a(t);}});}function Y(r){let o=r.command("investments").description("HousingVista real-estate investments");o.command("list").description("List investments").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(_,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaInvestments,{headers:["ID","Title","Type","Risk","Status","Value"],rows:n.housingvistaInvestments.map(t=>[u(t.id,12),t.title,t.investmentType,t.riskLevel,t.status,String(t.totalValue)])});}catch(n){a(n);}}),o.command("get").description("Get an investment by id").argument("<id>","Investment ID").option("-f, --format <format>","Output format").action(async(e,n)=>{try{let t=await s($,{id:e});if(!t.housingvistaInvestment)throw new g(`Investment ${e} not found`);c(n,t.housingvistaInvestment);}catch(t){a(t);}});}function B(r){r.command("rentals").description("HousingVista rental units").command("list").description("List rental units").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(D,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaRentalUnits,{headers:["ID","Unit","Property","Tenant","Rent","Payment"],rows:n.housingvistaRentalUnits.map(t=>[u(t.id,12),t.unitNumber,u(t.propertyTitle,24),t.tenantName,String(t.monthlyRent),t.paymentStatus])});}catch(n){a(n);}});}function J(r){r.command("assets").description("HousingVista portfolio assets").command("list").description("List assets").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(N,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaAssets,{headers:["ID","Title","Type","Status","Location","Value"],rows:n.housingvistaAssets.map(t=>[u(t.id,12),t.title,t.type,t.status,u(t.location,20),String(t.currentValue)])});}catch(n){a(n);}});}function K(r){r.command("verifications").description("HousingVista verification queue").command("list").description("List verification items").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(q,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaVerificationItems,{headers:["ID","Type","Label","Status","Priority"],rows:n.housingvistaVerificationItems.map(t=>[u(t.id,12),t.entityType,u(t.entityLabel,24),t.status,t.priority])});}catch(n){a(n);}});}function Q(r){let o=r.command("marketplace").description("HousingVista services marketplace (services, legal, AMC, home loans)");o.command("services").description("List marketplace services").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(H,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaMarketplaceServices,{headers:["ID","Name","Category","Provider","Rating","Verified"],rows:n.housingvistaMarketplaceServices.map(t=>[u(t.id,12),t.name,t.category,t.providerName,String(t.rating??"-"),t.verified?"yes":"no"])});}catch(n){a(n);}}),o.command("legal").description("List legal services").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(V,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaLegalServices,{headers:["ID","Title","Category","Provider","Price","Status"],rows:n.housingvistaLegalServices.map(t=>[u(t.id,12),t.title,t.category,t.providerName,t.priceRange??"-",t.status])});}catch(n){a(n);}}),o.command("amc").description("List AMC (annual maintenance) contracts").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(M,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaAmcContracts,{headers:["ID","Package","Property","Provider","Monthly","Status"],rows:n.housingvistaAmcContracts.map(t=>[u(t.id,12),t.packageName,u(t.propertyTitle,20),t.providerName,String(t.monthlyCost),t.status])});}catch(n){a(n);}}),o.command("home-loans").description("List home loan offers").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(U,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaHomeLoanOffers,{headers:["ID","Bank","Rate %","Max Amount","Max Tenure","Rating"],rows:n.housingvistaHomeLoanOffers.map(t=>[u(t.id,12),t.bankName,String(t.interestRate),String(t.maxAmount),String(t.maxTenure),String(t.rating??"-")])});}catch(n){a(n);}});}function X(r){let o=r.command("market").description("HousingVista market intelligence (area insights & trends)");o.command("area-insights").description("List area insights").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(F,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaAreaInsights,{headers:["ID","Area","City","Avg Price","Yield %","Appreciation %"],rows:n.housingvistaAreaInsights.map(t=>[u(t.id,12),t.areaName,t.city,String(t.avgPropertyPrice),String(t.avgRentalYield),String(t.appreciationRate)])});}catch(n){a(n);}}),o.command("trends").description("List market trends").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(W,{pagination:d(e.limit,e.offset)});c(e,n.housingvistaMarketTrends,{headers:["ID","Month","Avg Price","Avg Rent","Change %","Demand"],rows:n.housingvistaMarketTrends.map(t=>[u(t.id,12),t.monthLabel,String(t.avgPrice),String(t.avgRent),String(t.priceChangePercent),String(t.demandIndex)])});}catch(n){a(n);}});}function Z(r){r.command("analytics").description("HousingVista analytics & dashboard").command("dashboard").description("Dashboard stats (properties, portfolio value, investments, occupancy, transactions)").option("-f, --format <format>","Output format").action(async e=>{try{let n=await s(G);c(e,n.housingvistaDashboardStats);}catch(n){a(n);}});}var dt={id:"housingvista",version:"1.0.0",displayName:"HousingVista",dependsOn:["auth","workspaces"],register(r,o){b(o);let e=r.command("housingvista").description("HousingVista real-estate & property management");j(e),z(e),Y(e),B(e),J(e),K(e),Q(e),X(e),Z(e);}},an=dt;module.exports=an;
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {a,b as b$1,h as h$1,
|
|
1
|
+
import {a,b as b$1,i,r as r$1,h as h$1,k as k$1}from'../../chunk-O6UCQ5IT.js';import {o}from'../../chunk-YIY5IDXQ.js';var h=`
|
|
2
2
|
id title description type category status price city state
|
|
3
3
|
bedrooms bathrooms totalArea imageUrl context createdAt updatedAt workspaceId
|
|
4
4
|
`,S=`
|
|
@@ -134,4 +134,4 @@ import {a,b as b$1,h as h$1,p,g,i}from'../../chunk-W4JZR7RJ.js';import {o}from'.
|
|
|
134
134
|
upcomingViewings unreadMessages
|
|
135
135
|
}
|
|
136
136
|
}
|
|
137
|
-
`;function I(o$1,n){try{return JSON.parse(n)}catch{throw new o(`--${o$1} must be valid JSON`)}}function r(o$1){let n=Number.parseInt(o$1,10);if(Number.isNaN(n))throw new o(`Expected an integer but got "${o$1}"`);return n}function v(o$1){let n=Number.parseFloat(o$1);if(Number.isNaN(n))throw new o(`Expected a number but got "${o$1}"`);return n}function c(o,n){let i={};return o!==void 0&&(i.limit=o),n!==void 0&&(i.offset=n),Object.keys(i).length?i:void 0}function U(o$1){let n=o$1.command("properties").description("HousingVista properties");n.command("list").description("List properties").option("--type <t>","residential|commercial|industrial|agricultural|mixed_use").option("--status <s>","for_sale|for_rent|sold|rented|under_contract|off_market").option("--city <c>","Filter by city").option("--search <q>","Free-text search").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i=>{try{let e={};i.type&&(e.type=i.type.toLowerCase()),i.status&&(e.status=i.status.toLowerCase()),i.city&&(e.city=i.city),i.search&&(e.search=i.search);let t=await b$1(S,{filter:Object.keys(e).length?e:void 0,pagination:c(i.limit,i.offset)});h$1(i,t.housingvistaProperties,{headers:["ID","Title","Type","Status","City","Price"],rows:t.housingvistaProperties.map(l=>[p(l.id,12),l.title,l.type,l.status,l.city,String(l.price)])});}catch(e){g(e);}}),n.command("get").description("Get a property by id").argument("<id>","Property ID").option("-f, --format <format>","Output format").action(async(i,e)=>{try{let t=await b$1(b,{id:i});if(!t.housingvistaProperty)throw new o(`Property ${i} not found`);h$1(e,t.housingvistaProperty);}catch(t){g(t);}}),n.command("create").description("Create a property").requiredOption("--title <t>","Title").requiredOption("--type <t>","residential|commercial|industrial|agricultural|mixed_use").requiredOption("--category <c>","Category").requiredOption("--status <s>","for_sale|for_rent|sold|rented|under_contract|off_market").requiredOption("--price <n>","Price",v).requiredOption("--city <c>","City").requiredOption("--state <s>","State").requiredOption("--bedrooms <n>","Bedrooms",r).requiredOption("--bathrooms <n>","Bathrooms",r).requiredOption("--total-area <n>","Total area",v).option("--description <s>","Description").option("--image-url <url>","Image URL").option("--context <json>","Context JSON").option("-f, --format <format>","Output format").action(async i$1=>{try{let e={title:i$1.title,type:i$1.type.toLowerCase(),category:i$1.category,status:i$1.status.toLowerCase(),price:i$1.price,city:i$1.city,state:i$1.state,bedrooms:i$1.bedrooms,bathrooms:i$1.bathrooms,totalArea:i$1.totalArea};i$1.description&&(e.description=i$1.description),i$1.imageUrl&&(e.imageUrl=i$1.imageUrl),i$1.context&&(e.context=I("context",i$1.context));let t=await b$1(P,{input:e});i(`Property created: ${t.createHousingvistaProperty.title}`),h$1(i$1,t.createHousingvistaProperty);}catch(e){g(e);}}),n.command("update").description("Update a property").argument("<id>","Property ID").option("--title <t>","Title").option("--type <t>","residential|commercial|industrial|agricultural|mixed_use").option("--category <c>","Category").option("--status <s>","for_sale|for_rent|sold|rented|under_contract|off_market").option("--price <n>","Price",v).option("--city <c>","City").option("--state <s>","State").option("--bedrooms <n>","Bedrooms",r).option("--bathrooms <n>","Bathrooms",r).option("--total-area <n>","Total area",v).option("--description <s>","Description").option("--image-url <url>","Image URL").option("--context <json>","Context JSON").option("-f, --format <format>","Output format").action(async(i$1,e)=>{try{let t={};if(e.title&&(t.title=e.title),e.type&&(t.type=e.type.toLowerCase()),e.category&&(t.category=e.category),e.status&&(t.status=e.status.toLowerCase()),e.price!==void 0&&(t.price=e.price),e.city&&(t.city=e.city),e.state&&(t.state=e.state),e.bedrooms!==void 0&&(t.bedrooms=e.bedrooms),e.bathrooms!==void 0&&(t.bathrooms=e.bathrooms),e.totalArea!==void 0&&(t.totalArea=e.totalArea),e.description!==void 0&&(t.description=e.description),e.imageUrl!==void 0&&(t.imageUrl=e.imageUrl),e.context&&(t.context=I("context",e.context)),!Object.keys(t).length)throw new o("No updates specified");let l=await b$1(R,{id:i$1,input:t});i("Property updated"),h$1(e,l.updateHousingvistaProperty);}catch(t){g(t);}}),n.command("delete").description("Delete a property").argument("<id>","Property ID").option("-f, --format <format>","Output format").action(async(i$1,e)=>{try{let t=await b$1(C,{id:i$1});if(!t.deleteHousingvistaProperty)throw new o(`Property ${i$1} not deleted`);i(`Property ${i$1} deleted`),h$1(e,{deleted:t.deleteHousingvistaProperty});}catch(t){g(t);}});}function q(o$1){let n=o$1.command("transactions").description("HousingVista property transactions");n.command("list").description("List transactions").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i=>{try{let e=await b$1(A,{pagination:c(i.limit,i.offset)});h$1(i,e.housingvistaTransactions,{headers:["ID","Title","Type","Status","Amount","Currency"],rows:e.housingvistaTransactions.map(t=>[p(t.id,12),t.title,t.type,t.status,String(t.amount),t.currency])});}catch(e){g(e);}}),n.command("get").description("Get a transaction by id").argument("<id>","Transaction ID").option("-f, --format <format>","Output format").action(async(i,e)=>{try{let t=await b$1(w,{id:i});if(!t.housingvistaTransaction)throw new o(`Transaction ${i} not found`);h$1(e,t.housingvistaTransaction);}catch(t){g(t);}});}function F(o$1){let n=o$1.command("investments").description("HousingVista real-estate investments");n.command("list").description("List investments").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i=>{try{let e=await b$1(O,{pagination:c(i.limit,i.offset)});h$1(i,e.housingvistaInvestments,{headers:["ID","Title","Type","Risk","Status","Value"],rows:e.housingvistaInvestments.map(t=>[p(t.id,12),t.title,t.investmentType,t.riskLevel,t.status,String(t.totalValue)])});}catch(e){g(e);}}),n.command("get").description("Get an investment by id").argument("<id>","Investment ID").option("-f, --format <format>","Output format").action(async(i,e)=>{try{let t=await b$1(k,{id:i});if(!t.housingvistaInvestment)throw new o(`Investment ${i} not found`);h$1(e,t.housingvistaInvestment);}catch(t){g(t);}});}function Y(o){o.command("rentals").description("HousingVista rental units").command("list").description("List rental units").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i=>{try{let e=await b$1(E,{pagination:c(i.limit,i.offset)});h$1(i,e.housingvistaRentalUnits,{headers:["ID","Unit","Property","Tenant","Rent","Payment"],rows:e.housingvistaRentalUnits.map(t=>[p(t.id,12),t.unitNumber,p(t.propertyTitle,24),t.tenantName,String(t.monthlyRent),t.paymentStatus])});}catch(e){g(e);}});}function G(o){o.command("assets").description("HousingVista portfolio assets").command("list").description("List assets").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i=>{try{let e=await b$1(L,{pagination:c(i.limit,i.offset)});h$1(i,e.housingvistaAssets,{headers:["ID","Title","Type","Status","Location","Value"],rows:e.housingvistaAssets.map(t=>[p(t.id,12),t.title,t.type,t.status,p(t.location,20),String(t.currentValue)])});}catch(e){g(e);}});}function z(o){o.command("verifications").description("HousingVista verification queue").command("list").description("List verification items").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i=>{try{let e=await b$1(x,{pagination:c(i.limit,i.offset)});h$1(i,e.housingvistaVerificationItems,{headers:["ID","Type","Label","Status","Priority"],rows:e.housingvistaVerificationItems.map(t=>[p(t.id,12),t.entityType,p(t.entityLabel,24),t.status,t.priority])});}catch(e){g(e);}});}function W(o){let n=o.command("marketplace").description("HousingVista services marketplace (services, legal, AMC, home loans)");n.command("services").description("List marketplace services").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i=>{try{let e=await b$1(_,{pagination:c(i.limit,i.offset)});h$1(i,e.housingvistaMarketplaceServices,{headers:["ID","Name","Category","Provider","Rating","Verified"],rows:e.housingvistaMarketplaceServices.map(t=>[p(t.id,12),t.name,t.category,t.providerName,String(t.rating??"-"),t.verified?"yes":"no"])});}catch(e){g(e);}}),n.command("legal").description("List legal services").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i=>{try{let e=await b$1(N,{pagination:c(i.limit,i.offset)});h$1(i,e.housingvistaLegalServices,{headers:["ID","Title","Category","Provider","Price","Status"],rows:e.housingvistaLegalServices.map(t=>[p(t.id,12),t.title,t.category,t.providerName,t.priceRange??"-",t.status])});}catch(e){g(e);}}),n.command("amc").description("List AMC (annual maintenance) contracts").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i=>{try{let e=await b$1(H,{pagination:c(i.limit,i.offset)});h$1(i,e.housingvistaAmcContracts,{headers:["ID","Package","Property","Provider","Monthly","Status"],rows:e.housingvistaAmcContracts.map(t=>[p(t.id,12),t.packageName,p(t.propertyTitle,20),t.providerName,String(t.monthlyCost),t.status])});}catch(e){g(e);}}),n.command("home-loans").description("List home loan offers").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i=>{try{let e=await b$1(V,{pagination:c(i.limit,i.offset)});h$1(i,e.housingvistaHomeLoanOffers,{headers:["ID","Bank","Rate %","Max Amount","Max Tenure","Rating"],rows:e.housingvistaHomeLoanOffers.map(t=>[p(t.id,12),t.bankName,String(t.interestRate),String(t.maxAmount),String(t.maxTenure),String(t.rating??"-")])});}catch(e){g(e);}});}function j(o){let n=o.command("market").description("HousingVista market intelligence (area insights & trends)");n.command("area-insights").description("List area insights").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i=>{try{let e=await b$1($,{pagination:c(i.limit,i.offset)});h$1(i,e.housingvistaAreaInsights,{headers:["ID","Area","City","Avg Price","Yield %","Appreciation %"],rows:e.housingvistaAreaInsights.map(t=>[p(t.id,12),t.areaName,t.city,String(t.avgPropertyPrice),String(t.avgRentalYield),String(t.appreciationRate)])});}catch(e){g(e);}}),n.command("trends").description("List market trends").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i=>{try{let e=await b$1(D,{pagination:c(i.limit,i.offset)});h$1(i,e.housingvistaMarketTrends,{headers:["ID","Month","Avg Price","Avg Rent","Change %","Demand"],rows:e.housingvistaMarketTrends.map(t=>[p(t.id,12),t.monthLabel,String(t.avgPrice),String(t.avgRent),String(t.priceChangePercent),String(t.demandIndex)])});}catch(e){g(e);}});}function B(o){o.command("analytics").description("HousingVista analytics & dashboard").command("dashboard").description("Dashboard stats (properties, portfolio value, investments, occupancy, transactions)").option("-f, --format <format>","Output format").action(async i=>{try{let e=await b$1(M);h$1(i,e.housingvistaDashboardStats);}catch(e){g(e);}});}var J={id:"housingvista",version:"1.0.0",displayName:"HousingVista",dependsOn:["auth","workspaces"],register(o,n){a(n);let i=o.command("housingvista").description("HousingVista real-estate & property management");U(i),q(i),F(i),Y(i),G(i),z(i),W(i),j(i),B(i);}},Ut=J;export{Ut as default};
|
|
137
|
+
`;function I(o$1,n){try{return JSON.parse(n)}catch{throw new o(`--${o$1} must be valid JSON`)}}function r(o$1){let n=Number.parseInt(o$1,10);if(Number.isNaN(n))throw new o(`Expected an integer but got "${o$1}"`);return n}function v(o$1){let n=Number.parseFloat(o$1);if(Number.isNaN(n))throw new o(`Expected a number but got "${o$1}"`);return n}function c(o,n){let i={};return o!==void 0&&(i.limit=o),n!==void 0&&(i.offset=n),Object.keys(i).length?i:void 0}function U(o$1){let n=o$1.command("properties").description("HousingVista properties");n.command("list").description("List properties").option("--type <t>","residential|commercial|industrial|agricultural|mixed_use").option("--status <s>","for_sale|for_rent|sold|rented|under_contract|off_market").option("--city <c>","Filter by city").option("--search <q>","Free-text search").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i$1=>{try{let e={};i$1.type&&(e.type=i$1.type.toLowerCase()),i$1.status&&(e.status=i$1.status.toLowerCase()),i$1.city&&(e.city=i$1.city),i$1.search&&(e.search=i$1.search);let t=await b$1(S,{filter:Object.keys(e).length?e:void 0,pagination:c(i$1.limit,i$1.offset)});i(i$1,t.housingvistaProperties,{headers:["ID","Title","Type","Status","City","Price"],rows:t.housingvistaProperties.map(l=>[r$1(l.id,12),l.title,l.type,l.status,l.city,String(l.price)])});}catch(e){h$1(e);}}),n.command("get").description("Get a property by id").argument("<id>","Property ID").option("-f, --format <format>","Output format").action(async(i$1,e)=>{try{let t=await b$1(b,{id:i$1});if(!t.housingvistaProperty)throw new o(`Property ${i$1} not found`);i(e,t.housingvistaProperty);}catch(t){h$1(t);}}),n.command("create").description("Create a property").requiredOption("--title <t>","Title").requiredOption("--type <t>","residential|commercial|industrial|agricultural|mixed_use").requiredOption("--category <c>","Category").requiredOption("--status <s>","for_sale|for_rent|sold|rented|under_contract|off_market").requiredOption("--price <n>","Price",v).requiredOption("--city <c>","City").requiredOption("--state <s>","State").requiredOption("--bedrooms <n>","Bedrooms",r).requiredOption("--bathrooms <n>","Bathrooms",r).requiredOption("--total-area <n>","Total area",v).option("--description <s>","Description").option("--image-url <url>","Image URL").option("--context <json>","Context JSON").option("-f, --format <format>","Output format").action(async i$1=>{try{let e={title:i$1.title,type:i$1.type.toLowerCase(),category:i$1.category,status:i$1.status.toLowerCase(),price:i$1.price,city:i$1.city,state:i$1.state,bedrooms:i$1.bedrooms,bathrooms:i$1.bathrooms,totalArea:i$1.totalArea};i$1.description&&(e.description=i$1.description),i$1.imageUrl&&(e.imageUrl=i$1.imageUrl),i$1.context&&(e.context=I("context",i$1.context));let t=await b$1(P,{input:e});k$1(`Property created: ${t.createHousingvistaProperty.title}`),i(i$1,t.createHousingvistaProperty);}catch(e){h$1(e);}}),n.command("update").description("Update a property").argument("<id>","Property ID").option("--title <t>","Title").option("--type <t>","residential|commercial|industrial|agricultural|mixed_use").option("--category <c>","Category").option("--status <s>","for_sale|for_rent|sold|rented|under_contract|off_market").option("--price <n>","Price",v).option("--city <c>","City").option("--state <s>","State").option("--bedrooms <n>","Bedrooms",r).option("--bathrooms <n>","Bathrooms",r).option("--total-area <n>","Total area",v).option("--description <s>","Description").option("--image-url <url>","Image URL").option("--context <json>","Context JSON").option("-f, --format <format>","Output format").action(async(i$1,e)=>{try{let t={};if(e.title&&(t.title=e.title),e.type&&(t.type=e.type.toLowerCase()),e.category&&(t.category=e.category),e.status&&(t.status=e.status.toLowerCase()),e.price!==void 0&&(t.price=e.price),e.city&&(t.city=e.city),e.state&&(t.state=e.state),e.bedrooms!==void 0&&(t.bedrooms=e.bedrooms),e.bathrooms!==void 0&&(t.bathrooms=e.bathrooms),e.totalArea!==void 0&&(t.totalArea=e.totalArea),e.description!==void 0&&(t.description=e.description),e.imageUrl!==void 0&&(t.imageUrl=e.imageUrl),e.context&&(t.context=I("context",e.context)),!Object.keys(t).length)throw new o("No updates specified");let l=await b$1(R,{id:i$1,input:t});k$1("Property updated"),i(e,l.updateHousingvistaProperty);}catch(t){h$1(t);}}),n.command("delete").description("Delete a property").argument("<id>","Property ID").option("-f, --format <format>","Output format").action(async(i$1,e)=>{try{let t=await b$1(C,{id:i$1});if(!t.deleteHousingvistaProperty)throw new o(`Property ${i$1} not deleted`);k$1(`Property ${i$1} deleted`),i(e,{deleted:t.deleteHousingvistaProperty});}catch(t){h$1(t);}});}function q(o$1){let n=o$1.command("transactions").description("HousingVista property transactions");n.command("list").description("List transactions").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i$1=>{try{let e=await b$1(A,{pagination:c(i$1.limit,i$1.offset)});i(i$1,e.housingvistaTransactions,{headers:["ID","Title","Type","Status","Amount","Currency"],rows:e.housingvistaTransactions.map(t=>[r$1(t.id,12),t.title,t.type,t.status,String(t.amount),t.currency])});}catch(e){h$1(e);}}),n.command("get").description("Get a transaction by id").argument("<id>","Transaction ID").option("-f, --format <format>","Output format").action(async(i$1,e)=>{try{let t=await b$1(w,{id:i$1});if(!t.housingvistaTransaction)throw new o(`Transaction ${i$1} not found`);i(e,t.housingvistaTransaction);}catch(t){h$1(t);}});}function F(o$1){let n=o$1.command("investments").description("HousingVista real-estate investments");n.command("list").description("List investments").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i$1=>{try{let e=await b$1(O,{pagination:c(i$1.limit,i$1.offset)});i(i$1,e.housingvistaInvestments,{headers:["ID","Title","Type","Risk","Status","Value"],rows:e.housingvistaInvestments.map(t=>[r$1(t.id,12),t.title,t.investmentType,t.riskLevel,t.status,String(t.totalValue)])});}catch(e){h$1(e);}}),n.command("get").description("Get an investment by id").argument("<id>","Investment ID").option("-f, --format <format>","Output format").action(async(i$1,e)=>{try{let t=await b$1(k,{id:i$1});if(!t.housingvistaInvestment)throw new o(`Investment ${i$1} not found`);i(e,t.housingvistaInvestment);}catch(t){h$1(t);}});}function Y(o){o.command("rentals").description("HousingVista rental units").command("list").description("List rental units").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i$1=>{try{let e=await b$1(E,{pagination:c(i$1.limit,i$1.offset)});i(i$1,e.housingvistaRentalUnits,{headers:["ID","Unit","Property","Tenant","Rent","Payment"],rows:e.housingvistaRentalUnits.map(t=>[r$1(t.id,12),t.unitNumber,r$1(t.propertyTitle,24),t.tenantName,String(t.monthlyRent),t.paymentStatus])});}catch(e){h$1(e);}});}function G(o){o.command("assets").description("HousingVista portfolio assets").command("list").description("List assets").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i$1=>{try{let e=await b$1(L,{pagination:c(i$1.limit,i$1.offset)});i(i$1,e.housingvistaAssets,{headers:["ID","Title","Type","Status","Location","Value"],rows:e.housingvistaAssets.map(t=>[r$1(t.id,12),t.title,t.type,t.status,r$1(t.location,20),String(t.currentValue)])});}catch(e){h$1(e);}});}function z(o){o.command("verifications").description("HousingVista verification queue").command("list").description("List verification items").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i$1=>{try{let e=await b$1(x,{pagination:c(i$1.limit,i$1.offset)});i(i$1,e.housingvistaVerificationItems,{headers:["ID","Type","Label","Status","Priority"],rows:e.housingvistaVerificationItems.map(t=>[r$1(t.id,12),t.entityType,r$1(t.entityLabel,24),t.status,t.priority])});}catch(e){h$1(e);}});}function W(o){let n=o.command("marketplace").description("HousingVista services marketplace (services, legal, AMC, home loans)");n.command("services").description("List marketplace services").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i$1=>{try{let e=await b$1(_,{pagination:c(i$1.limit,i$1.offset)});i(i$1,e.housingvistaMarketplaceServices,{headers:["ID","Name","Category","Provider","Rating","Verified"],rows:e.housingvistaMarketplaceServices.map(t=>[r$1(t.id,12),t.name,t.category,t.providerName,String(t.rating??"-"),t.verified?"yes":"no"])});}catch(e){h$1(e);}}),n.command("legal").description("List legal services").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i$1=>{try{let e=await b$1(N,{pagination:c(i$1.limit,i$1.offset)});i(i$1,e.housingvistaLegalServices,{headers:["ID","Title","Category","Provider","Price","Status"],rows:e.housingvistaLegalServices.map(t=>[r$1(t.id,12),t.title,t.category,t.providerName,t.priceRange??"-",t.status])});}catch(e){h$1(e);}}),n.command("amc").description("List AMC (annual maintenance) contracts").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i$1=>{try{let e=await b$1(H,{pagination:c(i$1.limit,i$1.offset)});i(i$1,e.housingvistaAmcContracts,{headers:["ID","Package","Property","Provider","Monthly","Status"],rows:e.housingvistaAmcContracts.map(t=>[r$1(t.id,12),t.packageName,r$1(t.propertyTitle,20),t.providerName,String(t.monthlyCost),t.status])});}catch(e){h$1(e);}}),n.command("home-loans").description("List home loan offers").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i$1=>{try{let e=await b$1(V,{pagination:c(i$1.limit,i$1.offset)});i(i$1,e.housingvistaHomeLoanOffers,{headers:["ID","Bank","Rate %","Max Amount","Max Tenure","Rating"],rows:e.housingvistaHomeLoanOffers.map(t=>[r$1(t.id,12),t.bankName,String(t.interestRate),String(t.maxAmount),String(t.maxTenure),String(t.rating??"-")])});}catch(e){h$1(e);}});}function j(o){let n=o.command("market").description("HousingVista market intelligence (area insights & trends)");n.command("area-insights").description("List area insights").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i$1=>{try{let e=await b$1($,{pagination:c(i$1.limit,i$1.offset)});i(i$1,e.housingvistaAreaInsights,{headers:["ID","Area","City","Avg Price","Yield %","Appreciation %"],rows:e.housingvistaAreaInsights.map(t=>[r$1(t.id,12),t.areaName,t.city,String(t.avgPropertyPrice),String(t.avgRentalYield),String(t.appreciationRate)])});}catch(e){h$1(e);}}),n.command("trends").description("List market trends").option("--limit <n>","Page size",r,50).option("--offset <n>","Offset",r,0).option("-f, --format <format>","Output format").action(async i$1=>{try{let e=await b$1(D,{pagination:c(i$1.limit,i$1.offset)});i(i$1,e.housingvistaMarketTrends,{headers:["ID","Month","Avg Price","Avg Rent","Change %","Demand"],rows:e.housingvistaMarketTrends.map(t=>[r$1(t.id,12),t.monthLabel,String(t.avgPrice),String(t.avgRent),String(t.priceChangePercent),String(t.demandIndex)])});}catch(e){h$1(e);}});}function B(o){o.command("analytics").description("HousingVista analytics & dashboard").command("dashboard").description("Dashboard stats (properties, portfolio value, investments, occupancy, transactions)").option("-f, --format <format>","Output format").action(async i$1=>{try{let e=await b$1(M);i(i$1,e.housingvistaDashboardStats);}catch(e){h$1(e);}});}var J={id:"housingvista",version:"1.0.0",displayName:"HousingVista",dependsOn:["auth","workspaces"],register(o,n){a(n);let i=o.command("housingvista").description("HousingVista real-estate & property management");U(i),q(i),F(i),Y(i),G(i),z(i),W(i),j(i),B(i);}},Ut=J;export{Ut as default};
|