@burdenoff/cli-sdk 2026.628.1 → 2026.629.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,282 @@
1
+ import {a,b as b$1,h as h$1,p,g,i,d}from'../../chunk-WXDQ3S5J.js';import {o}from'../../chunk-TCBALVP4.js';var k=`
2
+ query CooGetBrand($id: ID!) {
3
+ cooBrand(id: $id) {
4
+ id name handle tagline bio status isFeatured aesthetics tags websiteUrl
5
+ logo { id } cover { id } createdAt updatedAt workspaceId
6
+ }
7
+ }
8
+ `,O=`
9
+ query CooListBrands($featured: Boolean, $status: CooBrandStatus, $pagination: PaginationInput) {
10
+ cooListBrands(featured: $featured, status: $status, pagination: $pagination) {
11
+ items {
12
+ id name handle status isFeatured tagline tags createdAt
13
+ }
14
+ pageInfo { cursor hasMore }
15
+ }
16
+ }
17
+ `,E=`
18
+ mutation CooCreateBrand($input: CooCreateBrandInput!) {
19
+ cooCreateBrand(input: $input) {
20
+ id name handle tagline bio status isFeatured aesthetics tags websiteUrl
21
+ logo { id } cover { id } createdAt
22
+ }
23
+ }
24
+ `,h=`
25
+ mutation CooUpdateBrand($id: ID!, $input: CooUpdateBrandInput!) {
26
+ cooUpdateBrand(id: $id, input: $input) {
27
+ id name handle tagline bio status isFeatured aesthetics tags websiteUrl
28
+ logo { id } cover { id } updatedAt
29
+ }
30
+ }
31
+ `,A=`
32
+ mutation CooTransitionBrand($id: ID!, $status: CooBrandStatus!) {
33
+ cooTransitionBrand(id: $id, status: $status) {
34
+ id name handle status updatedAt
35
+ }
36
+ }
37
+ `,w=`
38
+ mutation CooArchiveBrand($id: ID!) {
39
+ cooArchiveBrand(id: $id)
40
+ }
41
+ `,R=`
42
+ query CooGetCollection($id: ID!) {
43
+ cooCollection(id: $id) {
44
+ id name description season status brandId tags
45
+ cover { id } publishAt endAt createdAt updatedAt workspaceId
46
+ }
47
+ }
48
+ `,S=`
49
+ query CooListCollections($brandId: ID, $status: CooCollectionStatus) {
50
+ cooListCollections(brandId: $brandId, status: $status) {
51
+ id name description season status brandId tags publishAt endAt createdAt
52
+ }
53
+ }
54
+ `,D=`
55
+ mutation CooCreateCollection($input: CooCreateCollectionInput!) {
56
+ cooCreateCollection(input: $input) {
57
+ id name description season status brandId tags publishAt endAt createdAt
58
+ }
59
+ }
60
+ `,v=`
61
+ mutation CooUpdateCollection($id: ID!, $input: CooUpdateCollectionInput!) {
62
+ cooUpdateCollection(id: $id, input: $input) {
63
+ id name description season status brandId tags publishAt endAt updatedAt
64
+ }
65
+ }
66
+ `,T=`
67
+ mutation CooPublishCollection($id: ID!) {
68
+ cooPublishCollection(id: $id) {
69
+ id name status publishAt updatedAt
70
+ }
71
+ }
72
+ `,$=`
73
+ query CooGetStyleItem($id: ID!) {
74
+ cooStyleItem(id: $id) {
75
+ id name sku category status brandId collectionId price currency
76
+ colours sizes materials description image { id } tags
77
+ createdAt updatedAt workspaceId
78
+ }
79
+ }
80
+ `,B=`
81
+ query CooListStyleItems(
82
+ $brandId: ID
83
+ $category: CooStyleCategory
84
+ $collectionId: ID
85
+ $status: CooStyleItemStatus
86
+ $pagination: PaginationInput
87
+ ) {
88
+ cooListStyleItems(
89
+ brandId: $brandId
90
+ category: $category
91
+ collectionId: $collectionId
92
+ status: $status
93
+ pagination: $pagination
94
+ ) {
95
+ items {
96
+ id name sku category status brandId price currency tags createdAt
97
+ }
98
+ pageInfo { cursor hasMore }
99
+ }
100
+ }
101
+ `,U=`
102
+ mutation CooCreateStyleItem($input: CooCreateStyleItemInput!) {
103
+ cooCreateStyleItem(input: $input) {
104
+ id name sku category status brandId collectionId price currency
105
+ colours sizes materials description tags createdAt
106
+ }
107
+ }
108
+ `,_=`
109
+ mutation CooUpdateStyleItem($id: ID!, $input: CooUpdateStyleItemInput!) {
110
+ cooUpdateStyleItem(id: $id, input: $input) {
111
+ id name sku category status brandId collectionId price currency
112
+ colours sizes materials description tags updatedAt
113
+ }
114
+ }
115
+ `,N=`
116
+ mutation CooArchiveStyleItem($id: ID!) {
117
+ cooArchiveStyleItem(id: $id)
118
+ }
119
+ `,F=`
120
+ query CooGetCollaboration($id: ID!) {
121
+ cooCollaboration(id: $id) {
122
+ id title status role brandId creatorId collectionId compensation currency
123
+ brief startDate endDate publishedAt tags createdAt updatedAt workspaceId
124
+ }
125
+ }
126
+ `,P=`
127
+ query CooListCollaborations($brandId: ID, $creatorId: ID, $status: CooCollaborationStatus) {
128
+ cooListCollaborations(brandId: $brandId, creatorId: $creatorId, status: $status) {
129
+ id title status role brandId creatorId compensation currency
130
+ startDate endDate createdAt
131
+ }
132
+ }
133
+ `,W=`
134
+ mutation CooCreateCollaboration($input: CooCreateCollaborationInput!) {
135
+ cooCreateCollaboration(input: $input) {
136
+ id title status role brandId creatorId collectionId compensation currency
137
+ brief startDate endDate tags createdAt
138
+ }
139
+ }
140
+ `,x=`
141
+ mutation CooTransitionCollaboration($id: ID!, $status: CooCollaborationStatus!) {
142
+ cooTransitionCollaboration(id: $id, status: $status) {
143
+ id title status publishedAt updatedAt
144
+ }
145
+ }
146
+ `,M=`
147
+ query CooGetLook($id: ID!) {
148
+ cooLook(id: $id) {
149
+ id title caption occasion visibility isFeatured likeCount saveCount
150
+ authorId collaborationId image { id } tags publishedAt
151
+ items { id styleItemId position styling }
152
+ createdAt updatedAt workspaceId
153
+ }
154
+ }
155
+ `,z=`
156
+ query CooListLooks(
157
+ $authorId: ID
158
+ $featured: Boolean
159
+ $occasion: CooLookOccasion
160
+ $pagination: PaginationInput
161
+ ) {
162
+ cooListLooks(
163
+ authorId: $authorId
164
+ featured: $featured
165
+ occasion: $occasion
166
+ pagination: $pagination
167
+ ) {
168
+ items {
169
+ id title occasion visibility isFeatured likeCount saveCount
170
+ authorId tags createdAt
171
+ }
172
+ pageInfo { cursor hasMore }
173
+ }
174
+ }
175
+ `,K=`
176
+ mutation CooCreateLook($input: CooCreateLookInput!) {
177
+ cooCreateLook(input: $input) {
178
+ id title caption occasion visibility isFeatured authorId collaborationId
179
+ tags items { id styleItemId position styling } createdAt
180
+ }
181
+ }
182
+ `,G=`
183
+ mutation CooUpdateLook($id: ID!, $input: CooUpdateLookInput!) {
184
+ cooUpdateLook(id: $id, input: $input) {
185
+ id title caption occasion visibility tags updatedAt
186
+ }
187
+ }
188
+ `,q=`
189
+ mutation CooPublishLook($id: ID!) {
190
+ cooPublishLook(id: $id) {
191
+ id title visibility publishedAt updatedAt
192
+ }
193
+ }
194
+ `,H=`
195
+ mutation CooLikeLook($id: ID!) {
196
+ cooLikeLook(id: $id) {
197
+ id title likeCount updatedAt
198
+ }
199
+ }
200
+ `,Y=`
201
+ mutation CooDeleteLook($id: ID!) {
202
+ cooDeleteLook(id: $id)
203
+ }
204
+ `,V=`
205
+ query CooGetLookbook($id: ID!) {
206
+ cooLookbook(id: $id) {
207
+ id name description visibility ownerId profileId cover { id } tags
208
+ entries { id lookId styleItemId note position }
209
+ createdAt updatedAt workspaceId
210
+ }
211
+ }
212
+ `,j=`
213
+ query CooListLookbooks($ownerId: ID) {
214
+ cooListLookbooks(ownerId: $ownerId) {
215
+ id name description visibility ownerId profileId tags createdAt
216
+ }
217
+ }
218
+ `,J=`
219
+ mutation CooCreateLookbook($input: CooCreateLookbookInput!) {
220
+ cooCreateLookbook(input: $input) {
221
+ id name description visibility ownerId profileId tags createdAt
222
+ }
223
+ }
224
+ `,Q=`
225
+ mutation CooAddLookbookEntry($input: CooAddLookbookEntryInput!) {
226
+ cooAddLookbookEntry(input: $input) {
227
+ id lookbookId lookId styleItemId note position createdAt workspaceId
228
+ }
229
+ }
230
+ `,X=`
231
+ mutation CooRemoveLookbookEntry($id: ID!) {
232
+ cooRemoveLookbookEntry(id: $id)
233
+ }
234
+ `,Z=`
235
+ query CooListWardrobeItems($category: CooStyleCategory, $source: CooWardrobeSource) {
236
+ cooListWardrobeItems(category: $category, source: $source) {
237
+ id name brandName category colour size source styleItemId
238
+ timesWorn lastWornAt tags createdAt
239
+ }
240
+ }
241
+ `,tt=`
242
+ mutation CooCreateWardrobeItem($input: CooCreateWardrobeItemInput!) {
243
+ cooCreateWardrobeItem(input: $input) {
244
+ id name brandName category colour size source styleItemId notes
245
+ tags timesWorn createdAt workspaceId
246
+ }
247
+ }
248
+ `,ot=`
249
+ mutation CooUpdateWardrobeItem($id: ID!, $input: CooUpdateWardrobeItemInput!) {
250
+ cooUpdateWardrobeItem(id: $id, input: $input) {
251
+ id name brandName category colour size source notes tags updatedAt
252
+ }
253
+ }
254
+ `,et=`
255
+ mutation CooLogWardrobeWear($id: ID!) {
256
+ cooLogWardrobeWear(id: $id) {
257
+ id name timesWorn lastWornAt updatedAt
258
+ }
259
+ }
260
+ `,it=`
261
+ mutation CooRemoveWardrobeItem($id: ID!) {
262
+ cooRemoveWardrobeItem(id: $id)
263
+ }
264
+ `,rt=`
265
+ query CooMyStyleProfile {
266
+ cooMyStyleProfile {
267
+ id displayName bio visibility ownerId favouriteBrands palette
268
+ stylePreferences sizes createdAt updatedAt workspaceId
269
+ }
270
+ }
271
+ `,nt=`
272
+ mutation CooUpsertStyleProfile($input: CooUpsertStyleProfileInput!) {
273
+ cooUpsertStyleProfile(input: $input) {
274
+ id displayName bio visibility ownerId favouriteBrands palette
275
+ stylePreferences sizes updatedAt
276
+ }
277
+ }
278
+ `,at=`
279
+ query CooHealth {
280
+ cooHealth
281
+ }
282
+ `;function b(d,i){try{return JSON.parse(i)}catch{throw new o(`--${d} must be valid JSON`)}}function f(d){let i=Number.parseInt(d,10);if(Number.isNaN(i))throw new o(`Expected an integer but got "${d}"`);return i}function I(d){let i=Number.parseFloat(d);if(Number.isNaN(i))throw new o(`Expected a number but got "${d}"`);return i}function c(d){return d.split(",").map(i=>i.trim()).filter(i=>i.length>0)}function st(d){let i$1=d.command("brands").description("Coolandlovely brand storefronts");i$1.command("list").description("List brand storefronts").option("--status <s>","Filter by brand status").option("--featured","Only featured brands").option("--limit <n>","Page size",f,50).option("--offset <n>","Offset",f,0).option("--cursor <c>","Pagination cursor").option("-f, --format <format>","Output format").action(async t=>{try{let o=await b$1(O,{status:t.status?t.status.toUpperCase():void 0,featured:t.featured?!0:void 0,pagination:{limit:t.limit,offset:t.offset,cursor:t.cursor}});h$1(t,o.cooListBrands.items,{headers:["ID","Name","Handle","Status","Featured"],rows:o.cooListBrands.items.map(e=>[p(e.id,12),e.name,e.handle,e.status,e.isFeatured?"yes":"no"])});}catch(o){g(o);}}),i$1.command("get").description("Get a brand by id").argument("<id>","Brand ID").option("-f, --format <format>","Output format").action(async(t,o$1)=>{try{let e=await b$1(k,{id:t});if(!e.cooBrand)throw new o(`Brand ${t} not found`);h$1(o$1,e.cooBrand);}catch(e){g(e);}}),i$1.command("create").description("Create a brand storefront").requiredOption("--name <name>","Brand name").requiredOption("--handle <handle>","Unique storefront handle").option("--tagline <s>","Tagline").option("--bio <s>","Bio").option("--website-url <url>","Website URL").option("--logo-file <id>","Logo File ID (wspace-files-svc)").option("--cover-file <id>","Cover File ID (wspace-files-svc)").option("--aesthetics <csv>","Comma-separated aesthetics").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let o={name:t.name,handle:t.handle};t.tagline&&(o.tagline=t.tagline),t.bio&&(o.bio=t.bio),t.websiteUrl&&(o.websiteUrl=t.websiteUrl),t.logoFile&&(o.logoFileId=t.logoFile),t.coverFile&&(o.coverFileId=t.coverFile),t.aesthetics&&(o.aesthetics=c(t.aesthetics)),t.tags&&(o.tags=c(t.tags));let e=await b$1(E,{input:o});i(`Brand created: ${e.cooCreateBrand.name}`),h$1(t,e.cooCreateBrand);}catch(o){g(o);}}),i$1.command("update").description("Update a brand storefront").argument("<id>","Brand ID").option("--name <name>","Brand name").option("--tagline <s>","Tagline").option("--bio <s>","Bio").option("--website-url <url>","Website URL").option("--logo-file <id>","Logo File ID").option("--cover-file <id>","Cover File ID").option("--featured <bool>","true|false",t=>t==="true").option("--aesthetics <csv>","Comma-separated aesthetics").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(t,o$1)=>{try{let e={};if(o$1.name&&(e.name=o$1.name),o$1.tagline!==void 0&&(e.tagline=o$1.tagline),o$1.bio!==void 0&&(e.bio=o$1.bio),o$1.websiteUrl!==void 0&&(e.websiteUrl=o$1.websiteUrl),o$1.logoFile&&(e.logoFileId=o$1.logoFile),o$1.coverFile&&(e.coverFileId=o$1.coverFile),o$1.featured!==void 0&&(e.isFeatured=o$1.featured),o$1.aesthetics&&(e.aesthetics=c(o$1.aesthetics)),o$1.tags&&(e.tags=c(o$1.tags)),!Object.keys(e).length)throw new o("No updates specified");let p=await b$1(h,{id:t,input:e});i("Brand updated"),h$1(o$1,p.cooUpdateBrand);}catch(e){g(e);}}),i$1.command("transition").description("Advance a brand through its publish lifecycle").argument("<id>","Brand ID").requiredOption("--status <s>","DRAFT|PENDING_REVIEW|PUBLISHED|SUSPENDED|ARCHIVED").option("-f, --format <format>","Output format").action(async(t,o)=>{try{let e=await b$1(A,{id:t,status:o.status.toUpperCase()});i(`Brand status set to ${e.cooTransitionBrand.status}`),h$1(o,e.cooTransitionBrand);}catch(e){g(e);}}),i$1.command("archive").description("Archive a brand storefront").argument("<id>","Brand ID").option("-f, --format <format>","Output format").action(async(t,o)=>{try{let e=await b$1(w,{id:t});i(`Brand archived: ${e.cooArchiveBrand}`),h$1(o,{archived:e.cooArchiveBrand});}catch(e){g(e);}});}function ct(d){let i$1=d.command("collections").description("Coolandlovely seasonal collections");i$1.command("list").description("List collections").option("--brand <id>","Filter by brand ID").option("--status <s>","Filter by collection status").option("-f, --format <format>","Output format").action(async t=>{try{let o=await b$1(S,{brandId:t.brand,status:t.status?t.status.toUpperCase():void 0});h$1(t,o.cooListCollections,{headers:["ID","Name","Season","Status","Brand"],rows:o.cooListCollections.map(e=>[p(e.id,12),e.name,e.season,e.status,p(e.brandId,12)])});}catch(o){g(o);}}),i$1.command("get").description("Get a collection by id").argument("<id>","Collection ID").option("-f, --format <format>","Output format").action(async(t,o$1)=>{try{let e=await b$1(R,{id:t});if(!e.cooCollection)throw new o(`Collection ${t} not found`);h$1(o$1,e.cooCollection);}catch(e){g(e);}}),i$1.command("create").description("Create a collection").requiredOption("--brand <id>","Brand ID").requiredOption("--name <name>","Collection name").option("--description <s>","Description").option("--season <s>","ALL_SEASON|SPRING|SUMMER|AUTUMN|WINTER|RESORT").option("--cover-file <id>","Cover File ID").option("--publish-at <iso>","Scheduled publish date (ISO 8601)").option("--end-at <iso>","End date (ISO 8601)").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let o={brandId:t.brand,name:t.name};t.description&&(o.description=t.description),t.season&&(o.season=t.season.toUpperCase()),t.coverFile&&(o.coverFileId=t.coverFile),t.publishAt&&(o.publishAt=t.publishAt),t.endAt&&(o.endAt=t.endAt),t.tags&&(o.tags=c(t.tags));let e=await b$1(D,{input:o});i(`Collection created: ${e.cooCreateCollection.name}`),h$1(t,e.cooCreateCollection);}catch(o){g(o);}}),i$1.command("update").description("Update a collection").argument("<id>","Collection ID").option("--name <name>","Collection name").option("--description <s>","Description").option("--season <s>","ALL_SEASON|SPRING|SUMMER|AUTUMN|WINTER|RESORT").option("--cover-file <id>","Cover File ID").option("--publish-at <iso>","Scheduled publish date (ISO 8601)").option("--end-at <iso>","End date (ISO 8601)").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(t,o$1)=>{try{let e={};if(o$1.name&&(e.name=o$1.name),o$1.description!==void 0&&(e.description=o$1.description),o$1.season&&(e.season=o$1.season.toUpperCase()),o$1.coverFile&&(e.coverFileId=o$1.coverFile),o$1.publishAt&&(e.publishAt=o$1.publishAt),o$1.endAt&&(e.endAt=o$1.endAt),o$1.tags&&(e.tags=c(o$1.tags)),!Object.keys(e).length)throw new o("No updates specified");let p=await b$1(v,{id:t,input:e});i("Collection updated"),h$1(o$1,p.cooUpdateCollection);}catch(e){g(e);}}),i$1.command("publish").description("Publish a collection (go live)").argument("<id>","Collection ID").option("-f, --format <format>","Output format").action(async(t,o)=>{try{let e=await b$1(T,{id:t});i(`Collection published: ${e.cooPublishCollection.status}`),h$1(o,e.cooPublishCollection);}catch(e){g(e);}});}function dt(d){let i$1=d.command("style-items").description("Coolandlovely style items (catalog products)");i$1.command("list").description("List style items").option("--brand <id>","Filter by brand ID").option("--collection <id>","Filter by collection ID").option("--category <c>","Filter by category").option("--status <s>","Filter by status").option("--limit <n>","Page size",f,50).option("--offset <n>","Offset",f,0).option("--cursor <c>","Pagination cursor").option("-f, --format <format>","Output format").action(async t=>{try{let o=await b$1(B,{brandId:t.brand,collectionId:t.collection,category:t.category?t.category.toUpperCase():void 0,status:t.status?t.status.toUpperCase():void 0,pagination:{limit:t.limit,offset:t.offset,cursor:t.cursor}});h$1(t,o.cooListStyleItems.items,{headers:["ID","Name","Category","Status","Price"],rows:o.cooListStyleItems.items.map(e=>[p(e.id,12),e.name,e.category,e.status,`${e.price} ${e.currency}`])});}catch(o){g(o);}}),i$1.command("get").description("Get a style item by id").argument("<id>","Style item ID").option("-f, --format <format>","Output format").action(async(t,o$1)=>{try{let e=await b$1($,{id:t});if(!e.cooStyleItem)throw new o(`Style item ${t} not found`);h$1(o$1,e.cooStyleItem);}catch(e){g(e);}}),i$1.command("create").description("Create a style item").requiredOption("--brand <id>","Brand ID").requiredOption("--name <name>","Item name").option("--category <c>","Category").option("--collection <id>","Collection ID").option("--description <s>","Description").option("--sku <sku>","SKU").option("--price <n>","Price",I).option("--currency <c>","Currency code").option("--image-file <id>","Image File ID").option("--colours <csv>","Comma-separated colours").option("--sizes <csv>","Comma-separated sizes").option("--materials <csv>","Comma-separated materials").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let o={brandId:t.brand,name:t.name};t.category&&(o.category=t.category.toUpperCase()),t.collection&&(o.collectionId=t.collection),t.description&&(o.description=t.description),t.sku&&(o.sku=t.sku),t.price!==void 0&&(o.price=t.price),t.currency&&(o.currency=t.currency),t.imageFile&&(o.imageFileId=t.imageFile),t.colours&&(o.colours=c(t.colours)),t.sizes&&(o.sizes=c(t.sizes)),t.materials&&(o.materials=c(t.materials)),t.tags&&(o.tags=c(t.tags));let e=await b$1(U,{input:o});i(`Style item created: ${e.cooCreateStyleItem.name}`),h$1(t,e.cooCreateStyleItem);}catch(o){g(o);}}),i$1.command("update").description("Update a style item").argument("<id>","Style item ID").option("--name <name>","Item name").option("--category <c>","Category").option("--collection <id>","Collection ID").option("--description <s>","Description").option("--sku <sku>","SKU").option("--price <n>","Price",I).option("--currency <c>","Currency code").option("--image-file <id>","Image File ID").option("--colours <csv>","Comma-separated colours").option("--sizes <csv>","Comma-separated sizes").option("--materials <csv>","Comma-separated materials").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(t,o$1)=>{try{let e={};if(o$1.name&&(e.name=o$1.name),o$1.category&&(e.category=o$1.category.toUpperCase()),o$1.collection&&(e.collectionId=o$1.collection),o$1.description!==void 0&&(e.description=o$1.description),o$1.sku!==void 0&&(e.sku=o$1.sku),o$1.price!==void 0&&(e.price=o$1.price),o$1.currency&&(e.currency=o$1.currency),o$1.imageFile&&(e.imageFileId=o$1.imageFile),o$1.colours&&(e.colours=c(o$1.colours)),o$1.sizes&&(e.sizes=c(o$1.sizes)),o$1.materials&&(e.materials=c(o$1.materials)),o$1.tags&&(e.tags=c(o$1.tags)),!Object.keys(e).length)throw new o("No updates specified");let p=await b$1(_,{id:t,input:e});i("Style item updated"),h$1(o$1,p.cooUpdateStyleItem);}catch(e){g(e);}}),i$1.command("archive").description("Archive (retire) a style item").argument("<id>","Style item ID").option("-f, --format <format>","Output format").action(async(t,o)=>{try{let e=await b$1(N,{id:t});i(`Style item archived: ${e.cooArchiveStyleItem}`),h$1(o,{archived:e.cooArchiveStyleItem});}catch(e){g(e);}});}function lt(d){let i$1=d.command("collaborations").description("Coolandlovely brand \u2194 creator collaborations");i$1.command("list").description("List collaborations").option("--brand <id>","Filter by brand ID").option("--creator <id>","Filter by creator ID").option("--status <s>","Filter by status").option("-f, --format <format>","Output format").action(async t=>{try{let o=await b$1(P,{brandId:t.brand,creatorId:t.creator,status:t.status?t.status.toUpperCase():void 0});h$1(t,o.cooListCollaborations,{headers:["ID","Title","Status","Role","Brand","Creator"],rows:o.cooListCollaborations.map(e=>[p(e.id,12),e.title,e.status,e.role,p(e.brandId,12),p(e.creatorId,12)])});}catch(o){g(o);}}),i$1.command("get").description("Get a collaboration by id").argument("<id>","Collaboration ID").option("-f, --format <format>","Output format").action(async(t,o$1)=>{try{let e=await b$1(F,{id:t});if(!e.cooCollaboration)throw new o(`Collaboration ${t} not found`);h$1(o$1,e.cooCollaboration);}catch(e){g(e);}}),i$1.command("create").description("Create a collaboration").requiredOption("--brand <id>","Brand ID").requiredOption("--creator <id>","Creator user ID").requiredOption("--title <title>","Collaboration title").option("--brief <s>","Brief").option("--collection <id>","Collection ID").option("--role <r>","CREATOR|STYLIST|PHOTOGRAPHER|BRAND").option("--compensation <n>","Compensation",I).option("--currency <c>","Currency code").option("--start-date <iso>","Start date (ISO 8601)").option("--end-date <iso>","End date (ISO 8601)").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let o={brandId:t.brand,creatorId:t.creator,title:t.title};t.brief&&(o.brief=t.brief),t.collection&&(o.collectionId=t.collection),t.role&&(o.role=t.role.toUpperCase()),t.compensation!==void 0&&(o.compensation=t.compensation),t.currency&&(o.currency=t.currency),t.startDate&&(o.startDate=t.startDate),t.endDate&&(o.endDate=t.endDate),t.tags&&(o.tags=c(t.tags));let e=await b$1(W,{input:o});i(`Collaboration created: ${e.cooCreateCollaboration.title}`),h$1(t,e.cooCreateCollaboration);}catch(o){g(o);}}),i$1.command("transition").description("Advance a collaboration through its lifecycle").argument("<id>","Collaboration ID").requiredOption("--status <s>","PROPOSED|ACCEPTED|DECLINED|IN_PROGRESS|PUBLISHED|CANCELLED").option("-f, --format <format>","Output format").action(async(t,o)=>{try{let e=await b$1(x,{id:t,status:o.status.toUpperCase()});i(`Collaboration status set to ${e.cooTransitionCollaboration.status}`),h$1(o,e.cooTransitionCollaboration);}catch(e){g(e);}});}function mt(d){let i$1=d.command("looks").description("Coolandlovely styled looks");i$1.command("list").description("List looks").option("--author <id>","Filter by author ID").option("--occasion <o>","Filter by occasion").option("--featured","Only featured looks").option("--limit <n>","Page size",f,50).option("--offset <n>","Offset",f,0).option("--cursor <c>","Pagination cursor").option("-f, --format <format>","Output format").action(async t=>{try{let o=await b$1(z,{authorId:t.author,occasion:t.occasion?t.occasion.toUpperCase():void 0,featured:t.featured?!0:void 0,pagination:{limit:t.limit,offset:t.offset,cursor:t.cursor}});h$1(t,o.cooListLooks.items,{headers:["ID","Title","Occasion","Visibility","Likes","Featured"],rows:o.cooListLooks.items.map(e=>[p(e.id,12),e.title,e.occasion,e.visibility,String(e.likeCount??0),e.isFeatured?"yes":"no"])});}catch(o){g(o);}}),i$1.command("get").description("Get a look by id").argument("<id>","Look ID").option("-f, --format <format>","Output format").action(async(t,o$1)=>{try{let e=await b$1(M,{id:t});if(!e.cooLook)throw new o(`Look ${t} not found`);h$1(o$1,e.cooLook);}catch(e){g(e);}}),i$1.command("create").description("Create a look").requiredOption("--title <title>","Look title").option("--caption <s>","Caption").option("--collaboration <id>","Collaboration ID").option("--image-file <id>","Image File ID").option("--occasion <o>","EVERYDAY|WORK|EVENING|PARTY|WEDDING_GUEST|VACATION|ACTIVE|OTHER").option("--visibility <v>","PUBLIC|FOLLOWERS|PRIVATE").option("--items <json>","Look items JSON array: [{ styleItemId, position?, styling? }]").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let o$1={title:t.title};if(t.caption&&(o$1.caption=t.caption),t.collaboration&&(o$1.collaborationId=t.collaboration),t.imageFile&&(o$1.imageFileId=t.imageFile),t.occasion&&(o$1.occasion=t.occasion.toUpperCase()),t.visibility&&(o$1.visibility=t.visibility.toUpperCase()),t.items){let p=b("items",t.items);if(!Array.isArray(p))throw new o("--items must be a JSON array");o$1.items=p;}t.tags&&(o$1.tags=c(t.tags));let e=await b$1(K,{input:o$1});i(`Look created: ${e.cooCreateLook.title}`),h$1(t,e.cooCreateLook);}catch(o){g(o);}}),i$1.command("update").description("Update a look").argument("<id>","Look ID").option("--title <title>","Look title").option("--caption <s>","Caption").option("--image-file <id>","Image File ID").option("--occasion <o>","Occasion").option("--visibility <v>","PUBLIC|FOLLOWERS|PRIVATE").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(t,o$1)=>{try{let e={};if(o$1.title&&(e.title=o$1.title),o$1.caption!==void 0&&(e.caption=o$1.caption),o$1.imageFile&&(e.imageFileId=o$1.imageFile),o$1.occasion&&(e.occasion=o$1.occasion.toUpperCase()),o$1.visibility&&(e.visibility=o$1.visibility.toUpperCase()),o$1.tags&&(e.tags=c(o$1.tags)),!Object.keys(e).length)throw new o("No updates specified");let p=await b$1(G,{id:t,input:e});i("Look updated"),h$1(o$1,p.cooUpdateLook);}catch(e){g(e);}}),i$1.command("publish").description("Publish a look").argument("<id>","Look ID").option("-f, --format <format>","Output format").action(async(t,o)=>{try{let e=await b$1(q,{id:t});i(`Look published: ${e.cooPublishLook.title}`),h$1(o,e.cooPublishLook);}catch(e){g(e);}}),i$1.command("like").description("Like a published look").argument("<id>","Look ID").option("-f, --format <format>","Output format").action(async(t,o)=>{try{let e=await b$1(H,{id:t});i(`Look liked (likes: ${e.cooLikeLook.likeCount??0})`),h$1(o,e.cooLikeLook);}catch(e){g(e);}}),i$1.command("delete").description("Delete a look").argument("<id>","Look ID").option("-f, --format <format>","Output format").action(async(t,o)=>{try{let e=await b$1(Y,{id:t});i(`Look deleted: ${e.cooDeleteLook}`),h$1(o,{deleted:e.cooDeleteLook});}catch(e){g(e);}});}function pt(d){let i$1=d.command("lookbooks").description("Coolandlovely curated lookbooks");i$1.command("list").description("List lookbooks").option("--owner <id>","Filter by owner ID").option("-f, --format <format>","Output format").action(async t=>{try{let o=await b$1(j,{ownerId:t.owner});h$1(t,o.cooListLookbooks,{headers:["ID","Name","Visibility","Owner"],rows:o.cooListLookbooks.map(e=>[p(e.id,12),e.name,e.visibility,p(e.ownerId,12)])});}catch(o){g(o);}}),i$1.command("get").description("Get a lookbook by id").argument("<id>","Lookbook ID").option("-f, --format <format>","Output format").action(async(t,o$1)=>{try{let e=await b$1(V,{id:t});if(!e.cooLookbook)throw new o(`Lookbook ${t} not found`);h$1(o$1,e.cooLookbook);}catch(e){g(e);}}),i$1.command("create").description("Create a lookbook").requiredOption("--name <name>","Lookbook name").option("--description <s>","Description").option("--cover-file <id>","Cover File ID").option("--visibility <v>","PUBLIC|FOLLOWERS|PRIVATE").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let o={name:t.name};t.description&&(o.description=t.description),t.coverFile&&(o.coverFileId=t.coverFile),t.visibility&&(o.visibility=t.visibility.toUpperCase()),t.tags&&(o.tags=c(t.tags));let e=await b$1(J,{input:o});i(`Lookbook created: ${e.cooCreateLookbook.name}`),h$1(t,e.cooCreateLookbook);}catch(o){g(o);}}),i$1.command("add-entry").description("Add an entry (look or style item) to a lookbook").requiredOption("--lookbook <id>","Lookbook ID").option("--look <id>","Look ID to add").option("--style-item <id>","Style item ID to add").option("--note <s>","Note").option("--position <n>","Position",f).option("-f, --format <format>","Output format").action(async t=>{try{let o={lookbookId:t.lookbook};t.look&&(o.lookId=t.look),t.styleItem&&(o.styleItemId=t.styleItem),t.note&&(o.note=t.note),t.position!==void 0&&(o.position=t.position);let e=await b$1(Q,{input:o});i(`Lookbook entry added: ${e.cooAddLookbookEntry.id}`),h$1(t,e.cooAddLookbookEntry);}catch(o){g(o);}}),i$1.command("remove-entry").description("Remove an entry from a lookbook").argument("<id>","Lookbook entry ID").option("-f, --format <format>","Output format").action(async(t,o)=>{try{let e=await b$1(X,{id:t});i(`Lookbook entry removed: ${e.cooRemoveLookbookEntry}`),h$1(o,{removed:e.cooRemoveLookbookEntry});}catch(e){g(e);}});}function ut(d){let i$1=d.command("wardrobe").description("Coolandlovely digital wardrobe (the shopper's own pieces)");i$1.command("list").description("List wardrobe items").option("--category <c>","Filter by category").option("--source <s>","Filter by source").option("-f, --format <format>","Output format").action(async t=>{try{let o=await b$1(Z,{category:t.category?t.category.toUpperCase():void 0,source:t.source?t.source.toUpperCase():void 0});h$1(t,o.cooListWardrobeItems,{headers:["ID","Name","Category","Source","Times Worn"],rows:o.cooListWardrobeItems.map(e=>[p(e.id,12),e.name,e.category,e.source,String(e.timesWorn??0)])});}catch(o){g(o);}}),i$1.command("create").description("Add an item to the wardrobe").requiredOption("--name <name>","Item name").option("--brand-name <s>","Brand name (free text)").option("--category <c>","Category").option("--colour <s>","Colour").option("--size <s>","Size").option("--source <s>","OWNED|PURCHASED_ON_PLATFORM|GIFTED|WISHLIST").option("--style-item <id>","Linked style item ID").option("--image-file <id>","Image File ID").option("--notes <s>","Notes").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let o={name:t.name};t.brandName&&(o.brandName=t.brandName),t.category&&(o.category=t.category.toUpperCase()),t.colour&&(o.colour=t.colour),t.size&&(o.size=t.size),t.source&&(o.source=t.source.toUpperCase()),t.styleItem&&(o.styleItemId=t.styleItem),t.imageFile&&(o.imageFileId=t.imageFile),t.notes&&(o.notes=t.notes),t.tags&&(o.tags=c(t.tags));let e=await b$1(tt,{input:o});i(`Wardrobe item added: ${e.cooCreateWardrobeItem.name}`),h$1(t,e.cooCreateWardrobeItem);}catch(o){g(o);}}),i$1.command("update").description("Update a wardrobe item").argument("<id>","Wardrobe item ID").option("--name <name>","Item name").option("--brand-name <s>","Brand name (free text)").option("--category <c>","Category").option("--colour <s>","Colour").option("--size <s>","Size").option("--source <s>","OWNED|PURCHASED_ON_PLATFORM|GIFTED|WISHLIST").option("--image-file <id>","Image File ID").option("--notes <s>","Notes").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(t,o$1)=>{try{let e={};if(o$1.name&&(e.name=o$1.name),o$1.brandName!==void 0&&(e.brandName=o$1.brandName),o$1.category&&(e.category=o$1.category.toUpperCase()),o$1.colour!==void 0&&(e.colour=o$1.colour),o$1.size!==void 0&&(e.size=o$1.size),o$1.source&&(e.source=o$1.source.toUpperCase()),o$1.imageFile&&(e.imageFileId=o$1.imageFile),o$1.notes!==void 0&&(e.notes=o$1.notes),o$1.tags&&(e.tags=c(o$1.tags)),!Object.keys(e).length)throw new o("No updates specified");let p=await b$1(ot,{id:t,input:e});i("Wardrobe item updated"),h$1(o$1,p.cooUpdateWardrobeItem);}catch(e){g(e);}}),i$1.command("wear").description("Log that the shopper wore a wardrobe piece").argument("<id>","Wardrobe item ID").option("-f, --format <format>","Output format").action(async(t,o)=>{try{let e=await b$1(et,{id:t});i(`Wear logged (times worn: ${e.cooLogWardrobeWear.timesWorn??0})`),h$1(o,e.cooLogWardrobeWear);}catch(e){g(e);}}),i$1.command("remove").description("Remove a wardrobe item").argument("<id>","Wardrobe item ID").option("-f, --format <format>","Output format").action(async(t,o)=>{try{let e=await b$1(it,{id:t});i(`Wardrobe item removed: ${e.cooRemoveWardrobeItem}`),h$1(o,{removed:e.cooRemoveWardrobeItem});}catch(e){g(e);}});}function gt(d){let i$1=d.command("profile").description("Coolandlovely shopper style profile (self-scoped)");i$1.command("get").description("Show the calling shopper's own style profile").option("-f, --format <format>","Output format").action(async t=>{try{let o$1=await b$1(rt);if(!o$1.cooMyStyleProfile)throw new o("No style profile yet. Run `profile upsert` to create one.");h$1(t,o$1.cooMyStyleProfile);}catch(o){g(o);}}),i$1.command("upsert").description("Create or update the calling shopper style profile").option("--display-name <s>","Display name").option("--bio <s>","Bio").option("--visibility <v>","PUBLIC|FOLLOWERS|PRIVATE").option("--favourite-brands <csv>","Comma-separated favourite brands").option("--palette <csv>","Comma-separated colour palette").option("--style-preferences <csv>","Comma-separated style preferences").option("--sizes <json>",'Sizes JSON (e.g. {"tops":"M","shoes":"8"})').option("-f, --format <format>","Output format").action(async t=>{try{let o={};t.displayName&&(o.displayName=t.displayName),t.bio!==void 0&&(o.bio=t.bio),t.visibility&&(o.visibility=t.visibility.toUpperCase()),t.favouriteBrands&&(o.favouriteBrands=c(t.favouriteBrands)),t.palette&&(o.palette=c(t.palette)),t.stylePreferences&&(o.stylePreferences=c(t.stylePreferences)),t.sizes&&(o.sizes=b("sizes",t.sizes));let e=await b$1(nt,{input:o});i("Style profile saved"),h$1(t,e.cooUpsertStyleProfile);}catch(o){g(o);}});}function ft(d$1){d$1.command("health").description("Coolandlovely service health check (public)").option("-f, --format <format>","Output format").action(async i$1=>{try{let t=await d(at);i(t.cooHealth),h$1(i$1,{health:t.cooHealth});}catch(t){g(t);}});}var yt={id:"coolandlovely",version:"1.0.0",displayName:"Coolandlovely",dependsOn:["auth","workspaces"],register(d,i){a(i);let t=d.command("coolandlovely").description("Coolandlovely fashion & lifestyle platform");st(t),ct(t),dt(t),lt(t),mt(t),pt(t),ut(t),gt(t),ft(t);}},ao=yt;export{ao as default};