@burdenoff/cli-sdk 2026.627.1 → 2026.627.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.
Files changed (49) hide show
  1. package/dist/modules/artistrybase/index.cjs +334 -0
  2. package/dist/modules/artistrybase/index.d.cts +7 -0
  3. package/dist/modules/artistrybase/index.d.ts +7 -0
  4. package/dist/modules/artistrybase/index.js +334 -0
  5. package/dist/modules/assethandler/index.cjs +255 -0
  6. package/dist/modules/assethandler/index.d.cts +7 -0
  7. package/dist/modules/assethandler/index.d.ts +7 -0
  8. package/dist/modules/assethandler/index.js +255 -0
  9. package/dist/modules/brainyrich/index.cjs +340 -0
  10. package/dist/modules/brainyrich/index.d.cts +7 -0
  11. package/dist/modules/brainyrich/index.d.ts +7 -0
  12. package/dist/modules/brainyrich/index.js +340 -0
  13. package/dist/modules/buildmyiq/index.cjs +231 -0
  14. package/dist/modules/buildmyiq/index.d.cts +7 -0
  15. package/dist/modules/buildmyiq/index.d.ts +7 -0
  16. package/dist/modules/buildmyiq/index.js +231 -0
  17. package/dist/modules/collabkin/index.cjs +208 -0
  18. package/dist/modules/collabkin/index.d.cts +7 -0
  19. package/dist/modules/collabkin/index.d.ts +7 -0
  20. package/dist/modules/collabkin/index.js +208 -0
  21. package/dist/modules/comradecircle/index.cjs +281 -0
  22. package/dist/modules/comradecircle/index.d.cts +7 -0
  23. package/dist/modules/comradecircle/index.d.ts +7 -0
  24. package/dist/modules/comradecircle/index.js +281 -0
  25. package/dist/modules/eventfullymanaged/index.cjs +247 -0
  26. package/dist/modules/eventfullymanaged/index.d.cts +7 -0
  27. package/dist/modules/eventfullymanaged/index.d.ts +7 -0
  28. package/dist/modules/eventfullymanaged/index.js +247 -0
  29. package/dist/modules/headshotmarketing/index.cjs +1083 -0
  30. package/dist/modules/headshotmarketing/index.d.cts +7 -0
  31. package/dist/modules/headshotmarketing/index.d.ts +7 -0
  32. package/dist/modules/headshotmarketing/index.js +1083 -0
  33. package/dist/modules/movethewheels/index.cjs +565 -0
  34. package/dist/modules/movethewheels/index.d.cts +7 -0
  35. package/dist/modules/movethewheels/index.d.ts +7 -0
  36. package/dist/modules/movethewheels/index.js +565 -0
  37. package/dist/modules/planmagnet/index.cjs +795 -0
  38. package/dist/modules/planmagnet/index.d.cts +7 -0
  39. package/dist/modules/planmagnet/index.d.ts +7 -0
  40. package/dist/modules/planmagnet/index.js +795 -0
  41. package/dist/modules/proserviceworld/index.cjs +193 -0
  42. package/dist/modules/proserviceworld/index.d.cts +7 -0
  43. package/dist/modules/proserviceworld/index.d.ts +7 -0
  44. package/dist/modules/proserviceworld/index.js +193 -0
  45. package/dist/modules/timecampus/index.cjs +444 -0
  46. package/dist/modules/timecampus/index.d.cts +7 -0
  47. package/dist/modules/timecampus/index.d.ts +7 -0
  48. package/dist/modules/timecampus/index.js +444 -0
  49. package/package.json +1 -1
@@ -0,0 +1,1083 @@
1
+ 'use strict';require('graphql-request'),require('cross-fetch'),require('commander');var m=class extends Error{exitCode;hint;constructor(i,a){super(i),this.name="CliUserError",this.exitCode=a?.exitCode??1,this.hint=a?.hint;}},C=class extends m{constructor(i,a){super(i,{exitCode:2,hint:a?.hint??"Run `<product> auth login` to authenticate."}),this.name="CliAuthError";}},y=class extends Error{cause;constructor(i,a){super(i),this.name="CliInternalError",this.cause=a;}};var T=null;function b(u){T=u;}function A(){if(!T)throw new y("vibecontrols module helpers used before setHelpersContext was called");return T}function un(){let u=A();if(!u.auth.isAuthenticated())throw new C(`Authentication required. Run \`${u.productName} auth login\`.`)}async function o(u,i){return un(),A().gql.workspace.request(u,i)}function r(u){let i=u instanceof Error?u.message:String(u);throw new m(i)}function s(u,i,a){A().output.formatAndOutput(u,i,a);}function c(u){A().output.printSuccess(u);}function f(u,i){return A().output.truncate(u,i)}var R=`
2
+ query HmCampaigns($filter: HeadshotmarketingCampaignFilterInput) {
3
+ headshotmarketingCampaigns(filter: $filter) {
4
+ total hasMore
5
+ items {
6
+ id name type status budget spent startDate endDate tags createdAt
7
+ }
8
+ }
9
+ }
10
+ `,v=`
11
+ query HmCampaign($id: ID!) {
12
+ headshotmarketingCampaign(id: $id) {
13
+ id name description type status budget spent startDate endDate goals
14
+ tags metadata createdBy createdAt updatedAt workspaceId
15
+ }
16
+ }
17
+ `,N=`
18
+ mutation HmCreateCampaign($input: CreateHeadshotmarketingCampaignInput!) {
19
+ createHeadshotmarketingCampaign(input: $input) {
20
+ id name type status budget startDate endDate tags createdAt
21
+ }
22
+ }
23
+ `,L=`
24
+ mutation HmUpdateCampaign($id: ID!, $input: UpdateHeadshotmarketingCampaignInput!) {
25
+ updateHeadshotmarketingCampaign(id: $id, input: $input) {
26
+ id name type status budget spent startDate endDate tags updatedAt
27
+ }
28
+ }
29
+ `,P=`
30
+ mutation HmDeleteCampaign($id: ID!) {
31
+ deleteHeadshotmarketingCampaign(id: $id)
32
+ }
33
+ `,_=`
34
+ mutation HmDuplicateCampaign($id: ID!) {
35
+ duplicateHeadshotmarketingCampaign(id: $id) {
36
+ id name type status budget startDate endDate createdAt
37
+ }
38
+ }
39
+ `,$=`
40
+ query HmCampaignTemplates($filter: HeadshotmarketingCampaignTemplateFilterInput) {
41
+ headshotmarketingCampaignTemplates(filter: $filter) {
42
+ total hasMore
43
+ items { id name type isActive tags createdAt }
44
+ }
45
+ }
46
+ `,x=`
47
+ query HmCampaignTemplate($id: ID!) {
48
+ headshotmarketingCampaignTemplate(id: $id) {
49
+ id name description type isActive configuration tags metadata
50
+ createdBy createdAt updatedAt workspaceId
51
+ }
52
+ }
53
+ `,H=`
54
+ mutation HmCreateCampaignTemplate($input: CreateHeadshotmarketingCampaignTemplateInput!) {
55
+ createHeadshotmarketingCampaignTemplate(input: $input) {
56
+ id name type isActive tags createdAt
57
+ }
58
+ }
59
+ `,U=`
60
+ mutation HmUpdateCampaignTemplate($id: ID!, $input: UpdateHeadshotmarketingCampaignTemplateInput!) {
61
+ updateHeadshotmarketingCampaignTemplate(id: $id, input: $input) {
62
+ id name type isActive tags updatedAt
63
+ }
64
+ }
65
+ `,q=`
66
+ mutation HmDeleteCampaignTemplate($id: ID!) {
67
+ deleteHeadshotmarketingCampaignTemplate(id: $id)
68
+ }
69
+ `,F=`
70
+ query HmContacts($filter: HeadshotmarketingContactFilterInput) {
71
+ headshotmarketingContacts(filter: $filter) {
72
+ total hasMore
73
+ items { id firstName lastName email company status tags createdAt }
74
+ }
75
+ }
76
+ `,M=`
77
+ query HmContact($id: ID!) {
78
+ headshotmarketingContact(id: $id) {
79
+ id firstName lastName email phone company jobTitle status tags address
80
+ avatarUrl customFields socialProfiles metadata createdBy createdAt
81
+ updatedAt workspaceId
82
+ }
83
+ }
84
+ `,G=`
85
+ query HmContactActivities($contactId: ID!, $limit: Int, $offset: Int) {
86
+ headshotmarketingContactActivities(contactId: $contactId, limit: $limit, offset: $offset) {
87
+ id contactId type title description createdBy createdAt
88
+ }
89
+ }
90
+ `,W=`
91
+ mutation HmCreateContact($input: CreateHeadshotmarketingContactInput!) {
92
+ createHeadshotmarketingContact(input: $input) {
93
+ id firstName lastName email company status tags createdAt
94
+ }
95
+ }
96
+ `,j=`
97
+ mutation HmUpdateContact($id: ID!, $input: UpdateHeadshotmarketingContactInput!) {
98
+ updateHeadshotmarketingContact(id: $id, input: $input) {
99
+ id firstName lastName email company status tags updatedAt
100
+ }
101
+ }
102
+ `,V=`
103
+ mutation HmDeleteContact($id: ID!) {
104
+ deleteHeadshotmarketingContact(id: $id)
105
+ }
106
+ `,B=`
107
+ query HmLeads($filter: HeadshotmarketingLeadFilterInput) {
108
+ headshotmarketingLeads(filter: $filter) {
109
+ total hasMore
110
+ items { id title status source score estimatedValue ownerId createdAt }
111
+ }
112
+ }
113
+ `,J=`
114
+ query HmLead($id: ID!) {
115
+ headshotmarketingLead(id: $id) {
116
+ id title description status source score estimatedValue contactId
117
+ campaignId ownerId tags customFields metadata createdBy createdAt
118
+ updatedAt workspaceId
119
+ }
120
+ }
121
+ `,K=`
122
+ mutation HmCreateLead($input: CreateHeadshotmarketingLeadInput!) {
123
+ createHeadshotmarketingLead(input: $input) {
124
+ id title status source score estimatedValue createdAt
125
+ }
126
+ }
127
+ `,z=`
128
+ mutation HmUpdateLead($id: ID!, $input: UpdateHeadshotmarketingLeadInput!) {
129
+ updateHeadshotmarketingLead(id: $id, input: $input) {
130
+ id title status source score estimatedValue updatedAt
131
+ }
132
+ }
133
+ `,Y=`
134
+ mutation HmDeleteLead($id: ID!) {
135
+ deleteHeadshotmarketingLead(id: $id)
136
+ }
137
+ `,X=`
138
+ mutation HmConvertLead($leadId: ID!, $pipelineId: ID!, $stageId: ID!, $dealTitle: String!) {
139
+ convertHeadshotmarketingLead(
140
+ leadId: $leadId
141
+ pipelineId: $pipelineId
142
+ stageId: $stageId
143
+ dealTitle: $dealTitle
144
+ ) {
145
+ id title status value pipelineId stageId createdAt
146
+ }
147
+ }
148
+ `,Q=`
149
+ query HmPipelines($filter: HeadshotmarketingPipelineFilterInput) {
150
+ headshotmarketingPipelines(filter: $filter) {
151
+ total hasMore
152
+ items { id name isActive isDefault createdAt }
153
+ }
154
+ }
155
+ `,Z=`
156
+ query HmPipeline($id: ID!) {
157
+ headshotmarketingPipeline(id: $id) {
158
+ id name description isActive isDefault metadata createdBy createdAt
159
+ updatedAt workspaceId
160
+ stages { id name order color description defaultProbability isActive }
161
+ }
162
+ }
163
+ `,tt=`
164
+ query HmPipelineOverview($pipelineId: ID!) {
165
+ headshotmarketingPipelineOverview(pipelineId: $pipelineId) {
166
+ pipelineId pipelineName totalDeals totalValue
167
+ stages { stageId stageName dealCount totalValue }
168
+ }
169
+ }
170
+ `,et=`
171
+ mutation HmCreatePipeline($input: CreateHeadshotmarketingPipelineInput!) {
172
+ createHeadshotmarketingPipeline(input: $input) {
173
+ id name isActive isDefault createdAt
174
+ }
175
+ }
176
+ `,at=`
177
+ mutation HmUpdatePipeline($id: ID!, $input: UpdateHeadshotmarketingPipelineInput!) {
178
+ updateHeadshotmarketingPipeline(id: $id, input: $input) {
179
+ id name isActive isDefault updatedAt
180
+ }
181
+ }
182
+ `,nt=`
183
+ mutation HmDeletePipeline($id: ID!) {
184
+ deleteHeadshotmarketingPipeline(id: $id)
185
+ }
186
+ `,it=`
187
+ mutation HmCreatePipelineStage($input: CreateHeadshotmarketingPipelineStageInput!) {
188
+ createHeadshotmarketingPipelineStage(input: $input) {
189
+ id pipelineId name order color defaultProbability isActive createdAt
190
+ }
191
+ }
192
+ `,ot=`
193
+ mutation HmUpdatePipelineStage($id: ID!, $input: UpdateHeadshotmarketingPipelineStageInput!) {
194
+ updateHeadshotmarketingPipelineStage(id: $id, input: $input) {
195
+ id pipelineId name order color defaultProbability isActive updatedAt
196
+ }
197
+ }
198
+ `,rt=`
199
+ mutation HmDeletePipelineStage($id: ID!) {
200
+ deleteHeadshotmarketingPipelineStage(id: $id)
201
+ }
202
+ `,st=`
203
+ query HmDeals($filter: HeadshotmarketingDealFilterInput) {
204
+ headshotmarketingDeals(filter: $filter) {
205
+ total hasMore
206
+ items { id title status value probability pipelineId stageId ownerId createdAt }
207
+ }
208
+ }
209
+ `,dt=`
210
+ query HmDeal($id: ID!) {
211
+ headshotmarketingDeal(id: $id) {
212
+ id title description status value probability pipelineId stageId contactId
213
+ leadId ownerId expectedCloseDate closedAt tags customFields metadata
214
+ createdBy createdAt updatedAt workspaceId
215
+ }
216
+ }
217
+ `,ct=`
218
+ mutation HmCreateDeal($input: CreateHeadshotmarketingDealInput!) {
219
+ createHeadshotmarketingDeal(input: $input) {
220
+ id title status value probability pipelineId stageId createdAt
221
+ }
222
+ }
223
+ `,mt=`
224
+ mutation HmUpdateDeal($id: ID!, $input: UpdateHeadshotmarketingDealInput!) {
225
+ updateHeadshotmarketingDeal(id: $id, input: $input) {
226
+ id title status value probability pipelineId stageId updatedAt
227
+ }
228
+ }
229
+ `,pt=`
230
+ mutation HmDeleteDeal($id: ID!) {
231
+ deleteHeadshotmarketingDeal(id: $id)
232
+ }
233
+ `,ut=`
234
+ mutation HmMoveDeal($id: ID!, $stageId: ID!) {
235
+ moveHeadshotmarketingDeal(id: $id, stageId: $stageId) {
236
+ id title status stageId probability updatedAt
237
+ }
238
+ }
239
+ `,gt=`
240
+ query HmSocialAccounts($filter: HeadshotmarketingSocialAccountFilterInput) {
241
+ headshotmarketingSocialAccounts(filter: $filter) {
242
+ total hasMore
243
+ items { id accountName platform status followerCount createdAt }
244
+ }
245
+ }
246
+ `,lt=`
247
+ query HmSocialAccount($id: ID!) {
248
+ headshotmarketingSocialAccount(id: $id) {
249
+ id accountName platform platformAccountId profileUrl avatarUrl
250
+ followerCount status tokenExpiresAt metadata createdBy createdAt
251
+ updatedAt workspaceId
252
+ }
253
+ }
254
+ `,ft=`
255
+ mutation HmCreateSocialAccount($input: CreateHeadshotmarketingSocialAccountInput!) {
256
+ createHeadshotmarketingSocialAccount(input: $input) {
257
+ id accountName platform status followerCount createdAt
258
+ }
259
+ }
260
+ `,ht=`
261
+ mutation HmUpdateSocialAccount($id: ID!, $input: UpdateHeadshotmarketingSocialAccountInput!) {
262
+ updateHeadshotmarketingSocialAccount(id: $id, input: $input) {
263
+ id accountName platform status followerCount updatedAt
264
+ }
265
+ }
266
+ `,It=`
267
+ mutation HmDeleteSocialAccount($id: ID!) {
268
+ deleteHeadshotmarketingSocialAccount(id: $id)
269
+ }
270
+ `,kt=`
271
+ mutation HmDisconnectSocialAccount($id: ID!) {
272
+ disconnectHeadshotmarketingSocialAccount(id: $id) {
273
+ id accountName platform status updatedAt
274
+ }
275
+ }
276
+ `,Et=`
277
+ query HmSocialPosts($filter: HeadshotmarketingSocialPostFilterInput) {
278
+ headshotmarketingSocialPosts(filter: $filter) {
279
+ total hasMore
280
+ items { id content status socialAccountId scheduledAt publishedAt createdAt }
281
+ }
282
+ }
283
+ `,yt=`
284
+ query HmSocialPost($id: ID!) {
285
+ headshotmarketingSocialPost(id: $id) {
286
+ id content socialAccountId campaignId status mediaUrls tags scheduledAt
287
+ publishedAt postUrl platformPostId errorMessage metrics metadata
288
+ createdBy createdAt updatedAt workspaceId
289
+ }
290
+ }
291
+ `,Ct=`
292
+ mutation HmCreateSocialPost($input: CreateHeadshotmarketingSocialPostInput!) {
293
+ createHeadshotmarketingSocialPost(input: $input) {
294
+ id content socialAccountId status scheduledAt createdAt
295
+ }
296
+ }
297
+ `,At=`
298
+ mutation HmUpdateSocialPost($id: ID!, $input: UpdateHeadshotmarketingSocialPostInput!) {
299
+ updateHeadshotmarketingSocialPost(id: $id, input: $input) {
300
+ id content status scheduledAt updatedAt
301
+ }
302
+ }
303
+ `,wt=`
304
+ mutation HmDeleteSocialPost($id: ID!) {
305
+ deleteHeadshotmarketingSocialPost(id: $id)
306
+ }
307
+ `,Tt=`
308
+ mutation HmPublishSocialPost($id: ID!) {
309
+ publishHeadshotmarketingSocialPost(id: $id) {
310
+ id content status publishedAt postUrl updatedAt
311
+ }
312
+ }
313
+ `,St=`
314
+ mutation HmScheduleSocialPost($id: ID!, $scheduledAt: DateTime!) {
315
+ scheduleHeadshotmarketingSocialPost(id: $id, scheduledAt: $scheduledAt) {
316
+ id content status scheduledAt updatedAt
317
+ }
318
+ }
319
+ `,Dt=`
320
+ query HmSocialMetrics {
321
+ headshotmarketingSocialMetrics {
322
+ totalAccounts totalPosts publishedPosts scheduledPosts totalFollowers totalEngagement
323
+ }
324
+ }
325
+ `,Ot=`
326
+ query HmAdCampaigns($filter: HeadshotmarketingAdCampaignFilterInput) {
327
+ headshotmarketingAdCampaigns(filter: $filter) {
328
+ total hasMore
329
+ items { id name platform status totalBudget spent startDate endDate createdAt }
330
+ }
331
+ }
332
+ `,bt=`
333
+ query HmAdCampaign($id: ID!) {
334
+ headshotmarketingAdCampaign(id: $id) {
335
+ id name description platform status totalBudget dailyBudget spent
336
+ bidStrategy audienceId campaignId startDate endDate metrics metadata
337
+ createdBy createdAt updatedAt workspaceId
338
+ }
339
+ }
340
+ `,Rt=`
341
+ mutation HmCreateAdCampaign($input: CreateHeadshotmarketingAdCampaignInput!) {
342
+ createHeadshotmarketingAdCampaign(input: $input) {
343
+ id name platform status totalBudget startDate endDate createdAt
344
+ }
345
+ }
346
+ `,vt=`
347
+ mutation HmUpdateAdCampaign($id: ID!, $input: UpdateHeadshotmarketingAdCampaignInput!) {
348
+ updateHeadshotmarketingAdCampaign(id: $id, input: $input) {
349
+ id name platform status totalBudget spent updatedAt
350
+ }
351
+ }
352
+ `,Nt=`
353
+ mutation HmDeleteAdCampaign($id: ID!) {
354
+ deleteHeadshotmarketingAdCampaign(id: $id)
355
+ }
356
+ `,Lt=`
357
+ query HmAdMetrics {
358
+ headshotmarketingAdMetrics {
359
+ totalAdCampaigns activeAdCampaigns totalCreatives totalImpressions totalClicks totalSpent
360
+ }
361
+ }
362
+ `,Pt=`
363
+ query HmAdCreatives($filter: HeadshotmarketingAdCreativeFilterInput) {
364
+ headshotmarketingAdCreatives(filter: $filter) {
365
+ total hasMore
366
+ items { id name type status adCampaignId createdAt }
367
+ }
368
+ }
369
+ `,_t=`
370
+ query HmAdCreative($id: ID!) {
371
+ headshotmarketingAdCreative(id: $id) {
372
+ id name type status adCampaignId headline body callToAction
373
+ destinationUrl mediaUrls metrics metadata createdBy createdAt
374
+ updatedAt workspaceId
375
+ }
376
+ }
377
+ `,$t=`
378
+ mutation HmCreateAdCreative($input: CreateHeadshotmarketingAdCreativeInput!) {
379
+ createHeadshotmarketingAdCreative(input: $input) {
380
+ id name type status adCampaignId createdAt
381
+ }
382
+ }
383
+ `,xt=`
384
+ mutation HmUpdateAdCreative($id: ID!, $input: UpdateHeadshotmarketingAdCreativeInput!) {
385
+ updateHeadshotmarketingAdCreative(id: $id, input: $input) {
386
+ id name type status updatedAt
387
+ }
388
+ }
389
+ `,Ht=`
390
+ mutation HmDeleteAdCreative($id: ID!) {
391
+ deleteHeadshotmarketingAdCreative(id: $id)
392
+ }
393
+ `,Ut=`
394
+ query HmAudiences($filter: HeadshotmarketingAudienceFilterInput) {
395
+ headshotmarketingAudiences(filter: $filter) {
396
+ total hasMore
397
+ items { id name isActive estimatedSize tags createdAt }
398
+ }
399
+ }
400
+ `,qt=`
401
+ query HmAudience($id: ID!) {
402
+ headshotmarketingAudience(id: $id) {
403
+ id name description estimatedSize isActive tags targetingCriteria
404
+ metadata createdBy createdAt updatedAt workspaceId
405
+ }
406
+ }
407
+ `,Ft=`
408
+ mutation HmCreateAudience($input: CreateHeadshotmarketingAudienceInput!) {
409
+ createHeadshotmarketingAudience(input: $input) {
410
+ id name isActive estimatedSize tags createdAt
411
+ }
412
+ }
413
+ `,Mt=`
414
+ mutation HmUpdateAudience($id: ID!, $input: UpdateHeadshotmarketingAudienceInput!) {
415
+ updateHeadshotmarketingAudience(id: $id, input: $input) {
416
+ id name isActive estimatedSize tags updatedAt
417
+ }
418
+ }
419
+ `,Gt=`
420
+ mutation HmDeleteAudience($id: ID!) {
421
+ deleteHeadshotmarketingAudience(id: $id)
422
+ }
423
+ `,Wt=`
424
+ query HmInfluencers($filter: HeadshotmarketingInfluencerFilterInput) {
425
+ headshotmarketingInfluencers(filter: $filter) {
426
+ total hasMore
427
+ items { id name tier totalFollowers engagementRate location createdAt }
428
+ }
429
+ }
430
+ `,jt=`
431
+ query HmDiscoverInfluencers($filter: HeadshotmarketingInfluencerFilterInput) {
432
+ headshotmarketingDiscoverInfluencers(filter: $filter) {
433
+ total hasMore
434
+ items { id name tier totalFollowers engagementRate location niches }
435
+ }
436
+ }
437
+ `,Vt=`
438
+ query HmInfluencer($id: ID!) {
439
+ headshotmarketingInfluencer(id: $id) {
440
+ id name bio email phone location tier totalFollowers engagementRate
441
+ niches platforms audienceDemographics avatarUrl tags metadata
442
+ createdBy createdAt updatedAt workspaceId
443
+ }
444
+ }
445
+ `,Bt=`
446
+ mutation HmCreateInfluencer($input: CreateHeadshotmarketingInfluencerInput!) {
447
+ createHeadshotmarketingInfluencer(input: $input) {
448
+ id name tier totalFollowers engagementRate createdAt
449
+ }
450
+ }
451
+ `,Jt=`
452
+ mutation HmUpdateInfluencer($id: ID!, $input: UpdateHeadshotmarketingInfluencerInput!) {
453
+ updateHeadshotmarketingInfluencer(id: $id, input: $input) {
454
+ id name tier totalFollowers engagementRate updatedAt
455
+ }
456
+ }
457
+ `,Kt=`
458
+ mutation HmDeleteInfluencer($id: ID!) {
459
+ deleteHeadshotmarketingInfluencer(id: $id)
460
+ }
461
+ `,zt=`
462
+ query HmInfluencerCampaigns($filter: HeadshotmarketingInfluencerCampaignFilterInput) {
463
+ headshotmarketingInfluencerCampaigns(filter: $filter) {
464
+ total hasMore
465
+ items { id name status influencerId compensation startDate endDate createdAt }
466
+ }
467
+ }
468
+ `,Yt=`
469
+ query HmInfluencerCampaign($id: ID!) {
470
+ headshotmarketingInfluencerCampaign(id: $id) {
471
+ id name description status influencerId campaignId compensation
472
+ compensationType deliverables contentDeadline startDate endDate metrics
473
+ metadata createdBy createdAt updatedAt workspaceId
474
+ }
475
+ }
476
+ `,Xt=`
477
+ mutation HmCreateInfluencerCampaign($input: CreateHeadshotmarketingInfluencerCampaignInput!) {
478
+ createHeadshotmarketingInfluencerCampaign(input: $input) {
479
+ id name status influencerId compensation startDate endDate createdAt
480
+ }
481
+ }
482
+ `,Qt=`
483
+ mutation HmUpdateInfluencerCampaign($id: ID!, $input: UpdateHeadshotmarketingInfluencerCampaignInput!) {
484
+ updateHeadshotmarketingInfluencerCampaign(id: $id, input: $input) {
485
+ id name status compensation startDate endDate updatedAt
486
+ }
487
+ }
488
+ `,Zt=`
489
+ mutation HmDeleteInfluencerCampaign($id: ID!) {
490
+ deleteHeadshotmarketingInfluencerCampaign(id: $id)
491
+ }
492
+ `,te=`
493
+ query HmInfluencerRelationships($filter: HeadshotmarketingInfluencerRelationshipFilterInput) {
494
+ headshotmarketingInfluencerRelationships(filter: $filter) {
495
+ total hasMore
496
+ items { id influencerId status rating totalCampaigns createdAt }
497
+ }
498
+ }
499
+ `,ee=`
500
+ query HmInfluencerRelationship($id: ID!) {
501
+ headshotmarketingInfluencerRelationship(id: $id) {
502
+ id influencerId status rating notes tags firstContactDate
503
+ lastInteractionDate totalCampaigns totalCompensation metadata
504
+ createdBy createdAt updatedAt workspaceId
505
+ }
506
+ }
507
+ `,ae=`
508
+ mutation HmCreateInfluencerRelationship($input: CreateHeadshotmarketingInfluencerRelationshipInput!) {
509
+ createHeadshotmarketingInfluencerRelationship(input: $input) {
510
+ id influencerId status rating createdAt
511
+ }
512
+ }
513
+ `,ne=`
514
+ mutation HmUpdateInfluencerRelationship($id: ID!, $input: UpdateHeadshotmarketingInfluencerRelationshipInput!) {
515
+ updateHeadshotmarketingInfluencerRelationship(id: $id, input: $input) {
516
+ id influencerId status rating totalCampaigns updatedAt
517
+ }
518
+ }
519
+ `,ie=`
520
+ mutation HmDeleteInfluencerRelationship($id: ID!) {
521
+ deleteHeadshotmarketingInfluencerRelationship(id: $id)
522
+ }
523
+ `,oe=`
524
+ mutation HmSetInfluencerRelationshipStatus($id: ID!, $status: HeadshotmarketingInfluencerRelationshipStatus!) {
525
+ updateHeadshotmarketingInfluencerRelationshipStatus(id: $id, status: $status) {
526
+ id influencerId status updatedAt
527
+ }
528
+ }
529
+ `,re=`
530
+ query HmContentItems($filter: HeadshotmarketingContentItemFilterInput, $pagination: PaginationInput) {
531
+ headshotmarketingContentItems(filter: $filter, pagination: $pagination) {
532
+ total hasMore
533
+ items { id title type status authorId publishedAt createdAt }
534
+ }
535
+ }
536
+ `,se=`
537
+ query HmContentItem($id: ID!) {
538
+ headshotmarketingContentItem(id: $id) {
539
+ id title type status summary body slug authorId campaignId tags
540
+ publishedAt scheduledAt metadata createdAt updatedAt workspaceId
541
+ }
542
+ }
543
+ `,de=`
544
+ mutation HmCreateContentItem($input: HeadshotmarketingCreateContentItemInput!) {
545
+ headshotmarketingCreateContentItem(input: $input) {
546
+ id title type status slug tags createdAt
547
+ }
548
+ }
549
+ `,ce=`
550
+ mutation HmUpdateContentItem($id: ID!, $input: HeadshotmarketingUpdateContentItemInput!) {
551
+ headshotmarketingUpdateContentItem(id: $id, input: $input) {
552
+ id title type status slug tags updatedAt
553
+ }
554
+ }
555
+ `,me=`
556
+ mutation HmDeleteContentItem($id: ID!) {
557
+ headshotmarketingDeleteContentItem(id: $id)
558
+ }
559
+ `,pe=`
560
+ query HmAssets($filter: HeadshotmarketingAssetFilterInput, $pagination: PaginationInput) {
561
+ headshotmarketingAssets(filter: $filter, pagination: $pagination) {
562
+ total hasMore
563
+ items { id name type mimeType sizeBytes tags createdAt }
564
+ }
565
+ }
566
+ `,ue=`
567
+ query HmAsset($id: ID!) {
568
+ headshotmarketingAsset(id: $id) {
569
+ id name type url thumbnailUrl mimeType sizeBytes width height altText
570
+ folderId tags metadata uploadedBy createdAt updatedAt workspaceId
571
+ }
572
+ }
573
+ `,ge=`
574
+ mutation HmCreateAsset($input: HeadshotmarketingCreateAssetInput!) {
575
+ headshotmarketingCreateAsset(input: $input) {
576
+ id name type url mimeType sizeBytes tags createdAt
577
+ }
578
+ }
579
+ `,le=`
580
+ mutation HmUpdateAsset($id: ID!, $input: HeadshotmarketingUpdateAssetInput!) {
581
+ headshotmarketingUpdateAsset(id: $id, input: $input) {
582
+ id name type url tags updatedAt
583
+ }
584
+ }
585
+ `,fe=`
586
+ mutation HmDeleteAsset($id: ID!) {
587
+ headshotmarketingDeleteAsset(id: $id)
588
+ }
589
+ `,he=`
590
+ query HmAITools($filter: HeadshotmarketingAIToolFilterInput, $pagination: PaginationInput) {
591
+ headshotmarketingAITools(filter: $filter, pagination: $pagination) {
592
+ total hasMore
593
+ items { id name provider category isEnabled usageCount createdAt }
594
+ }
595
+ }
596
+ `,Ie=`
597
+ query HmAITool($id: ID!) {
598
+ headshotmarketingAITool(id: $id) {
599
+ id name description provider model category isEnabled usageCount
600
+ configuration metadata createdAt updatedAt workspaceId
601
+ }
602
+ }
603
+ `,ke=`
604
+ mutation HmCreateAITool($input: HeadshotmarketingCreateAIToolInput!) {
605
+ headshotmarketingCreateAITool(input: $input) {
606
+ id name provider category isEnabled createdAt
607
+ }
608
+ }
609
+ `,Ee=`
610
+ mutation HmUpdateAITool($id: ID!, $input: HeadshotmarketingUpdateAIToolInput!) {
611
+ headshotmarketingUpdateAITool(id: $id, input: $input) {
612
+ id name provider category isEnabled updatedAt
613
+ }
614
+ }
615
+ `,ye=`
616
+ mutation HmDeleteAITool($id: ID!) {
617
+ headshotmarketingDeleteAITool(id: $id)
618
+ }
619
+ `,Ce=`
620
+ mutation HmExecuteAITool($input: HeadshotmarketingExecuteAIToolInput!) {
621
+ headshotmarketingExecuteAITool(input: $input) {
622
+ id toolId status tokensUsed cost durationMs executedBy createdAt
623
+ }
624
+ }
625
+ `,Ae=`
626
+ query HmAIToolExecutions($filter: HeadshotmarketingAIToolExecutionFilterInput, $pagination: PaginationInput) {
627
+ headshotmarketingAIToolExecutions(filter: $filter, pagination: $pagination) {
628
+ total hasMore
629
+ items { id toolId status executedBy durationMs cost createdAt }
630
+ }
631
+ }
632
+ `,we=`
633
+ query HmAIToolExecution($id: ID!) {
634
+ headshotmarketingAIToolExecution(id: $id) {
635
+ id toolId status input output errorMessage tokensUsed cost durationMs
636
+ executedBy metadata createdAt updatedAt workspaceId
637
+ }
638
+ }
639
+ `,Te=`
640
+ query HmEvents($filter: HeadshotmarketingEventFilterInput, $pagination: PaginationInput) {
641
+ headshotmarketingEvents(filter: $filter, pagination: $pagination) {
642
+ total hasMore
643
+ items { id title type status startDate endDate registrationCount createdAt }
644
+ }
645
+ }
646
+ `,Se=`
647
+ query HmEvent($id: ID!) {
648
+ headshotmarketingEvent(id: $id) {
649
+ id title description type status startDate endDate timezone location
650
+ virtualUrl coverImageUrl slug maxAttendees registrationCount tags
651
+ metadata createdBy createdAt updatedAt workspaceId
652
+ speakers { id name title company sortOrder }
653
+ }
654
+ }
655
+ `,De=`
656
+ mutation HmCreateEvent($input: HeadshotmarketingCreateEventInput!) {
657
+ headshotmarketingCreateEvent(input: $input) {
658
+ id title type status startDate endDate createdAt
659
+ }
660
+ }
661
+ `,Oe=`
662
+ mutation HmUpdateEvent($id: ID!, $input: HeadshotmarketingUpdateEventInput!) {
663
+ headshotmarketingUpdateEvent(id: $id, input: $input) {
664
+ id title type status startDate endDate updatedAt
665
+ }
666
+ }
667
+ `,be=`
668
+ mutation HmDeleteEvent($id: ID!) {
669
+ headshotmarketingDeleteEvent(id: $id)
670
+ }
671
+ `,Re=`
672
+ query HmEventRegistrations($filter: HeadshotmarketingEventRegistrationFilterInput, $pagination: PaginationInput) {
673
+ headshotmarketingEventRegistrations(filter: $filter, pagination: $pagination) {
674
+ total hasMore
675
+ items { id eventId attendeeName attendeeEmail status createdAt }
676
+ }
677
+ }
678
+ `,ve=`
679
+ query HmEventRegistration($id: ID!) {
680
+ headshotmarketingEventRegistration(id: $id) {
681
+ id eventId attendeeName attendeeEmail attendeePhone attendeeCompany
682
+ attendeeTitle status notes checkedInAt cancelledAt registeredBy
683
+ metadata createdAt updatedAt workspaceId
684
+ }
685
+ }
686
+ `,Ne=`
687
+ mutation HmCreateEventRegistration($input: HeadshotmarketingCreateEventRegistrationInput!) {
688
+ headshotmarketingCreateEventRegistration(input: $input) {
689
+ id eventId attendeeName attendeeEmail status createdAt
690
+ }
691
+ }
692
+ `,Le=`
693
+ mutation HmUpdateEventRegistration($id: ID!, $input: HeadshotmarketingUpdateEventRegistrationInput!) {
694
+ headshotmarketingUpdateEventRegistration(id: $id, input: $input) {
695
+ id eventId attendeeName attendeeEmail status updatedAt
696
+ }
697
+ }
698
+ `,Pe=`
699
+ mutation HmRegisterForEvent($input: HeadshotmarketingCreateEventRegistrationInput!) {
700
+ headshotmarketingRegisterForEvent(input: $input) {
701
+ id eventId attendeeName attendeeEmail status createdAt
702
+ }
703
+ }
704
+ `,_e=`
705
+ mutation HmCheckInAttendee($registrationId: ID!) {
706
+ headshotmarketingCheckInAttendee(registrationId: $registrationId) {
707
+ id eventId attendeeName status checkedInAt updatedAt
708
+ }
709
+ }
710
+ `,$e=`
711
+ mutation HmCancelRegistration($registrationId: ID!) {
712
+ headshotmarketingCancelRegistration(registrationId: $registrationId) {
713
+ id eventId attendeeName status cancelledAt updatedAt
714
+ }
715
+ }
716
+ `,xe=`
717
+ query HmEventSpeakers($filter: HeadshotmarketingEventSpeakerFilterInput, $pagination: PaginationInput) {
718
+ headshotmarketingEventSpeakers(filter: $filter, pagination: $pagination) {
719
+ total hasMore
720
+ items { id eventId name title company sortOrder }
721
+ }
722
+ }
723
+ `,He=`
724
+ query HmEventSpeaker($id: ID!) {
725
+ headshotmarketingEventSpeaker(id: $id) {
726
+ id eventId name title company bio email avatarUrl linkedinUrl twitterUrl
727
+ topic sortOrder metadata createdAt updatedAt workspaceId
728
+ }
729
+ }
730
+ `,Ue=`
731
+ mutation HmCreateEventSpeaker($input: HeadshotmarketingCreateEventSpeakerInput!) {
732
+ headshotmarketingCreateEventSpeaker(input: $input) {
733
+ id eventId name title company sortOrder createdAt
734
+ }
735
+ }
736
+ `,qe=`
737
+ mutation HmUpdateEventSpeaker($id: ID!, $input: HeadshotmarketingUpdateEventSpeakerInput!) {
738
+ headshotmarketingUpdateEventSpeaker(id: $id, input: $input) {
739
+ id eventId name title company sortOrder updatedAt
740
+ }
741
+ }
742
+ `,Fe=`
743
+ mutation HmDeleteEventSpeaker($id: ID!) {
744
+ headshotmarketingDeleteEventSpeaker(id: $id)
745
+ }
746
+ `,Me=`
747
+ query HmSEOKeywords($filter: HeadshotmarketingSEOKeywordFilterInput, $pagination: PaginationInput) {
748
+ headshotmarketingSEOKeywords(filter: $filter, pagination: $pagination) {
749
+ total hasMore
750
+ items { id keyword status currentRank searchVolume difficulty createdAt }
751
+ }
752
+ }
753
+ `,Ge=`
754
+ query HmSEOKeyword($id: ID!) {
755
+ headshotmarketingSEOKeyword(id: $id) {
756
+ id keyword status currentRank previousRank bestRank searchVolume
757
+ difficulty cpc url tags lastCheckedAt metadata createdAt updatedAt
758
+ workspaceId
759
+ }
760
+ }
761
+ `,We=`
762
+ mutation HmCreateSEOKeyword($input: HeadshotmarketingCreateSEOKeywordInput!) {
763
+ headshotmarketingCreateSEOKeyword(input: $input) {
764
+ id keyword status currentRank searchVolume createdAt
765
+ }
766
+ }
767
+ `,je=`
768
+ mutation HmTrackKeyword($input: HeadshotmarketingCreateSEOKeywordInput!) {
769
+ headshotmarketingTrackKeyword(input: $input) {
770
+ id keyword status currentRank searchVolume createdAt
771
+ }
772
+ }
773
+ `,Ve=`
774
+ mutation HmUpdateSEOKeyword($id: ID!, $input: HeadshotmarketingUpdateSEOKeywordInput!) {
775
+ headshotmarketingUpdateSEOKeyword(id: $id, input: $input) {
776
+ id keyword status currentRank searchVolume updatedAt
777
+ }
778
+ }
779
+ `,Be=`
780
+ mutation HmDeleteSEOKeyword($id: ID!) {
781
+ headshotmarketingDeleteSEOKeyword(id: $id)
782
+ }
783
+ `,Je=`
784
+ query HmSEOAudits($filter: HeadshotmarketingSEOAuditFilterInput, $pagination: PaginationInput) {
785
+ headshotmarketingSEOAudits(filter: $filter, pagination: $pagination) {
786
+ total hasMore
787
+ items { id url status overallScore totalIssues createdAt }
788
+ }
789
+ }
790
+ `,Ke=`
791
+ query HmSEOAudit($id: ID!) {
792
+ headshotmarketingSEOAudit(id: $id) {
793
+ id url status overallScore performanceScore seoScore accessibilityScore
794
+ bestPracticesScore pageTitle metaDescription canonicalUrl totalIssues
795
+ criticalIssues warningIssues runBy completedAt metadata createdAt
796
+ updatedAt workspaceId
797
+ findings { rule severity message recommendation element }
798
+ }
799
+ }
800
+ `,ze=`
801
+ mutation HmCreateSEOAudit($input: HeadshotmarketingCreateSEOAuditInput!) {
802
+ headshotmarketingCreateSEOAudit(input: $input) {
803
+ id url status overallScore createdAt
804
+ }
805
+ }
806
+ `,Ye=`
807
+ mutation HmRunSEOAudit($url: String!) {
808
+ headshotmarketingRunSEOAudit(url: $url) {
809
+ id url status overallScore totalIssues completedAt createdAt
810
+ }
811
+ }
812
+ `,Xe=`
813
+ mutation HmUpdateSEOAudit($id: ID!, $input: HeadshotmarketingUpdateSEOAuditInput!) {
814
+ headshotmarketingUpdateSEOAudit(id: $id, input: $input) {
815
+ id url status overallScore updatedAt
816
+ }
817
+ }
818
+ `,Qe=`
819
+ mutation HmDeleteSEOAudit($id: ID!) {
820
+ headshotmarketingDeleteSEOAudit(id: $id)
821
+ }
822
+ `,Ze=`
823
+ query HmSEOOverview {
824
+ headshotmarketingSEOOverview {
825
+ totalKeywords keywordsImproved keywordsDeclined keywordsUnchanged
826
+ avgRank avgSEOScore avgPerformanceScore totalAudits
827
+ }
828
+ }
829
+ `,ta=`
830
+ query HmLandingPages($filter: HeadshotmarketingLandingPageFilterInput, $pagination: PaginationInput) {
831
+ headshotmarketingLandingPages(filter: $filter, pagination: $pagination) {
832
+ total hasMore
833
+ items { id title slug status viewCount conversionCount createdAt }
834
+ }
835
+ }
836
+ `,ea=`
837
+ query HmLandingPage($id: ID!) {
838
+ headshotmarketingLandingPage(id: $id) {
839
+ id title slug description status templateId campaignId seoTitle
840
+ seoDescription ogImageUrl faviconUrl publishedUrl publishedAt viewCount
841
+ conversionCount metadata createdBy createdAt updatedAt workspaceId
842
+ sections { id type title subtitle sortOrder isVisible }
843
+ }
844
+ }
845
+ `,aa=`
846
+ query HmLandingPageBySlug($slug: String!) {
847
+ headshotmarketingLandingPageBySlug(slug: $slug) {
848
+ id title slug status publishedUrl viewCount conversionCount createdAt
849
+ sections { id type title sortOrder isVisible }
850
+ }
851
+ }
852
+ `,na=`
853
+ mutation HmCreateLandingPage($input: HeadshotmarketingCreateLandingPageInput!) {
854
+ headshotmarketingCreateLandingPage(input: $input) {
855
+ id title slug status createdAt
856
+ }
857
+ }
858
+ `,ia=`
859
+ mutation HmUpdateLandingPage($id: ID!, $input: HeadshotmarketingUpdateLandingPageInput!) {
860
+ headshotmarketingUpdateLandingPage(id: $id, input: $input) {
861
+ id title slug status updatedAt
862
+ }
863
+ }
864
+ `,oa=`
865
+ mutation HmDeleteLandingPage($id: ID!) {
866
+ headshotmarketingDeleteLandingPage(id: $id)
867
+ }
868
+ `,ra=`
869
+ mutation HmPublishLandingPage($id: ID!) {
870
+ headshotmarketingPublishLandingPage(id: $id) {
871
+ id title slug status publishedUrl publishedAt updatedAt
872
+ }
873
+ }
874
+ `,sa=`
875
+ mutation HmUnpublishLandingPage($id: ID!) {
876
+ headshotmarketingUnpublishLandingPage(id: $id) {
877
+ id title slug status updatedAt
878
+ }
879
+ }
880
+ `,da=`
881
+ mutation HmAddLandingPageSection($input: HeadshotmarketingAddLandingPageSectionInput!) {
882
+ headshotmarketingAddLandingPageSection(input: $input) {
883
+ id landingPageId type title sortOrder isVisible createdAt
884
+ }
885
+ }
886
+ `,ca=`
887
+ mutation HmUpdateLandingPageSection($id: ID!, $input: HeadshotmarketingUpdateLandingPageSectionInput!) {
888
+ headshotmarketingUpdateLandingPageSection(id: $id, input: $input) {
889
+ id landingPageId type title sortOrder isVisible updatedAt
890
+ }
891
+ }
892
+ `,ma=`
893
+ mutation HmRemoveLandingPageSection($id: ID!) {
894
+ headshotmarketingRemoveLandingPageSection(id: $id)
895
+ }
896
+ `,pa=`
897
+ mutation HmReorderLandingPageSections($input: HeadshotmarketingReorderSectionsInput!) {
898
+ headshotmarketingReorderLandingPageSections(input: $input) {
899
+ id title slug status updatedAt
900
+ sections { id type title sortOrder }
901
+ }
902
+ }
903
+ `,ua=`
904
+ query HmWorkflows($filter: HeadshotmarketingWorkflowFilterInput) {
905
+ headshotmarketingWorkflows(filter: $filter) {
906
+ total hasMore
907
+ items { id name status triggerType isEnabled executionCount createdAt }
908
+ }
909
+ }
910
+ `,ga=`
911
+ query HmWorkflow($id: ID!) {
912
+ headshotmarketingWorkflow(id: $id) {
913
+ id name description status triggerType triggerConfig isEnabled steps
914
+ variables maxRetries timeoutSeconds tags executionCount lastExecutedAt
915
+ metadata createdBy createdAt updatedAt workspaceId
916
+ }
917
+ }
918
+ `,la=`
919
+ mutation HmCreateWorkflow($input: CreateHeadshotmarketingWorkflowInput!) {
920
+ createHeadshotmarketingWorkflow(input: $input) {
921
+ id name status triggerType isEnabled createdAt
922
+ }
923
+ }
924
+ `,fa=`
925
+ mutation HmUpdateWorkflow($id: ID!, $input: UpdateHeadshotmarketingWorkflowInput!) {
926
+ updateHeadshotmarketingWorkflow(id: $id, input: $input) {
927
+ id name status triggerType isEnabled updatedAt
928
+ }
929
+ }
930
+ `,ha=`
931
+ mutation HmDeleteWorkflow($id: ID!) {
932
+ deleteHeadshotmarketingWorkflow(id: $id)
933
+ }
934
+ `,Ia=`
935
+ query HmWorkflowExecutions($filter: HeadshotmarketingWorkflowExecutionFilterInput) {
936
+ headshotmarketingWorkflowExecutions(filter: $filter) {
937
+ total hasMore
938
+ items { id workflowId status currentStep totalSteps startedAt createdAt }
939
+ }
940
+ }
941
+ `,ka=`
942
+ query HmWorkflowExecution($id: ID!) {
943
+ headshotmarketingWorkflowExecution(id: $id) {
944
+ id workflowId status currentStep totalSteps inputData outputData stepLog
945
+ errorMessage errorDetails retryCount durationMs triggeredBy startedAt
946
+ completedAt metadata createdAt updatedAt workspaceId
947
+ }
948
+ }
949
+ `,Ea=`
950
+ mutation HmTriggerWorkflow($input: TriggerHeadshotmarketingWorkflowInput!) {
951
+ triggerHeadshotmarketingWorkflow(input: $input) {
952
+ id workflowId status currentStep totalSteps startedAt createdAt
953
+ }
954
+ }
955
+ `,ya=`
956
+ mutation HmCancelWorkflowExecution($id: ID!) {
957
+ cancelHeadshotmarketingWorkflowExecution(id: $id) {
958
+ id workflowId status currentStep completedAt updatedAt
959
+ }
960
+ }
961
+ `,Ca=`
962
+ query HmDashboardMetrics($dateRange: HeadshotmarketingDateRangeInput) {
963
+ headshotmarketingDashboardMetrics(dateRange: $dateRange) {
964
+ activeCampaigns totalCampaigns totalImpressions totalClicks
965
+ totalConversions totalLeads totalRevenue totalCost overallCTR overallCPC
966
+ overallROAS topChannel topCampaignId periodStart periodEnd
967
+ }
968
+ }
969
+ `,Aa=`
970
+ query HmCampaignAnalytics($campaignId: ID!, $dateRange: HeadshotmarketingDateRangeInput) {
971
+ headshotmarketingCampaignAnalytics(campaignId: $campaignId, dateRange: $dateRange) {
972
+ total hasMore
973
+ items {
974
+ id campaignId date impressions clicks conversions cost revenue
975
+ leads ctr cpc roas
976
+ }
977
+ }
978
+ }
979
+ `,wa=`
980
+ query HmChannelPerformance($dateRange: HeadshotmarketingDateRangeInput!) {
981
+ headshotmarketingChannelPerformance(dateRange: $dateRange) {
982
+ total hasMore
983
+ items {
984
+ id channel date impressions clicks conversions cost revenue
985
+ leads ctr cpc cpm roas
986
+ }
987
+ }
988
+ }
989
+ `,Ta=`
990
+ query HmFunnelData {
991
+ headshotmarketingFunnelData {
992
+ name count value conversionRate dropOffRate
993
+ }
994
+ }
995
+ `,Sa=`
996
+ query HmTimeSeriesData($dateRange: HeadshotmarketingDateRangeInput!, $metric: HeadshotmarketingMetricType!) {
997
+ headshotmarketingTimeSeriesData(dateRange: $dateRange, metric: $metric) {
998
+ metric total average min max
999
+ dataPoints { timestamp value label }
1000
+ }
1001
+ }
1002
+ `,Da=`
1003
+ query HmContentPerformance {
1004
+ headshotmarketingContentPerformance {
1005
+ totalItems publishedItems draftItems totalAssets totalAIExecutions
1006
+ avgContentScore
1007
+ topPerformingTypes { type count }
1008
+ }
1009
+ }
1010
+ `,Oa=`
1011
+ mutation HmRecordCampaignAnalytics($input: HeadshotmarketingRecordCampaignAnalyticsInput!) {
1012
+ headshotmarketingRecordCampaignAnalytics(input: $input) {
1013
+ id campaignId date impressions clicks conversions cost revenue
1014
+ }
1015
+ }
1016
+ `,ba=`
1017
+ mutation HmRecordChannelPerformance($input: HeadshotmarketingRecordChannelPerformanceInput!) {
1018
+ headshotmarketingRecordChannelPerformance(input: $input) {
1019
+ id channel date impressions clicks conversions cost revenue
1020
+ }
1021
+ }
1022
+ `,Ra=`
1023
+ query HmReports($filter: HeadshotmarketingReportFilterInput, $pagination: PaginationInput) {
1024
+ headshotmarketingReports(filter: $filter, pagination: $pagination) {
1025
+ total hasMore
1026
+ items { id name type status generatedAt createdAt }
1027
+ }
1028
+ }
1029
+ `,va=`
1030
+ query HmReport($id: ID!) {
1031
+ headshotmarketingReport(id: $id) {
1032
+ id name description type status configuration data dateRangeStart
1033
+ dateRangeEnd scheduleExpression generatedAt generatedBy metadata
1034
+ createdAt updatedAt workspaceId
1035
+ }
1036
+ }
1037
+ `,Na=`
1038
+ mutation HmCreateReport($input: HeadshotmarketingCreateReportInput!) {
1039
+ headshotmarketingCreateReport(input: $input) {
1040
+ id name type status createdAt
1041
+ }
1042
+ }
1043
+ `,La=`
1044
+ mutation HmUpdateReport($id: ID!, $input: HeadshotmarketingUpdateReportInput!) {
1045
+ headshotmarketingUpdateReport(id: $id, input: $input) {
1046
+ id name type status updatedAt
1047
+ }
1048
+ }
1049
+ `,Pa=`
1050
+ mutation HmDeleteReport($id: ID!) {
1051
+ headshotmarketingDeleteReport(id: $id)
1052
+ }
1053
+ `,_a=`
1054
+ query HmDashboardConfigs($filter: HeadshotmarketingDashboardConfigFilterInput, $pagination: PaginationInput) {
1055
+ headshotmarketingDashboardConfigs(filter: $filter, pagination: $pagination) {
1056
+ total hasMore
1057
+ items { id name isDefault createdAt }
1058
+ }
1059
+ }
1060
+ `,$a=`
1061
+ query HmDashboardConfig($id: ID!) {
1062
+ headshotmarketingDashboardConfig(id: $id) {
1063
+ id name description isDefault layout widgets filters dateRangePreset
1064
+ metadata createdBy createdAt updatedAt workspaceId
1065
+ }
1066
+ }
1067
+ `,xa=`
1068
+ mutation HmCreateDashboardConfig($input: HeadshotmarketingCreateDashboardConfigInput!) {
1069
+ headshotmarketingCreateDashboardConfig(input: $input) {
1070
+ id name isDefault createdAt
1071
+ }
1072
+ }
1073
+ `,Ha=`
1074
+ mutation HmUpdateDashboardConfig($id: ID!, $input: HeadshotmarketingUpdateDashboardConfigInput!) {
1075
+ headshotmarketingUpdateDashboardConfig(id: $id, input: $input) {
1076
+ id name isDefault updatedAt
1077
+ }
1078
+ }
1079
+ `,Ua=`
1080
+ mutation HmDeleteDashboardConfig($id: ID!) {
1081
+ headshotmarketingDeleteDashboardConfig(id: $id)
1082
+ }
1083
+ `;function p(u,i){try{return JSON.parse(i)}catch{throw new m(`--${u} must be valid JSON`)}}function d(u){let i=Number.parseInt(u,10);if(Number.isNaN(i))throw new m(`Expected an integer but got "${u}"`);return i}function I(u){let i=Number.parseFloat(u);if(Number.isNaN(i))throw new m(`Expected a number but got "${u}"`);return i}function h(u){let i=u.trim().toLowerCase();if(["true","1","yes","y"].includes(i))return true;if(["false","0","no","n"].includes(i))return false;throw new m(`Expected a boolean (true/false) but got "${u}"`)}function l(u){return u.split(",").map(i=>i.trim()).filter(i=>i.length>0)}function qa(u){let i=u.command("campaigns").description("Headshotmarketing marketing campaigns");i.command("list").description("List campaigns").option("--status <s>","Filter by status").option("--type <t>","Filter by type").option("--query <q>","Free-text search").option("--workspace <id>","Filter by workspace ID").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("-f, --format <format>","Output format").action(async t=>{try{let e={limit:t.limit,offset:t.offset};t.status&&(e.status=t.status.toUpperCase()),t.type&&(e.type=t.type.toUpperCase()),t.query&&(e.search=t.query),t.workspace&&(e.workspaceId=t.workspace);let n=await o(R,{filter:e});s(t,n.headshotmarketingCampaigns.items,{headers:["ID","Name","Type","Status","Budget","Spent"],rows:n.headshotmarketingCampaigns.items.map(g=>[f(g.id,12),g.name,g.type,g.status,String(g.budget??0),String(g.spent??0)])});}catch(e){r(e);}}),i.command("get").description("Get a campaign by id").argument("<id>","Campaign ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await o(v,{id:t});if(!n.headshotmarketingCampaign)throw new m(`Campaign ${t} not found`);s(e,n.headshotmarketingCampaign);}catch(n){r(n);}}),i.command("create").description("Create a campaign").requiredOption("--name <name>","Campaign name").requiredOption("--type <t>","AD|CONTENT|EMAIL|EVENT|INFLUENCER|MULTI_CHANNEL|SOCIAL").option("--status <s>","Campaign status").option("--description <s>","Description").option("--budget <n>","Budget in cents",I).option("--start-date <iso>","Start date (ISO)").option("--end-date <iso>","End date (ISO)").option("--tags <csv>","Comma-separated tags",l).option("--goals <json>","Goals JSON").option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async t=>{try{let e={name:t.name,type:t.type.toUpperCase()};t.status&&(e.status=t.status.toUpperCase()),t.description&&(e.description=t.description),t.budget!==void 0&&(e.budget=t.budget),t.startDate&&(e.startDate=t.startDate),t.endDate&&(e.endDate=t.endDate),t.tags&&(e.tags=t.tags),t.goals&&(e.goals=p("goals",t.goals)),t.metadata&&(e.metadata=p("metadata",t.metadata));let n=await o(N,{input:e});c(`Campaign created: ${n.createHeadshotmarketingCampaign.name}`),s(t,n.createHeadshotmarketingCampaign);}catch(e){r(e);}}),i.command("update").description("Update a campaign").argument("<id>","Campaign ID").option("--name <name>","Campaign name").option("--type <t>","Campaign type").option("--status <s>","Campaign status").option("--description <s>","Description").option("--budget <n>","Budget in cents",I).option("--spent <n>","Spent in cents",I).option("--start-date <iso>","Start date (ISO)").option("--end-date <iso>","End date (ISO)").option("--tags <csv>","Comma-separated tags",l).option("--goals <json>","Goals JSON").option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n={};if(e.name&&(n.name=e.name),e.type&&(n.type=e.type.toUpperCase()),e.status&&(n.status=e.status.toUpperCase()),e.description!==void 0&&(n.description=e.description),e.budget!==void 0&&(n.budget=e.budget),e.spent!==void 0&&(n.spent=e.spent),e.startDate&&(n.startDate=e.startDate),e.endDate&&(n.endDate=e.endDate),e.tags&&(n.tags=e.tags),e.goals&&(n.goals=p("goals",e.goals)),e.metadata&&(n.metadata=p("metadata",e.metadata)),!Object.keys(n).length)throw new m("No updates specified");let g=await o(L,{id:t,input:n});c("Campaign updated"),s(e,g.updateHeadshotmarketingCampaign);}catch(n){r(n);}}),i.command("delete").description("Delete a campaign (soft delete)").argument("<id>","Campaign ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await o(P,{id:t});if(!n.deleteHeadshotmarketingCampaign)throw new m(`Campaign ${t} could not be deleted`);c(`Campaign ${t} deleted`),s(e,{deleted:n.deleteHeadshotmarketingCampaign});}catch(n){r(n);}}),i.command("duplicate").description("Duplicate a campaign").argument("<id>","Campaign ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await o(_,{id:t});c(`Campaign duplicated: ${n.duplicateHeadshotmarketingCampaign.id}`),s(e,n.duplicateHeadshotmarketingCampaign);}catch(n){r(n);}});let a=u.command("templates").description("Headshotmarketing campaign templates");a.command("list").description("List campaign templates").option("--type <t>","Filter by type").option("--active <bool>","Filter by active flag",h).option("--query <q>","Free-text search").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("-f, --format <format>","Output format").action(async t=>{try{let e={limit:t.limit,offset:t.offset};t.type&&(e.type=t.type.toUpperCase()),t.active!==void 0&&(e.isActive=t.active),t.query&&(e.search=t.query);let n=await o($,{filter:e});s(t,n.headshotmarketingCampaignTemplates.items,{headers:["ID","Name","Type","Active"],rows:n.headshotmarketingCampaignTemplates.items.map(g=>[f(g.id,12),g.name,g.type,g.isActive?"yes":"no"])});}catch(e){r(e);}}),a.command("get").description("Get a campaign template by id").argument("<id>","Template ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await o(x,{id:t});if(!n.headshotmarketingCampaignTemplate)throw new m(`Template ${t} not found`);s(e,n.headshotmarketingCampaignTemplate);}catch(n){r(n);}}),a.command("create").description("Create a campaign template").requiredOption("--name <name>","Template name").requiredOption("--type <t>","Default campaign type").option("--description <s>","Description").option("--active <bool>","Active flag",h).option("--tags <csv>","Comma-separated tags",l).option("--configuration <json>","Configuration JSON").option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async t=>{try{let e={name:t.name,type:t.type.toUpperCase()};t.description&&(e.description=t.description),t.active!==void 0&&(e.isActive=t.active),t.tags&&(e.tags=t.tags),t.configuration&&(e.configuration=p("configuration",t.configuration)),t.metadata&&(e.metadata=p("metadata",t.metadata));let n=await o(H,{input:e});c(`Template created: ${n.createHeadshotmarketingCampaignTemplate.name}`),s(t,n.createHeadshotmarketingCampaignTemplate);}catch(e){r(e);}}),a.command("update").description("Update a campaign template").argument("<id>","Template ID").option("--name <name>","Template name").option("--type <t>","Default campaign type").option("--description <s>","Description").option("--active <bool>","Active flag",h).option("--tags <csv>","Comma-separated tags",l).option("--configuration <json>","Configuration JSON").option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n={};if(e.name&&(n.name=e.name),e.type&&(n.type=e.type.toUpperCase()),e.description!==void 0&&(n.description=e.description),e.active!==void 0&&(n.isActive=e.active),e.tags&&(n.tags=e.tags),e.configuration&&(n.configuration=p("configuration",e.configuration)),e.metadata&&(n.metadata=p("metadata",e.metadata)),!Object.keys(n).length)throw new m("No updates specified");let g=await o(U,{id:t,input:n});c("Template updated"),s(e,g.updateHeadshotmarketingCampaignTemplate);}catch(n){r(n);}}),a.command("delete").description("Delete a campaign template (soft delete)").argument("<id>","Template ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await o(q,{id:t});if(!n.deleteHeadshotmarketingCampaignTemplate)throw new m(`Template ${t} could not be deleted`);c(`Template ${t} deleted`),s(e,{deleted:n.deleteHeadshotmarketingCampaignTemplate});}catch(n){r(n);}});}function Fa(u){let i=u.command("contacts").description("Headshotmarketing CRM contacts");i.command("list").description("List contacts").option("--status <s>","Filter by status").option("--company <c>","Filter by company").option("--tags <csv>","Filter by tags",l).option("--query <q>","Free-text search").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("-f, --format <format>","Output format").action(async t=>{try{let e={limit:t.limit,offset:t.offset};t.status&&(e.status=t.status.toUpperCase()),t.company&&(e.company=t.company),t.tags&&(e.tags=t.tags),t.query&&(e.search=t.query);let n=await o(F,{filter:e});s(t,n.headshotmarketingContacts.items,{headers:["ID","Name","Email","Company","Status"],rows:n.headshotmarketingContacts.items.map(g=>[f(g.id,12),`${g.firstName} ${g.lastName}`,g.email??"-",g.company??"-",g.status])});}catch(e){r(e);}}),i.command("get").description("Get a contact by id").argument("<id>","Contact ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await o(M,{id:t});if(!n.headshotmarketingContact)throw new m(`Contact ${t} not found`);s(e,n.headshotmarketingContact);}catch(n){r(n);}}),i.command("activities").description("List activity history for a contact").argument("<contactId>","Contact ID").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await o(G,{contactId:t,limit:e.limit,offset:e.offset});s(e,n.headshotmarketingContactActivities,{headers:["ID","Type","Title"],rows:n.headshotmarketingContactActivities.map(g=>[f(g.id,12),g.type,g.title])});}catch(n){r(n);}}),i.command("create").description("Create a contact").requiredOption("--first-name <s>","First name").requiredOption("--last-name <s>","Last name").option("--email <s>","Email").option("--phone <s>","Phone").option("--company <s>","Company").option("--job-title <s>","Job title").option("--status <s>","Status").option("--tags <csv>","Comma-separated tags",l).option("--address <json>","Address JSON").option("--custom-fields <json>","Custom fields JSON").option("--social-profiles <json>","Social profiles JSON").option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async t=>{try{let e={firstName:t.firstName,lastName:t.lastName};t.email&&(e.email=t.email),t.phone&&(e.phone=t.phone),t.company&&(e.company=t.company),t.jobTitle&&(e.jobTitle=t.jobTitle),t.status&&(e.status=t.status.toUpperCase()),t.tags&&(e.tags=t.tags),t.address&&(e.address=p("address",t.address)),t.customFields&&(e.customFields=p("custom-fields",t.customFields)),t.socialProfiles&&(e.socialProfiles=p("social-profiles",t.socialProfiles)),t.metadata&&(e.metadata=p("metadata",t.metadata));let n=await o(W,{input:e});c(`Contact created: ${n.createHeadshotmarketingContact.firstName} ${n.createHeadshotmarketingContact.lastName}`),s(t,n.createHeadshotmarketingContact);}catch(e){r(e);}}),i.command("update").description("Update a contact").argument("<id>","Contact ID").option("--first-name <s>","First name").option("--last-name <s>","Last name").option("--email <s>","Email").option("--phone <s>","Phone").option("--company <s>","Company").option("--job-title <s>","Job title").option("--status <s>","Status").option("--tags <csv>","Comma-separated tags",l).option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n={};if(e.firstName&&(n.firstName=e.firstName),e.lastName&&(n.lastName=e.lastName),e.email&&(n.email=e.email),e.phone&&(n.phone=e.phone),e.company!==void 0&&(n.company=e.company),e.jobTitle&&(n.jobTitle=e.jobTitle),e.status&&(n.status=e.status.toUpperCase()),e.tags&&(n.tags=e.tags),e.metadata&&(n.metadata=p("metadata",e.metadata)),!Object.keys(n).length)throw new m("No updates specified");let g=await o(j,{id:t,input:n});c("Contact updated"),s(e,g.updateHeadshotmarketingContact);}catch(n){r(n);}}),i.command("delete").description("Delete a contact (soft delete)").argument("<id>","Contact ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await o(V,{id:t});if(!n.deleteHeadshotmarketingContact)throw new m(`Contact ${t} could not be deleted`);c(`Contact ${t} deleted`),s(e,{deleted:n.deleteHeadshotmarketingContact});}catch(n){r(n);}});let a=u.command("leads").description("Headshotmarketing CRM leads");a.command("list").description("List leads").option("--status <s>","Filter by status").option("--source <s>","Filter by source").option("--owner <id>","Filter by owner ID").option("--query <q>","Free-text search").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("-f, --format <format>","Output format").action(async t=>{try{let e={limit:t.limit,offset:t.offset};t.status&&(e.status=t.status.toUpperCase()),t.source&&(e.source=t.source.toUpperCase()),t.owner&&(e.ownerId=t.owner),t.query&&(e.search=t.query);let n=await o(B,{filter:e});s(t,n.headshotmarketingLeads.items,{headers:["ID","Title","Status","Source","Score","Value"],rows:n.headshotmarketingLeads.items.map(g=>[f(g.id,12),g.title,g.status,g.source??"-",String(g.score??0),String(g.estimatedValue??0)])});}catch(e){r(e);}}),a.command("get").description("Get a lead by id").argument("<id>","Lead ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await o(J,{id:t});if(!n.headshotmarketingLead)throw new m(`Lead ${t} not found`);s(e,n.headshotmarketingLead);}catch(n){r(n);}}),a.command("create").description("Create a lead").requiredOption("--title <s>","Lead title").option("--description <s>","Description").option("--status <s>","Status").option("--source <s>","Source").option("--score <n>","Score",d).option("--estimated-value <n>","Estimated value",I).option("--contact <id>","Contact ID").option("--campaign <id>","Campaign ID").option("--owner <id>","Owner ID").option("--tags <csv>","Comma-separated tags",l).option("--custom-fields <json>","Custom fields JSON").option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async t=>{try{let e={title:t.title};t.description&&(e.description=t.description),t.status&&(e.status=t.status.toUpperCase()),t.source&&(e.source=t.source.toUpperCase()),t.score!==void 0&&(e.score=t.score),t.estimatedValue!==void 0&&(e.estimatedValue=t.estimatedValue),t.contact&&(e.contactId=t.contact),t.campaign&&(e.campaignId=t.campaign),t.owner&&(e.ownerId=t.owner),t.tags&&(e.tags=t.tags),t.customFields&&(e.customFields=p("custom-fields",t.customFields)),t.metadata&&(e.metadata=p("metadata",t.metadata));let n=await o(K,{input:e});c(`Lead created: ${n.createHeadshotmarketingLead.title}`),s(t,n.createHeadshotmarketingLead);}catch(e){r(e);}}),a.command("update").description("Update a lead").argument("<id>","Lead ID").option("--title <s>","Lead title").option("--description <s>","Description").option("--status <s>","Status").option("--source <s>","Source").option("--score <n>","Score",d).option("--estimated-value <n>","Estimated value",I).option("--owner <id>","Owner ID").option("--tags <csv>","Comma-separated tags",l).option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n={};if(e.title&&(n.title=e.title),e.description!==void 0&&(n.description=e.description),e.status&&(n.status=e.status.toUpperCase()),e.source&&(n.source=e.source.toUpperCase()),e.score!==void 0&&(n.score=e.score),e.estimatedValue!==void 0&&(n.estimatedValue=e.estimatedValue),e.owner&&(n.ownerId=e.owner),e.tags&&(n.tags=e.tags),e.metadata&&(n.metadata=p("metadata",e.metadata)),!Object.keys(n).length)throw new m("No updates specified");let g=await o(z,{id:t,input:n});c("Lead updated"),s(e,g.updateHeadshotmarketingLead);}catch(n){r(n);}}),a.command("delete").description("Delete a lead (soft delete)").argument("<id>","Lead ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await o(Y,{id:t});if(!n.deleteHeadshotmarketingLead)throw new m(`Lead ${t} could not be deleted`);c(`Lead ${t} deleted`),s(e,{deleted:n.deleteHeadshotmarketingLead});}catch(n){r(n);}}),a.command("convert").description("Convert a lead into a deal").argument("<leadId>","Lead ID").requiredOption("--pipeline <id>","Pipeline ID").requiredOption("--stage <id>","Stage ID").requiredOption("--deal-title <s>","Deal title").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await o(X,{leadId:t,pipelineId:e.pipeline,stageId:e.stage,dealTitle:e.dealTitle});c(`Lead converted to deal: ${n.convertHeadshotmarketingLead.id}`),s(e,n.convertHeadshotmarketingLead);}catch(n){r(n);}});}function Ma(u){let i=u.command("pipelines").description("Headshotmarketing sales pipelines & stages");i.command("list").description("List pipelines").option("--active <bool>","Filter by active flag",h).option("--query <q>","Free-text search").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("-f, --format <format>","Output format").action(async t=>{try{let e={limit:t.limit,offset:t.offset};t.active!==void 0&&(e.isActive=t.active),t.query&&(e.search=t.query);let n=await o(Q,{filter:e});s(t,n.headshotmarketingPipelines.items,{headers:["ID","Name","Active","Default"],rows:n.headshotmarketingPipelines.items.map(g=>[f(g.id,12),g.name,g.isActive?"yes":"no",g.isDefault?"yes":"no"])});}catch(e){r(e);}}),i.command("get").description("Get a pipeline by id").argument("<id>","Pipeline ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await o(Z,{id:t});if(!n.headshotmarketingPipeline)throw new m(`Pipeline ${t} not found`);s(e,n.headshotmarketingPipeline);}catch(n){r(n);}}),i.command("overview").description("Pipeline overview (deal counts and values per stage)").argument("<pipelineId>","Pipeline ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await o(tt,{pipelineId:t});if(!n.headshotmarketingPipelineOverview)throw new m(`Pipeline ${t} not found`);s(e,n.headshotmarketingPipelineOverview);}catch(n){r(n);}}),i.command("create").description("Create a pipeline").requiredOption("--name <s>","Pipeline name").option("--description <s>","Description").option("--active <bool>","Active flag",h).option("--default <bool>","Default flag",h).option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async t=>{try{let e={name:t.name};t.description&&(e.description=t.description),t.active!==void 0&&(e.isActive=t.active),t.default!==void 0&&(e.isDefault=t.default),t.metadata&&(e.metadata=p("metadata",t.metadata));let n=await o(et,{input:e});c(`Pipeline created: ${n.createHeadshotmarketingPipeline.name}`),s(t,n.createHeadshotmarketingPipeline);}catch(e){r(e);}}),i.command("update").description("Update a pipeline").argument("<id>","Pipeline ID").option("--name <s>","Pipeline name").option("--description <s>","Description").option("--active <bool>","Active flag",h).option("--default <bool>","Default flag",h).option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n={};if(e.name&&(n.name=e.name),e.description!==void 0&&(n.description=e.description),e.active!==void 0&&(n.isActive=e.active),e.default!==void 0&&(n.isDefault=e.default),e.metadata&&(n.metadata=p("metadata",e.metadata)),!Object.keys(n).length)throw new m("No updates specified");let g=await o(at,{id:t,input:n});c("Pipeline updated"),s(e,g.updateHeadshotmarketingPipeline);}catch(n){r(n);}}),i.command("delete").description("Delete a pipeline (soft delete)").argument("<id>","Pipeline ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await o(nt,{id:t});if(!n.deleteHeadshotmarketingPipeline)throw new m(`Pipeline ${t} could not be deleted`);c(`Pipeline ${t} deleted`),s(e,{deleted:n.deleteHeadshotmarketingPipeline});}catch(n){r(n);}}),i.command("add-stage").description("Add a stage to a pipeline").requiredOption("--pipeline <id>","Pipeline ID").requiredOption("--name <s>","Stage name").requiredOption("--order <n>","Sort order",d).option("--color <s>","Color").option("--description <s>","Description").option("--default-probability <n>","Default win probability (0-100)",d).option("--active <bool>","Active flag",h).option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async t=>{try{let e={pipelineId:t.pipeline,name:t.name,order:t.order};t.color&&(e.color=t.color),t.description&&(e.description=t.description),t.defaultProbability!==void 0&&(e.defaultProbability=t.defaultProbability),t.active!==void 0&&(e.isActive=t.active),t.metadata&&(e.metadata=p("metadata",t.metadata));let n=await o(it,{input:e});c(`Stage created: ${n.createHeadshotmarketingPipelineStage.name}`),s(t,n.createHeadshotmarketingPipelineStage);}catch(e){r(e);}}),i.command("update-stage").description("Update a pipeline stage").argument("<id>","Stage ID").option("--name <s>","Stage name").option("--order <n>","Sort order",d).option("--color <s>","Color").option("--description <s>","Description").option("--default-probability <n>","Default win probability (0-100)",d).option("--active <bool>","Active flag",h).option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n={};if(e.name&&(n.name=e.name),e.order!==void 0&&(n.order=e.order),e.color&&(n.color=e.color),e.description!==void 0&&(n.description=e.description),e.defaultProbability!==void 0&&(n.defaultProbability=e.defaultProbability),e.active!==void 0&&(n.isActive=e.active),e.metadata&&(n.metadata=p("metadata",e.metadata)),!Object.keys(n).length)throw new m("No updates specified");let g=await o(ot,{id:t,input:n});c("Stage updated"),s(e,g.updateHeadshotmarketingPipelineStage);}catch(n){r(n);}}),i.command("delete-stage").description("Delete a pipeline stage (soft delete)").argument("<id>","Stage ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await o(rt,{id:t});if(!n.deleteHeadshotmarketingPipelineStage)throw new m(`Stage ${t} could not be deleted`);c(`Stage ${t} deleted`),s(e,{deleted:n.deleteHeadshotmarketingPipelineStage});}catch(n){r(n);}});let a=u.command("deals").description("Headshotmarketing sales deals");a.command("list").description("List deals").option("--status <s>","Filter by status").option("--pipeline <id>","Filter by pipeline ID").option("--stage <id>","Filter by stage ID").option("--owner <id>","Filter by owner ID").option("--query <q>","Free-text search").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("-f, --format <format>","Output format").action(async t=>{try{let e={limit:t.limit,offset:t.offset};t.status&&(e.status=t.status.toUpperCase()),t.pipeline&&(e.pipelineId=t.pipeline),t.stage&&(e.stageId=t.stage),t.owner&&(e.ownerId=t.owner),t.query&&(e.search=t.query);let n=await o(st,{filter:e});s(t,n.headshotmarketingDeals.items,{headers:["ID","Title","Status","Value","Probability","Stage"],rows:n.headshotmarketingDeals.items.map(g=>[f(g.id,12),g.title,g.status,String(g.value??0),`${g.probability??0}%`,f(g.stageId,12)])});}catch(e){r(e);}}),a.command("get").description("Get a deal by id").argument("<id>","Deal ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await o(dt,{id:t});if(!n.headshotmarketingDeal)throw new m(`Deal ${t} not found`);s(e,n.headshotmarketingDeal);}catch(n){r(n);}}),a.command("create").description("Create a deal").requiredOption("--title <s>","Deal title").requiredOption("--pipeline <id>","Pipeline ID").requiredOption("--stage <id>","Stage ID").option("--description <s>","Description").option("--status <s>","Status").option("--value <n>","Deal value in cents",I).option("--probability <n>","Win probability (0-100)",d).option("--contact <id>","Contact ID").option("--lead <id>","Lead ID").option("--owner <id>","Owner ID").option("--expected-close-date <iso>","Expected close date (ISO)").option("--tags <csv>","Comma-separated tags",l).option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async t=>{try{let e={title:t.title,pipelineId:t.pipeline,stageId:t.stage};t.description&&(e.description=t.description),t.status&&(e.status=t.status.toUpperCase()),t.value!==void 0&&(e.value=t.value),t.probability!==void 0&&(e.probability=t.probability),t.contact&&(e.contactId=t.contact),t.lead&&(e.leadId=t.lead),t.owner&&(e.ownerId=t.owner),t.expectedCloseDate&&(e.expectedCloseDate=t.expectedCloseDate),t.tags&&(e.tags=t.tags),t.metadata&&(e.metadata=p("metadata",t.metadata));let n=await o(ct,{input:e});c(`Deal created: ${n.createHeadshotmarketingDeal.title}`),s(t,n.createHeadshotmarketingDeal);}catch(e){r(e);}}),a.command("update").description("Update a deal").argument("<id>","Deal ID").option("--title <s>","Deal title").option("--description <s>","Description").option("--status <s>","Status").option("--value <n>","Deal value in cents",I).option("--probability <n>","Win probability (0-100)",d).option("--stage <id>","Stage ID").option("--owner <id>","Owner ID").option("--expected-close-date <iso>","Expected close date (ISO)").option("--tags <csv>","Comma-separated tags",l).option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n={};if(e.title&&(n.title=e.title),e.description!==void 0&&(n.description=e.description),e.status&&(n.status=e.status.toUpperCase()),e.value!==void 0&&(n.value=e.value),e.probability!==void 0&&(n.probability=e.probability),e.stage&&(n.stageId=e.stage),e.owner&&(n.ownerId=e.owner),e.expectedCloseDate&&(n.expectedCloseDate=e.expectedCloseDate),e.tags&&(n.tags=e.tags),e.metadata&&(n.metadata=p("metadata",e.metadata)),!Object.keys(n).length)throw new m("No updates specified");let g=await o(mt,{id:t,input:n});c("Deal updated"),s(e,g.updateHeadshotmarketingDeal);}catch(n){r(n);}}),a.command("delete").description("Delete a deal (soft delete)").argument("<id>","Deal ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await o(pt,{id:t});if(!n.deleteHeadshotmarketingDeal)throw new m(`Deal ${t} could not be deleted`);c(`Deal ${t} deleted`),s(e,{deleted:n.deleteHeadshotmarketingDeal});}catch(n){r(n);}}),a.command("move").description("Move a deal to a different pipeline stage").argument("<id>","Deal ID").requiredOption("--stage <id>","Target stage ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await o(ut,{id:t,stageId:e.stage});c(`Deal moved to stage ${n.moveHeadshotmarketingDeal.stageId}`),s(e,n.moveHeadshotmarketingDeal);}catch(n){r(n);}});}function Ga(u){let i=u.command("social").description("Headshotmarketing social accounts & posts");i.command("accounts").description("List social accounts").option("--platform <p>","Filter by platform").option("--status <s>","Filter by status").option("--query <q>","Free-text search").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("-f, --format <format>","Output format").action(async a=>{try{let t={limit:a.limit,offset:a.offset};a.platform&&(t.platform=a.platform.toUpperCase()),a.status&&(t.status=a.status.toUpperCase()),a.query&&(t.search=a.query);let e=await o(gt,{filter:t});s(a,e.headshotmarketingSocialAccounts.items,{headers:["ID","Account","Platform","Status","Followers"],rows:e.headshotmarketingSocialAccounts.items.map(n=>[f(n.id,12),n.accountName,n.platform,n.status,String(n.followerCount??0)])});}catch(t){r(t);}}),i.command("account").description("Get a social account by id").argument("<id>","Account ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(lt,{id:a});if(!e.headshotmarketingSocialAccount)throw new m(`Social account ${a} not found`);s(t,e.headshotmarketingSocialAccount);}catch(e){r(e);}}),i.command("connect").description("Connect a new social media account").requiredOption("--account-name <s>","Account name").requiredOption("--platform <p>","FACEBOOK|INSTAGRAM|LINKEDIN|PINTEREST|TIKTOK|TWITTER|YOUTUBE").requiredOption("--platform-account-id <s>","Platform account ID").option("--profile-url <s>","Profile URL").option("--avatar-url <s>","Avatar URL").option("--follower-count <n>","Follower count",d).option("--access-token <s>","Access token").option("--refresh-token <s>","Refresh token").option("--token-expires-at <iso>","Token expiry (ISO)").option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async a=>{try{let t={accountName:a.accountName,platform:a.platform.toUpperCase(),platformAccountId:a.platformAccountId};a.profileUrl&&(t.profileUrl=a.profileUrl),a.avatarUrl&&(t.avatarUrl=a.avatarUrl),a.followerCount!==void 0&&(t.followerCount=a.followerCount),a.accessToken&&(t.accessToken=a.accessToken),a.refreshToken&&(t.refreshToken=a.refreshToken),a.tokenExpiresAt&&(t.tokenExpiresAt=a.tokenExpiresAt),a.metadata&&(t.metadata=p("metadata",a.metadata));let e=await o(ft,{input:t});c(`Account connected: ${e.createHeadshotmarketingSocialAccount.accountName}`),s(a,e.createHeadshotmarketingSocialAccount);}catch(t){r(t);}}),i.command("update-account").description("Update a social account").argument("<id>","Account ID").option("--account-name <s>","Account name").option("--profile-url <s>","Profile URL").option("--avatar-url <s>","Avatar URL").option("--follower-count <n>","Follower count",d).option("--status <s>","Status").option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e={};if(t.accountName&&(e.accountName=t.accountName),t.profileUrl&&(e.profileUrl=t.profileUrl),t.avatarUrl&&(e.avatarUrl=t.avatarUrl),t.followerCount!==void 0&&(e.followerCount=t.followerCount),t.status&&(e.status=t.status.toUpperCase()),t.metadata&&(e.metadata=p("metadata",t.metadata)),!Object.keys(e).length)throw new m("No updates specified");let n=await o(ht,{id:a,input:e});c("Account updated"),s(t,n.updateHeadshotmarketingSocialAccount);}catch(e){r(e);}}),i.command("disconnect").description("Disconnect a social account (revoke tokens)").argument("<id>","Account ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(kt,{id:a});c(`Account disconnected: ${e.disconnectHeadshotmarketingSocialAccount.status}`),s(t,e.disconnectHeadshotmarketingSocialAccount);}catch(e){r(e);}}),i.command("delete-account").description("Delete a social account (soft delete)").argument("<id>","Account ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(It,{id:a});if(!e.deleteHeadshotmarketingSocialAccount)throw new m(`Account ${a} could not be deleted`);c(`Account ${a} deleted`),s(t,{deleted:e.deleteHeadshotmarketingSocialAccount});}catch(e){r(e);}}),i.command("posts").description("List social posts").option("--account <id>","Filter by social account ID").option("--campaign <id>","Filter by campaign ID").option("--status <s>","Filter by status").option("--query <q>","Free-text search").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("-f, --format <format>","Output format").action(async a=>{try{let t={limit:a.limit,offset:a.offset};a.account&&(t.socialAccountId=a.account),a.campaign&&(t.campaignId=a.campaign),a.status&&(t.status=a.status.toUpperCase()),a.query&&(t.search=a.query);let e=await o(Et,{filter:t});s(a,e.headshotmarketingSocialPosts.items,{headers:["ID","Content","Status","Account"],rows:e.headshotmarketingSocialPosts.items.map(n=>[f(n.id,12),f(n.content,40),n.status,f(n.socialAccountId,12)])});}catch(t){r(t);}}),i.command("post").description("Get a social post by id").argument("<id>","Post ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(yt,{id:a});if(!e.headshotmarketingSocialPost)throw new m(`Social post ${a} not found`);s(t,e.headshotmarketingSocialPost);}catch(e){r(e);}}),i.command("create-post").description("Create a social media post").requiredOption("--account <id>","Social account ID").requiredOption("--content <s>","Post content").option("--campaign <id>","Campaign ID").option("--status <s>","Status").option("--media-urls <csv>","Comma-separated media URLs",l).option("--tags <csv>","Comma-separated tags",l).option("--scheduled-at <iso>","Scheduled time (ISO)").option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async a=>{try{let t={socialAccountId:a.account,content:a.content};a.campaign&&(t.campaignId=a.campaign),a.status&&(t.status=a.status.toUpperCase()),a.mediaUrls&&(t.mediaUrls=a.mediaUrls),a.tags&&(t.tags=a.tags),a.scheduledAt&&(t.scheduledAt=a.scheduledAt),a.metadata&&(t.metadata=p("metadata",a.metadata));let e=await o(Ct,{input:t});c(`Post created: ${e.createHeadshotmarketingSocialPost.id}`),s(a,e.createHeadshotmarketingSocialPost);}catch(t){r(t);}}),i.command("update-post").description("Update a social post").argument("<id>","Post ID").option("--content <s>","Post content").option("--status <s>","Status").option("--media-urls <csv>","Comma-separated media URLs",l).option("--tags <csv>","Comma-separated tags",l).option("--scheduled-at <iso>","Scheduled time (ISO)").option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e={};if(t.content&&(e.content=t.content),t.status&&(e.status=t.status.toUpperCase()),t.mediaUrls&&(e.mediaUrls=t.mediaUrls),t.tags&&(e.tags=t.tags),t.scheduledAt&&(e.scheduledAt=t.scheduledAt),t.metadata&&(e.metadata=p("metadata",t.metadata)),!Object.keys(e).length)throw new m("No updates specified");let n=await o(At,{id:a,input:e});c("Post updated"),s(t,n.updateHeadshotmarketingSocialPost);}catch(e){r(e);}}),i.command("delete-post").description("Delete a social post (soft delete)").argument("<id>","Post ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(wt,{id:a});if(!e.deleteHeadshotmarketingSocialPost)throw new m(`Post ${a} could not be deleted`);c(`Post ${a} deleted`),s(t,{deleted:e.deleteHeadshotmarketingSocialPost});}catch(e){r(e);}}),i.command("publish-post").description("Publish a social post immediately").argument("<id>","Post ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(Tt,{id:a});c(`Post published: ${e.publishHeadshotmarketingSocialPost.status}`),s(t,e.publishHeadshotmarketingSocialPost);}catch(e){r(e);}}),i.command("schedule-post").description("Schedule a social post for future publishing").argument("<id>","Post ID").requiredOption("--scheduled-at <iso>","Scheduled time (ISO)").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(St,{id:a,scheduledAt:t.scheduledAt});c("Post scheduled"),s(t,e.scheduleHeadshotmarketingSocialPost);}catch(e){r(e);}}),i.command("metrics").description("Aggregated social media metrics for the workspace").option("-f, --format <format>","Output format").action(async a=>{try{let t=await o(Dt);s(a,t.headshotmarketingSocialMetrics);}catch(t){r(t);}});}function Wa(u){let i=u.command("ads").description("Headshotmarketing paid ad campaigns, creatives & audiences");i.command("campaigns").description("List ad campaigns").option("--platform <p>","Filter by platform").option("--status <s>","Filter by status").option("--campaign <id>","Filter by marketing campaign ID").option("--query <q>","Free-text search").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("-f, --format <format>","Output format").action(async a=>{try{let t={limit:a.limit,offset:a.offset};a.platform&&(t.platform=a.platform.toUpperCase()),a.status&&(t.status=a.status.toUpperCase()),a.campaign&&(t.campaignId=a.campaign),a.query&&(t.search=a.query);let e=await o(Ot,{filter:t});s(a,e.headshotmarketingAdCampaigns.items,{headers:["ID","Name","Platform","Status","Budget","Spent"],rows:e.headshotmarketingAdCampaigns.items.map(n=>[f(n.id,12),n.name,n.platform,n.status,String(n.totalBudget??0),String(n.spent??0)])});}catch(t){r(t);}}),i.command("campaign").description("Get an ad campaign by id").argument("<id>","Ad campaign ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(bt,{id:a});if(!e.headshotmarketingAdCampaign)throw new m(`Ad campaign ${a} not found`);s(t,e.headshotmarketingAdCampaign);}catch(e){r(e);}}),i.command("create-campaign").description("Create an ad campaign").requiredOption("--name <s>","Ad campaign name").requiredOption("--platform <p>","FACEBOOK_ADS|GOOGLE_ADS|INSTAGRAM_ADS|LINKEDIN_ADS|TIKTOK_ADS|TWITTER_ADS").option("--status <s>","Status").option("--description <s>","Description").option("--total-budget <n>","Total budget in cents",I).option("--daily-budget <n>","Daily budget in cents",I).option("--bid-strategy <s>","Bid strategy (CPC, CPM, CPA, ...)").option("--audience <id>","Target audience ID").option("--campaign <id>","Associated marketing campaign ID").option("--start-date <iso>","Start date (ISO)").option("--end-date <iso>","End date (ISO)").option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async a=>{try{let t={name:a.name,platform:a.platform.toUpperCase()};a.status&&(t.status=a.status.toUpperCase()),a.description&&(t.description=a.description),a.totalBudget!==void 0&&(t.totalBudget=a.totalBudget),a.dailyBudget!==void 0&&(t.dailyBudget=a.dailyBudget),a.bidStrategy&&(t.bidStrategy=a.bidStrategy),a.audience&&(t.audienceId=a.audience),a.campaign&&(t.campaignId=a.campaign),a.startDate&&(t.startDate=a.startDate),a.endDate&&(t.endDate=a.endDate),a.metadata&&(t.metadata=p("metadata",a.metadata));let e=await o(Rt,{input:t});c(`Ad campaign created: ${e.createHeadshotmarketingAdCampaign.name}`),s(a,e.createHeadshotmarketingAdCampaign);}catch(t){r(t);}}),i.command("update-campaign").description("Update an ad campaign").argument("<id>","Ad campaign ID").option("--name <s>","Ad campaign name").option("--status <s>","Status").option("--total-budget <n>","Total budget in cents",I).option("--daily-budget <n>","Daily budget in cents",I).option("--spent <n>","Spent in cents",I).option("--bid-strategy <s>","Bid strategy").option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e={};if(t.name&&(e.name=t.name),t.status&&(e.status=t.status.toUpperCase()),t.totalBudget!==void 0&&(e.totalBudget=t.totalBudget),t.dailyBudget!==void 0&&(e.dailyBudget=t.dailyBudget),t.spent!==void 0&&(e.spent=t.spent),t.bidStrategy&&(e.bidStrategy=t.bidStrategy),t.metadata&&(e.metadata=p("metadata",t.metadata)),!Object.keys(e).length)throw new m("No updates specified");let n=await o(vt,{id:a,input:e});c("Ad campaign updated"),s(t,n.updateHeadshotmarketingAdCampaign);}catch(e){r(e);}}),i.command("delete-campaign").description("Delete an ad campaign (soft delete)").argument("<id>","Ad campaign ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(Nt,{id:a});if(!e.deleteHeadshotmarketingAdCampaign)throw new m(`Ad campaign ${a} could not be deleted`);c(`Ad campaign ${a} deleted`),s(t,{deleted:e.deleteHeadshotmarketingAdCampaign});}catch(e){r(e);}}),i.command("metrics").description("Aggregated ad performance metrics for the workspace").option("-f, --format <format>","Output format").action(async a=>{try{let t=await o(Lt);s(a,t.headshotmarketingAdMetrics);}catch(t){r(t);}}),i.command("creatives").description("List ad creatives").option("--ad-campaign <id>","Filter by ad campaign ID").option("--type <t>","Filter by type").option("--status <s>","Filter by status").option("--query <q>","Free-text search").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("-f, --format <format>","Output format").action(async a=>{try{let t={limit:a.limit,offset:a.offset};a.adCampaign&&(t.adCampaignId=a.adCampaign),a.type&&(t.type=a.type.toUpperCase()),a.status&&(t.status=a.status.toUpperCase()),a.query&&(t.search=a.query);let e=await o(Pt,{filter:t});s(a,e.headshotmarketingAdCreatives.items,{headers:["ID","Name","Type","Status"],rows:e.headshotmarketingAdCreatives.items.map(n=>[f(n.id,12),n.name,n.type,n.status])});}catch(t){r(t);}}),i.command("creative").description("Get an ad creative by id").argument("<id>","Creative ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(_t,{id:a});if(!e.headshotmarketingAdCreative)throw new m(`Creative ${a} not found`);s(t,e.headshotmarketingAdCreative);}catch(e){r(e);}}),i.command("create-creative").description("Create an ad creative").requiredOption("--name <s>","Creative name").requiredOption("--type <t>","CAROUSEL|IMAGE|RESPONSIVE|TEXT|VIDEO").option("--ad-campaign <id>","Ad campaign ID").option("--headline <s>","Headline").option("--body <s>","Body text").option("--call-to-action <s>","Call to action").option("--destination-url <s>","Destination URL").option("--media-urls <csv>","Comma-separated media URLs",l).option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async a=>{try{let t={name:a.name,type:a.type.toUpperCase()};a.adCampaign&&(t.adCampaignId=a.adCampaign),a.headline&&(t.headline=a.headline),a.body&&(t.body=a.body),a.callToAction&&(t.callToAction=a.callToAction),a.destinationUrl&&(t.destinationUrl=a.destinationUrl),a.mediaUrls&&(t.mediaUrls=a.mediaUrls),a.metadata&&(t.metadata=p("metadata",a.metadata));let e=await o($t,{input:t});c(`Creative created: ${e.createHeadshotmarketingAdCreative.name}`),s(a,e.createHeadshotmarketingAdCreative);}catch(t){r(t);}}),i.command("update-creative").description("Update an ad creative").argument("<id>","Creative ID").option("--name <s>","Creative name").option("--type <t>","Creative type").option("--status <s>","Status").option("--headline <s>","Headline").option("--body <s>","Body text").option("--call-to-action <s>","Call to action").option("--destination-url <s>","Destination URL").option("--media-urls <csv>","Comma-separated media URLs",l).option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e={};if(t.name&&(e.name=t.name),t.type&&(e.type=t.type.toUpperCase()),t.status&&(e.status=t.status.toUpperCase()),t.headline&&(e.headline=t.headline),t.body&&(e.body=t.body),t.callToAction&&(e.callToAction=t.callToAction),t.destinationUrl&&(e.destinationUrl=t.destinationUrl),t.mediaUrls&&(e.mediaUrls=t.mediaUrls),t.metadata&&(e.metadata=p("metadata",t.metadata)),!Object.keys(e).length)throw new m("No updates specified");let n=await o(xt,{id:a,input:e});c("Creative updated"),s(t,n.updateHeadshotmarketingAdCreative);}catch(e){r(e);}}),i.command("delete-creative").description("Delete an ad creative (soft delete)").argument("<id>","Creative ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(Ht,{id:a});if(!e.deleteHeadshotmarketingAdCreative)throw new m(`Creative ${a} could not be deleted`);c(`Creative ${a} deleted`),s(t,{deleted:e.deleteHeadshotmarketingAdCreative});}catch(e){r(e);}}),i.command("audiences").description("List audiences").option("--active <bool>","Filter by active flag",h).option("--query <q>","Free-text search").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("-f, --format <format>","Output format").action(async a=>{try{let t={limit:a.limit,offset:a.offset};a.active!==void 0&&(t.isActive=a.active),a.query&&(t.search=a.query);let e=await o(Ut,{filter:t});s(a,e.headshotmarketingAudiences.items,{headers:["ID","Name","Active","Est. Size"],rows:e.headshotmarketingAudiences.items.map(n=>[f(n.id,12),n.name,n.isActive?"yes":"no",String(n.estimatedSize??0)])});}catch(t){r(t);}}),i.command("audience").description("Get an audience by id").argument("<id>","Audience ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(qt,{id:a});if(!e.headshotmarketingAudience)throw new m(`Audience ${a} not found`);s(t,e.headshotmarketingAudience);}catch(e){r(e);}}),i.command("create-audience").description("Create an audience").requiredOption("--name <s>","Audience name").option("--description <s>","Description").option("--estimated-size <n>","Estimated size",d).option("--active <bool>","Active flag",h).option("--tags <csv>","Comma-separated tags",l).option("--targeting-criteria <json>","Targeting criteria JSON").option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async a=>{try{let t={name:a.name};a.description&&(t.description=a.description),a.estimatedSize!==void 0&&(t.estimatedSize=a.estimatedSize),a.active!==void 0&&(t.isActive=a.active),a.tags&&(t.tags=a.tags),a.targetingCriteria&&(t.targetingCriteria=p("targeting-criteria",a.targetingCriteria)),a.metadata&&(t.metadata=p("metadata",a.metadata));let e=await o(Ft,{input:t});c(`Audience created: ${e.createHeadshotmarketingAudience.name}`),s(a,e.createHeadshotmarketingAudience);}catch(t){r(t);}}),i.command("update-audience").description("Update an audience").argument("<id>","Audience ID").option("--name <s>","Audience name").option("--description <s>","Description").option("--estimated-size <n>","Estimated size",d).option("--active <bool>","Active flag",h).option("--tags <csv>","Comma-separated tags",l).option("--targeting-criteria <json>","Targeting criteria JSON").option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e={};if(t.name&&(e.name=t.name),t.description!==void 0&&(e.description=t.description),t.estimatedSize!==void 0&&(e.estimatedSize=t.estimatedSize),t.active!==void 0&&(e.isActive=t.active),t.tags&&(e.tags=t.tags),t.targetingCriteria&&(e.targetingCriteria=p("targeting-criteria",t.targetingCriteria)),t.metadata&&(e.metadata=p("metadata",t.metadata)),!Object.keys(e).length)throw new m("No updates specified");let n=await o(Mt,{id:a,input:e});c("Audience updated"),s(t,n.updateHeadshotmarketingAudience);}catch(e){r(e);}}),i.command("delete-audience").description("Delete an audience (soft delete)").argument("<id>","Audience ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(Gt,{id:a});if(!e.deleteHeadshotmarketingAudience)throw new m(`Audience ${a} could not be deleted`);c(`Audience ${a} deleted`),s(t,{deleted:e.deleteHeadshotmarketingAudience});}catch(e){r(e);}});}function ja(u){return u.map(i=>[f(i.id,12),i.name,i.tier,String(i.totalFollowers??0),`${i.engagementRate??0}`,i.location??"-"])}function Va(u){let i=u.command("influencers").description("Headshotmarketing influencer marketing");i.command("list").description("List influencers").option("--tier <t>","Filter by tier").option("--location <l>","Filter by location").option("--niches <csv>","Filter by niches",l).option("--query <q>","Free-text search").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("-f, --format <format>","Output format").action(async a=>{try{let t={limit:a.limit,offset:a.offset};a.tier&&(t.tier=a.tier.toUpperCase()),a.location&&(t.location=a.location),a.niches&&(t.niches=a.niches),a.query&&(t.search=a.query);let e=await o(Wt,{filter:t});s(a,e.headshotmarketingInfluencers.items,{headers:["ID","Name","Tier","Followers","Engagement","Location"],rows:ja(e.headshotmarketingInfluencers.items)});}catch(t){r(t);}}),i.command("discover").description("Discover influencers with advanced search filters").option("--tier <t>","Filter by tier").option("--location <l>","Filter by location").option("--niches <csv>","Filter by niches",l).option("--query <q>","Free-text search").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("-f, --format <format>","Output format").action(async a=>{try{let t={limit:a.limit,offset:a.offset};a.tier&&(t.tier=a.tier.toUpperCase()),a.location&&(t.location=a.location),a.niches&&(t.niches=a.niches),a.query&&(t.search=a.query);let e=await o(jt,{filter:t});s(a,e.headshotmarketingDiscoverInfluencers.items,{headers:["ID","Name","Tier","Followers","Engagement","Location"],rows:ja(e.headshotmarketingDiscoverInfluencers.items)});}catch(t){r(t);}}),i.command("get").description("Get an influencer by id").argument("<id>","Influencer ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(Vt,{id:a});if(!e.headshotmarketingInfluencer)throw new m(`Influencer ${a} not found`);s(t,e.headshotmarketingInfluencer);}catch(e){r(e);}}),i.command("create").description("Create an influencer profile").requiredOption("--name <s>","Influencer name").requiredOption("--tier <t>","NANO|MICRO|MID|MACRO|MEGA|CELEBRITY").option("--bio <s>","Bio").option("--email <s>","Email").option("--phone <s>","Phone").option("--location <s>","Location").option("--total-followers <n>","Total followers",d).option("--engagement-rate <n>","Engagement rate",I).option("--niches <csv>","Comma-separated niches",l).option("--platforms <json>","Platforms JSON").option("--audience-demographics <json>","Audience demographics JSON").option("--tags <csv>","Comma-separated tags",l).option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async a=>{try{let t={name:a.name,tier:a.tier.toUpperCase()};a.bio&&(t.bio=a.bio),a.email&&(t.email=a.email),a.phone&&(t.phone=a.phone),a.location&&(t.location=a.location),a.totalFollowers!==void 0&&(t.totalFollowers=a.totalFollowers),a.engagementRate!==void 0&&(t.engagementRate=a.engagementRate),a.niches&&(t.niches=a.niches),a.platforms&&(t.platforms=p("platforms",a.platforms)),a.audienceDemographics&&(t.audienceDemographics=p("audience-demographics",a.audienceDemographics)),a.tags&&(t.tags=a.tags),a.metadata&&(t.metadata=p("metadata",a.metadata));let e=await o(Bt,{input:t});c(`Influencer created: ${e.createHeadshotmarketingInfluencer.name}`),s(a,e.createHeadshotmarketingInfluencer);}catch(t){r(t);}}),i.command("update").description("Update an influencer profile").argument("<id>","Influencer ID").option("--name <s>","Influencer name").option("--tier <t>","Tier").option("--bio <s>","Bio").option("--email <s>","Email").option("--location <s>","Location").option("--total-followers <n>","Total followers",d).option("--engagement-rate <n>","Engagement rate",I).option("--niches <csv>","Comma-separated niches",l).option("--tags <csv>","Comma-separated tags",l).option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e={};if(t.name&&(e.name=t.name),t.tier&&(e.tier=t.tier.toUpperCase()),t.bio!==void 0&&(e.bio=t.bio),t.email&&(e.email=t.email),t.location&&(e.location=t.location),t.totalFollowers!==void 0&&(e.totalFollowers=t.totalFollowers),t.engagementRate!==void 0&&(e.engagementRate=t.engagementRate),t.niches&&(e.niches=t.niches),t.tags&&(e.tags=t.tags),t.metadata&&(e.metadata=p("metadata",t.metadata)),!Object.keys(e).length)throw new m("No updates specified");let n=await o(Jt,{id:a,input:e});c("Influencer updated"),s(t,n.updateHeadshotmarketingInfluencer);}catch(e){r(e);}}),i.command("delete").description("Delete an influencer profile (soft delete)").argument("<id>","Influencer ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(Kt,{id:a});if(!e.deleteHeadshotmarketingInfluencer)throw new m(`Influencer ${a} could not be deleted`);c(`Influencer ${a} deleted`),s(t,{deleted:e.deleteHeadshotmarketingInfluencer});}catch(e){r(e);}}),i.command("campaigns").description("List influencer campaigns").option("--influencer <id>","Filter by influencer ID").option("--campaign <id>","Filter by marketing campaign ID").option("--status <s>","Filter by status").option("--query <q>","Free-text search").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("-f, --format <format>","Output format").action(async a=>{try{let t={limit:a.limit,offset:a.offset};a.influencer&&(t.influencerId=a.influencer),a.campaign&&(t.campaignId=a.campaign),a.status&&(t.status=a.status.toUpperCase()),a.query&&(t.search=a.query);let e=await o(zt,{filter:t});s(a,e.headshotmarketingInfluencerCampaigns.items,{headers:["ID","Name","Status","Influencer","Comp"],rows:e.headshotmarketingInfluencerCampaigns.items.map(n=>[f(n.id,12),n.name,n.status,f(n.influencerId,12),String(n.compensation??0)])});}catch(t){r(t);}}),i.command("campaign").description("Get an influencer campaign by id").argument("<id>","Influencer campaign ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(Yt,{id:a});if(!e.headshotmarketingInfluencerCampaign)throw new m(`Influencer campaign ${a} not found`);s(t,e.headshotmarketingInfluencerCampaign);}catch(e){r(e);}}),i.command("create-campaign").description("Create an influencer campaign").requiredOption("--name <s>","Campaign name").requiredOption("--influencer <id>","Influencer ID").option("--campaign <id>","Associated marketing campaign ID").option("--description <s>","Description").option("--status <s>","Status").option("--compensation <n>","Compensation in cents",I).option("--compensation-type <s>","Compensation type (flat_fee, per_post, ...)").option("--content-deadline <iso>","Content deadline (ISO)").option("--start-date <iso>","Start date (ISO)").option("--end-date <iso>","End date (ISO)").option("--deliverables <json>","Deliverables JSON").option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async a=>{try{let t={name:a.name,influencerId:a.influencer};a.campaign&&(t.campaignId=a.campaign),a.description&&(t.description=a.description),a.status&&(t.status=a.status.toUpperCase()),a.compensation!==void 0&&(t.compensation=a.compensation),a.compensationType&&(t.compensationType=a.compensationType),a.contentDeadline&&(t.contentDeadline=a.contentDeadline),a.startDate&&(t.startDate=a.startDate),a.endDate&&(t.endDate=a.endDate),a.deliverables&&(t.deliverables=p("deliverables",a.deliverables)),a.metadata&&(t.metadata=p("metadata",a.metadata));let e=await o(Xt,{input:t});c(`Influencer campaign created: ${e.createHeadshotmarketingInfluencerCampaign.name}`),s(a,e.createHeadshotmarketingInfluencerCampaign);}catch(t){r(t);}}),i.command("update-campaign").description("Update an influencer campaign").argument("<id>","Influencer campaign ID").option("--name <s>","Campaign name").option("--status <s>","Status").option("--compensation <n>","Compensation in cents",I).option("--compensation-type <s>","Compensation type").option("--content-deadline <iso>","Content deadline (ISO)").option("--start-date <iso>","Start date (ISO)").option("--end-date <iso>","End date (ISO)").option("--deliverables <json>","Deliverables JSON").option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e={};if(t.name&&(e.name=t.name),t.status&&(e.status=t.status.toUpperCase()),t.compensation!==void 0&&(e.compensation=t.compensation),t.compensationType&&(e.compensationType=t.compensationType),t.contentDeadline&&(e.contentDeadline=t.contentDeadline),t.startDate&&(e.startDate=t.startDate),t.endDate&&(e.endDate=t.endDate),t.deliverables&&(e.deliverables=p("deliverables",t.deliverables)),t.metadata&&(e.metadata=p("metadata",t.metadata)),!Object.keys(e).length)throw new m("No updates specified");let n=await o(Qt,{id:a,input:e});c("Influencer campaign updated"),s(t,n.updateHeadshotmarketingInfluencerCampaign);}catch(e){r(e);}}),i.command("delete-campaign").description("Delete an influencer campaign (soft delete)").argument("<id>","Influencer campaign ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(Zt,{id:a});if(!e.deleteHeadshotmarketingInfluencerCampaign)throw new m(`Influencer campaign ${a} could not be deleted`);c(`Influencer campaign ${a} deleted`),s(t,{deleted:e.deleteHeadshotmarketingInfluencerCampaign});}catch(e){r(e);}}),i.command("relationships").description("List influencer relationships").option("--influencer <id>","Filter by influencer ID").option("--status <s>","Filter by status").option("--query <q>","Free-text search").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("-f, --format <format>","Output format").action(async a=>{try{let t={limit:a.limit,offset:a.offset};a.influencer&&(t.influencerId=a.influencer),a.status&&(t.status=a.status.toUpperCase()),a.query&&(t.search=a.query);let e=await o(te,{filter:t});s(a,e.headshotmarketingInfluencerRelationships.items,{headers:["ID","Influencer","Status","Rating","Campaigns"],rows:e.headshotmarketingInfluencerRelationships.items.map(n=>[f(n.id,12),f(n.influencerId,12),n.status,String(n.rating??"-"),String(n.totalCampaigns??0)])});}catch(t){r(t);}}),i.command("relationship").description("Get an influencer relationship by id").argument("<id>","Relationship ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(ee,{id:a});if(!e.headshotmarketingInfluencerRelationship)throw new m(`Relationship ${a} not found`);s(t,e.headshotmarketingInfluencerRelationship);}catch(e){r(e);}}),i.command("create-relationship").description("Create an influencer relationship").requiredOption("--influencer <id>","Influencer ID").option("--status <s>","Status").option("--rating <n>","Rating",d).option("--notes <s>","Notes").option("--first-contact-date <iso>","First contact date (ISO)").option("--tags <csv>","Comma-separated tags",l).option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async a=>{try{let t={influencerId:a.influencer};a.status&&(t.status=a.status.toUpperCase()),a.rating!==void 0&&(t.rating=a.rating),a.notes&&(t.notes=a.notes),a.firstContactDate&&(t.firstContactDate=a.firstContactDate),a.tags&&(t.tags=a.tags),a.metadata&&(t.metadata=p("metadata",a.metadata));let e=await o(ae,{input:t});c(`Relationship created: ${e.createHeadshotmarketingInfluencerRelationship.id}`),s(a,e.createHeadshotmarketingInfluencerRelationship);}catch(t){r(t);}}),i.command("update-relationship").description("Update an influencer relationship").argument("<id>","Relationship ID").option("--status <s>","Status").option("--rating <n>","Rating",d).option("--notes <s>","Notes").option("--last-interaction-date <iso>","Last interaction date (ISO)").option("--total-campaigns <n>","Total campaigns",d).option("--total-compensation <n>","Total compensation",I).option("--tags <csv>","Comma-separated tags",l).option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e={};if(t.status&&(e.status=t.status.toUpperCase()),t.rating!==void 0&&(e.rating=t.rating),t.notes!==void 0&&(e.notes=t.notes),t.lastInteractionDate&&(e.lastInteractionDate=t.lastInteractionDate),t.totalCampaigns!==void 0&&(e.totalCampaigns=t.totalCampaigns),t.totalCompensation!==void 0&&(e.totalCompensation=t.totalCompensation),t.tags&&(e.tags=t.tags),t.metadata&&(e.metadata=p("metadata",t.metadata)),!Object.keys(e).length)throw new m("No updates specified");let n=await o(ne,{id:a,input:e});c("Relationship updated"),s(t,n.updateHeadshotmarketingInfluencerRelationship);}catch(e){r(e);}}),i.command("set-relationship-status").description("Update the status of an influencer relationship").argument("<id>","Relationship ID").requiredOption("--status <s>","PROSPECT|OUTREACH|NEGOTIATING|ACTIVE|PAUSED|ENDED").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(oe,{id:a,status:t.status.toUpperCase()});c(`Relationship status set to ${e.updateHeadshotmarketingInfluencerRelationshipStatus.status}`),s(t,e.updateHeadshotmarketingInfluencerRelationshipStatus);}catch(e){r(e);}}),i.command("delete-relationship").description("Delete an influencer relationship (soft delete)").argument("<id>","Relationship ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(ie,{id:a});if(!e.deleteHeadshotmarketingInfluencerRelationship)throw new m(`Relationship ${a} could not be deleted`);c(`Relationship ${a} deleted`),s(t,{deleted:e.deleteHeadshotmarketingInfluencerRelationship});}catch(e){r(e);}});}function w(u,i){return {limit:u??50,offset:i??0}}function Ba(u){let i=u.command("content").description("Headshotmarketing content items, assets & AI tools");i.command("items").description("List content items").option("--type <t>","Filter by type").option("--status <s>","Filter by status").option("--author <id>","Filter by author ID").option("--campaign <id>","Filter by campaign ID").option("--tags <csv>","Filter by tags",l).option("--query <q>","Free-text search").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("-f, --format <format>","Output format").action(async a=>{try{let t={};a.type&&(t.type=a.type.toUpperCase()),a.status&&(t.status=a.status.toUpperCase()),a.author&&(t.authorId=a.author),a.campaign&&(t.campaignId=a.campaign),a.tags&&(t.tags=a.tags),a.query&&(t.search=a.query);let e=await o(re,{filter:t,pagination:w(a.limit,a.offset)});s(a,e.headshotmarketingContentItems.items,{headers:["ID","Title","Type","Status"],rows:e.headshotmarketingContentItems.items.map(n=>[f(n.id,12),n.title,n.type,n.status])});}catch(t){r(t);}}),i.command("item").description("Get a content item by id").argument("<id>","Content item ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(se,{id:a});if(!e.headshotmarketingContentItem)throw new m(`Content item ${a} not found`);s(t,e.headshotmarketingContentItem);}catch(e){r(e);}}),i.command("create-item").description("Create a content item").requiredOption("--title <s>","Title").requiredOption("--type <t>","AD_COPY|BLOG_POST|CASE_STUDY|EMAIL|INFOGRAPHIC|LANDING_PAGE|SOCIAL_POST|VIDEO_SCRIPT|WHITEPAPER|OTHER").option("--body <s>","Body").option("--summary <s>","Summary").option("--slug <s>","Slug").option("--campaign <id>","Campaign ID").option("--scheduled-at <iso>","Scheduled time (ISO)").option("--tags <csv>","Comma-separated tags",l).option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async a=>{try{let t={title:a.title,type:a.type.toUpperCase()};a.body&&(t.body=a.body),a.summary&&(t.summary=a.summary),a.slug&&(t.slug=a.slug),a.campaign&&(t.campaignId=a.campaign),a.scheduledAt&&(t.scheduledAt=a.scheduledAt),a.tags&&(t.tags=a.tags),a.metadata&&(t.metadata=p("metadata",a.metadata));let e=await o(de,{input:t});c(`Content item created: ${e.headshotmarketingCreateContentItem.title}`),s(a,e.headshotmarketingCreateContentItem);}catch(t){r(t);}}),i.command("update-item").description("Update a content item").argument("<id>","Content item ID").option("--title <s>","Title").option("--type <t>","Type").option("--status <s>","Status").option("--body <s>","Body").option("--summary <s>","Summary").option("--slug <s>","Slug").option("--scheduled-at <iso>","Scheduled time (ISO)").option("--tags <csv>","Comma-separated tags",l).option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e={};if(t.title&&(e.title=t.title),t.type&&(e.type=t.type.toUpperCase()),t.status&&(e.status=t.status.toUpperCase()),t.body!==void 0&&(e.body=t.body),t.summary!==void 0&&(e.summary=t.summary),t.slug&&(e.slug=t.slug),t.scheduledAt&&(e.scheduledAt=t.scheduledAt),t.tags&&(e.tags=t.tags),t.metadata&&(e.metadata=p("metadata",t.metadata)),!Object.keys(e).length)throw new m("No updates specified");let n=await o(ce,{id:a,input:e});c("Content item updated"),s(t,n.headshotmarketingUpdateContentItem);}catch(e){r(e);}}),i.command("delete-item").description("Delete a content item (soft delete)").argument("<id>","Content item ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(me,{id:a});if(!e.headshotmarketingDeleteContentItem)throw new m(`Content item ${a} could not be deleted`);c(`Content item ${a} deleted`),s(t,{deleted:e.headshotmarketingDeleteContentItem});}catch(e){r(e);}}),i.command("assets").description("List assets").option("--type <t>","Filter by type").option("--folder <id>","Filter by folder ID").option("--tags <csv>","Filter by tags",l).option("--query <q>","Free-text search").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("-f, --format <format>","Output format").action(async a=>{try{let t={};a.type&&(t.type=a.type.toUpperCase()),a.folder&&(t.folderId=a.folder),a.tags&&(t.tags=a.tags),a.query&&(t.search=a.query);let e=await o(pe,{filter:t,pagination:w(a.limit,a.offset)});s(a,e.headshotmarketingAssets.items,{headers:["ID","Name","Type","MIME","Size"],rows:e.headshotmarketingAssets.items.map(n=>[f(n.id,12),n.name,n.type,n.mimeType??"-",String(n.sizeBytes??0)])});}catch(t){r(t);}}),i.command("asset").description("Get an asset by id").argument("<id>","Asset ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(ue,{id:a});if(!e.headshotmarketingAsset)throw new m(`Asset ${a} not found`);s(t,e.headshotmarketingAsset);}catch(e){r(e);}}),i.command("create-asset").description("Create an asset").requiredOption("--name <s>","Asset name").requiredOption("--type <t>","AUDIO|DOCUMENT|FONT|ICON|IMAGE|TEMPLATE|VIDEO|OTHER").requiredOption("--url <s>","Asset URL").option("--thumbnail-url <s>","Thumbnail URL").option("--mime-type <s>","MIME type").option("--size-bytes <n>","Size in bytes",d).option("--alt-text <s>","Alt text").option("--folder <id>","Folder ID").option("--tags <csv>","Comma-separated tags",l).option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async a=>{try{let t={name:a.name,type:a.type.toUpperCase(),url:a.url};a.thumbnailUrl&&(t.thumbnailUrl=a.thumbnailUrl),a.mimeType&&(t.mimeType=a.mimeType),a.sizeBytes!==void 0&&(t.sizeBytes=a.sizeBytes),a.altText&&(t.altText=a.altText),a.folder&&(t.folderId=a.folder),a.tags&&(t.tags=a.tags),a.metadata&&(t.metadata=p("metadata",a.metadata));let e=await o(ge,{input:t});c(`Asset created: ${e.headshotmarketingCreateAsset.name}`),s(a,e.headshotmarketingCreateAsset);}catch(t){r(t);}}),i.command("update-asset").description("Update an asset").argument("<id>","Asset ID").option("--name <s>","Asset name").option("--type <t>","Asset type").option("--url <s>","Asset URL").option("--alt-text <s>","Alt text").option("--tags <csv>","Comma-separated tags",l).option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e={};if(t.name&&(e.name=t.name),t.type&&(e.type=t.type.toUpperCase()),t.url&&(e.url=t.url),t.altText!==void 0&&(e.altText=t.altText),t.tags&&(e.tags=t.tags),t.metadata&&(e.metadata=p("metadata",t.metadata)),!Object.keys(e).length)throw new m("No updates specified");let n=await o(le,{id:a,input:e});c("Asset updated"),s(t,n.headshotmarketingUpdateAsset);}catch(e){r(e);}}),i.command("delete-asset").description("Delete an asset (soft delete)").argument("<id>","Asset ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(fe,{id:a});if(!e.headshotmarketingDeleteAsset)throw new m(`Asset ${a} could not be deleted`);c(`Asset ${a} deleted`),s(t,{deleted:e.headshotmarketingDeleteAsset});}catch(e){r(e);}}),i.command("ai-tools").description("List AI tools").option("--category <c>","Filter by category").option("--provider <p>","Filter by provider").option("--enabled <bool>","Filter by enabled flag",h).option("--query <q>","Free-text search").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("-f, --format <format>","Output format").action(async a=>{try{let t={};a.category&&(t.category=a.category.toUpperCase()),a.provider&&(t.provider=a.provider),a.enabled!==void 0&&(t.isEnabled=a.enabled),a.query&&(t.search=a.query);let e=await o(he,{filter:t,pagination:w(a.limit,a.offset)});s(a,e.headshotmarketingAITools.items,{headers:["ID","Name","Provider","Category","Enabled","Usage"],rows:e.headshotmarketingAITools.items.map(n=>[f(n.id,12),n.name,n.provider,n.category,n.isEnabled?"yes":"no",String(n.usageCount??0)])});}catch(t){r(t);}}),i.command("ai-tool").description("Get an AI tool by id").argument("<id>","AI tool ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(Ie,{id:a});if(!e.headshotmarketingAITool)throw new m(`AI tool ${a} not found`);s(t,e.headshotmarketingAITool);}catch(e){r(e);}}),i.command("create-ai-tool").description("Create an AI tool").requiredOption("--name <s>","Tool name").requiredOption("--provider <s>","Provider").requiredOption("--category <c>","CONTENT_GENERATION|COPYWRITING|IMAGE_GENERATION|SEO_OPTIMIZATION|SUMMARIZATION|TRANSLATION|VIDEO_GENERATION|OTHER").option("--description <s>","Description").option("--model <s>","Model").option("--enabled <bool>","Enabled flag",h).option("--configuration <json>","Configuration JSON").option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async a=>{try{let t={name:a.name,provider:a.provider,category:a.category.toUpperCase()};a.description&&(t.description=a.description),a.model&&(t.model=a.model),a.enabled!==void 0&&(t.isEnabled=a.enabled),a.configuration&&(t.configuration=p("configuration",a.configuration)),a.metadata&&(t.metadata=p("metadata",a.metadata));let e=await o(ke,{input:t});c(`AI tool created: ${e.headshotmarketingCreateAITool.name}`),s(a,e.headshotmarketingCreateAITool);}catch(t){r(t);}}),i.command("update-ai-tool").description("Update an AI tool").argument("<id>","AI tool ID").option("--name <s>","Tool name").option("--provider <s>","Provider").option("--category <c>","Category").option("--description <s>","Description").option("--model <s>","Model").option("--enabled <bool>","Enabled flag",h).option("--configuration <json>","Configuration JSON").option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e={};if(t.name&&(e.name=t.name),t.provider&&(e.provider=t.provider),t.category&&(e.category=t.category.toUpperCase()),t.description!==void 0&&(e.description=t.description),t.model&&(e.model=t.model),t.enabled!==void 0&&(e.isEnabled=t.enabled),t.configuration&&(e.configuration=p("configuration",t.configuration)),t.metadata&&(e.metadata=p("metadata",t.metadata)),!Object.keys(e).length)throw new m("No updates specified");let n=await o(Ee,{id:a,input:e});c("AI tool updated"),s(t,n.headshotmarketingUpdateAITool);}catch(e){r(e);}}),i.command("delete-ai-tool").description("Delete an AI tool (soft delete)").argument("<id>","AI tool ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(ye,{id:a});if(!e.headshotmarketingDeleteAITool)throw new m(`AI tool ${a} could not be deleted`);c(`AI tool ${a} deleted`),s(t,{deleted:e.headshotmarketingDeleteAITool});}catch(e){r(e);}}),i.command("execute-ai-tool").description("Execute an AI tool and return the execution record").argument("<toolId>","AI tool ID").requiredOption("--input <json>","Execution input JSON").option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e={toolId:a,input:p("input",t.input)};t.metadata&&(e.metadata=p("metadata",t.metadata));let n=await o(Ce,{input:e});c(`AI tool execution: ${n.headshotmarketingExecuteAITool.status}`),s(t,n.headshotmarketingExecuteAITool);}catch(e){r(e);}}),i.command("ai-executions").description("List AI tool executions").option("--tool <id>","Filter by tool ID").option("--status <s>","Filter by status").option("--executed-by <id>","Filter by executor ID").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("-f, --format <format>","Output format").action(async a=>{try{let t={};a.tool&&(t.toolId=a.tool),a.status&&(t.status=a.status.toUpperCase()),a.executedBy&&(t.executedBy=a.executedBy);let e=await o(Ae,{filter:t,pagination:w(a.limit,a.offset)});s(a,e.headshotmarketingAIToolExecutions.items,{headers:["ID","Tool","Status","By"],rows:e.headshotmarketingAIToolExecutions.items.map(n=>[f(n.id,12),f(n.toolId,12),n.status,f(n.executedBy,12)])});}catch(t){r(t);}}),i.command("ai-execution").description("Get an AI tool execution by id").argument("<id>","Execution ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(we,{id:a});if(!e.headshotmarketingAIToolExecution)throw new m(`Execution ${a} not found`);s(t,e.headshotmarketingAIToolExecution);}catch(e){r(e);}});}function S(u,i){return {limit:u??50,offset:i??0}}function Ja(u){let i=u.command("events").description("Headshotmarketing marketing events");i.command("list").description("List marketing events").option("--type <t>","Filter by type").option("--status <s>","Filter by status").option("--campaign <id>","Filter by campaign ID").option("--tags <csv>","Filter by tags",l).option("--query <q>","Free-text search").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("-f, --format <format>","Output format").action(async a=>{try{let t={};a.type&&(t.type=a.type.toUpperCase()),a.status&&(t.status=a.status.toUpperCase()),a.campaign&&(t.campaignId=a.campaign),a.tags&&(t.tags=a.tags),a.query&&(t.search=a.query);let e=await o(Te,{filter:t,pagination:S(a.limit,a.offset)});s(a,e.headshotmarketingEvents.items,{headers:["ID","Title","Type","Status","Registrations"],rows:e.headshotmarketingEvents.items.map(n=>[f(n.id,12),n.title,n.type,n.status,String(n.registrationCount??0)])});}catch(t){r(t);}}),i.command("get").description("Get a marketing event by id").argument("<id>","Event ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(Se,{id:a});if(!e.headshotmarketingEvent)throw new m(`Event ${a} not found`);s(t,e.headshotmarketingEvent);}catch(e){r(e);}}),i.command("create").description("Create a marketing event").requiredOption("--title <s>","Event title").requiredOption("--type <t>","CONFERENCE|MEETUP|NETWORKING|PRODUCT_LAUNCH|TRADESHOW|WEBINAR|WORKSHOP|OTHER").requiredOption("--start-date <iso>","Start date (ISO)").requiredOption("--end-date <iso>","End date (ISO)").option("--description <s>","Description").option("--location <s>","Location").option("--virtual-url <s>","Virtual URL").option("--timezone <s>","Timezone").option("--slug <s>","Slug").option("--max-attendees <n>","Max attendees",d).option("--campaign <id>","Campaign ID").option("--cover-image-url <s>","Cover image URL").option("--tags <csv>","Comma-separated tags",l).option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async a=>{try{let t={title:a.title,type:a.type.toUpperCase(),startDate:a.startDate,endDate:a.endDate};a.description&&(t.description=a.description),a.location&&(t.location=a.location),a.virtualUrl&&(t.virtualUrl=a.virtualUrl),a.timezone&&(t.timezone=a.timezone),a.slug&&(t.slug=a.slug),a.maxAttendees!==void 0&&(t.maxAttendees=a.maxAttendees),a.campaign&&(t.campaignId=a.campaign),a.coverImageUrl&&(t.coverImageUrl=a.coverImageUrl),a.tags&&(t.tags=a.tags),a.metadata&&(t.metadata=p("metadata",a.metadata));let e=await o(De,{input:t});c(`Event created: ${e.headshotmarketingCreateEvent.title}`),s(a,e.headshotmarketingCreateEvent);}catch(t){r(t);}}),i.command("update").description("Update a marketing event").argument("<id>","Event ID").option("--title <s>","Event title").option("--type <t>","Type").option("--status <s>","Status").option("--start-date <iso>","Start date (ISO)").option("--end-date <iso>","End date (ISO)").option("--location <s>","Location").option("--virtual-url <s>","Virtual URL").option("--max-attendees <n>","Max attendees",d).option("--tags <csv>","Comma-separated tags",l).option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e={};if(t.title&&(e.title=t.title),t.type&&(e.type=t.type.toUpperCase()),t.status&&(e.status=t.status.toUpperCase()),t.startDate&&(e.startDate=t.startDate),t.endDate&&(e.endDate=t.endDate),t.location!==void 0&&(e.location=t.location),t.virtualUrl&&(e.virtualUrl=t.virtualUrl),t.maxAttendees!==void 0&&(e.maxAttendees=t.maxAttendees),t.tags&&(e.tags=t.tags),t.metadata&&(e.metadata=p("metadata",t.metadata)),!Object.keys(e).length)throw new m("No updates specified");let n=await o(Oe,{id:a,input:e});c("Event updated"),s(t,n.headshotmarketingUpdateEvent);}catch(e){r(e);}}),i.command("delete").description("Delete a marketing event (soft delete)").argument("<id>","Event ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(be,{id:a});if(!e.headshotmarketingDeleteEvent)throw new m(`Event ${a} could not be deleted`);c(`Event ${a} deleted`),s(t,{deleted:e.headshotmarketingDeleteEvent});}catch(e){r(e);}}),i.command("registrations").description("List event registrations").option("--event <id>","Filter by event ID").option("--status <s>","Filter by status").option("--query <q>","Free-text search").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("-f, --format <format>","Output format").action(async a=>{try{let t={};a.event&&(t.eventId=a.event),a.status&&(t.status=a.status.toUpperCase()),a.query&&(t.search=a.query);let e=await o(Re,{filter:t,pagination:S(a.limit,a.offset)});s(a,e.headshotmarketingEventRegistrations.items,{headers:["ID","Event","Attendee","Email","Status"],rows:e.headshotmarketingEventRegistrations.items.map(n=>[f(n.id,12),f(n.eventId,12),n.attendeeName,n.attendeeEmail,n.status])});}catch(t){r(t);}}),i.command("registration").description("Get an event registration by id").argument("<id>","Registration ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(ve,{id:a});if(!e.headshotmarketingEventRegistration)throw new m(`Registration ${a} not found`);s(t,e.headshotmarketingEventRegistration);}catch(e){r(e);}}),i.command("register").description("Register an attendee for an event").requiredOption("--event <id>","Event ID").requiredOption("--attendee-name <s>","Attendee name").requiredOption("--attendee-email <s>","Attendee email").option("--attendee-phone <s>","Attendee phone").option("--attendee-company <s>","Attendee company").option("--attendee-title <s>","Attendee title").option("--notes <s>","Notes").option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async a=>{try{let t={eventId:a.event,attendeeName:a.attendeeName,attendeeEmail:a.attendeeEmail};a.attendeePhone&&(t.attendeePhone=a.attendeePhone),a.attendeeCompany&&(t.attendeeCompany=a.attendeeCompany),a.attendeeTitle&&(t.attendeeTitle=a.attendeeTitle),a.notes&&(t.notes=a.notes),a.metadata&&(t.metadata=p("metadata",a.metadata));let e=await o(Pe,{input:t});c(`Registered: ${e.headshotmarketingRegisterForEvent.attendeeName}`),s(a,e.headshotmarketingRegisterForEvent);}catch(t){r(t);}}),i.command("create-registration").description("Create an event registration").requiredOption("--event <id>","Event ID").requiredOption("--attendee-name <s>","Attendee name").requiredOption("--attendee-email <s>","Attendee email").option("--attendee-phone <s>","Attendee phone").option("--attendee-company <s>","Attendee company").option("--attendee-title <s>","Attendee title").option("--notes <s>","Notes").option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async a=>{try{let t={eventId:a.event,attendeeName:a.attendeeName,attendeeEmail:a.attendeeEmail};a.attendeePhone&&(t.attendeePhone=a.attendeePhone),a.attendeeCompany&&(t.attendeeCompany=a.attendeeCompany),a.attendeeTitle&&(t.attendeeTitle=a.attendeeTitle),a.notes&&(t.notes=a.notes),a.metadata&&(t.metadata=p("metadata",a.metadata));let e=await o(Ne,{input:t});c(`Registration created: ${e.headshotmarketingCreateEventRegistration.id}`),s(a,e.headshotmarketingCreateEventRegistration);}catch(t){r(t);}}),i.command("update-registration").description("Update an event registration").argument("<id>","Registration ID").option("--attendee-name <s>","Attendee name").option("--attendee-email <s>","Attendee email").option("--attendee-phone <s>","Attendee phone").option("--attendee-company <s>","Attendee company").option("--attendee-title <s>","Attendee title").option("--notes <s>","Notes").option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e={};if(t.attendeeName&&(e.attendeeName=t.attendeeName),t.attendeeEmail&&(e.attendeeEmail=t.attendeeEmail),t.attendeePhone&&(e.attendeePhone=t.attendeePhone),t.attendeeCompany&&(e.attendeeCompany=t.attendeeCompany),t.attendeeTitle&&(e.attendeeTitle=t.attendeeTitle),t.notes!==void 0&&(e.notes=t.notes),t.metadata&&(e.metadata=p("metadata",t.metadata)),!Object.keys(e).length)throw new m("No updates specified");let n=await o(Le,{id:a,input:e});c("Registration updated"),s(t,n.headshotmarketingUpdateEventRegistration);}catch(e){r(e);}}),i.command("check-in").description("Check in an attendee at an event").argument("<registrationId>","Registration ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(_e,{registrationId:a});c(`Checked in: ${e.headshotmarketingCheckInAttendee.attendeeName}`),s(t,e.headshotmarketingCheckInAttendee);}catch(e){r(e);}}),i.command("cancel-registration").description("Cancel a registration").argument("<registrationId>","Registration ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o($e,{registrationId:a});c(`Registration cancelled: ${e.headshotmarketingCancelRegistration.status}`),s(t,e.headshotmarketingCancelRegistration);}catch(e){r(e);}}),i.command("speakers").description("List event speakers").option("--event <id>","Filter by event ID").option("--query <q>","Free-text search").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("-f, --format <format>","Output format").action(async a=>{try{let t={};a.event&&(t.eventId=a.event),a.query&&(t.search=a.query);let e=await o(xe,{filter:t,pagination:S(a.limit,a.offset)});s(a,e.headshotmarketingEventSpeakers.items,{headers:["ID","Name","Title","Company","Order"],rows:e.headshotmarketingEventSpeakers.items.map(n=>[f(n.id,12),n.name,n.title??"-",n.company??"-",String(n.sortOrder??0)])});}catch(t){r(t);}}),i.command("speaker").description("Get an event speaker by id").argument("<id>","Speaker ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(He,{id:a});if(!e.headshotmarketingEventSpeaker)throw new m(`Speaker ${a} not found`);s(t,e.headshotmarketingEventSpeaker);}catch(e){r(e);}}),i.command("add-speaker").description("Add a speaker to an event").requiredOption("--event <id>","Event ID").requiredOption("--name <s>","Speaker name").option("--title <s>","Title").option("--company <s>","Company").option("--bio <s>","Bio").option("--email <s>","Email").option("--topic <s>","Topic").option("--linkedin-url <s>","LinkedIn URL").option("--twitter-url <s>","Twitter URL").option("--avatar-url <s>","Avatar URL").option("--sort-order <n>","Sort order",d).option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async a=>{try{let t={eventId:a.event,name:a.name};a.title&&(t.title=a.title),a.company&&(t.company=a.company),a.bio&&(t.bio=a.bio),a.email&&(t.email=a.email),a.topic&&(t.topic=a.topic),a.linkedinUrl&&(t.linkedinUrl=a.linkedinUrl),a.twitterUrl&&(t.twitterUrl=a.twitterUrl),a.avatarUrl&&(t.avatarUrl=a.avatarUrl),a.sortOrder!==void 0&&(t.sortOrder=a.sortOrder),a.metadata&&(t.metadata=p("metadata",a.metadata));let e=await o(Ue,{input:t});c(`Speaker added: ${e.headshotmarketingCreateEventSpeaker.name}`),s(a,e.headshotmarketingCreateEventSpeaker);}catch(t){r(t);}}),i.command("update-speaker").description("Update an event speaker").argument("<id>","Speaker ID").option("--name <s>","Speaker name").option("--title <s>","Title").option("--company <s>","Company").option("--bio <s>","Bio").option("--topic <s>","Topic").option("--sort-order <n>","Sort order",d).option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e={};if(t.name&&(e.name=t.name),t.title!==void 0&&(e.title=t.title),t.company!==void 0&&(e.company=t.company),t.bio!==void 0&&(e.bio=t.bio),t.topic&&(e.topic=t.topic),t.sortOrder!==void 0&&(e.sortOrder=t.sortOrder),t.metadata&&(e.metadata=p("metadata",t.metadata)),!Object.keys(e).length)throw new m("No updates specified");let n=await o(qe,{id:a,input:e});c("Speaker updated"),s(t,n.headshotmarketingUpdateEventSpeaker);}catch(e){r(e);}}),i.command("remove-speaker").description("Delete an event speaker (soft delete)").argument("<id>","Speaker ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(Fe,{id:a});if(!e.headshotmarketingDeleteEventSpeaker)throw new m(`Speaker ${a} could not be deleted`);c(`Speaker ${a} deleted`),s(t,{deleted:e.headshotmarketingDeleteEventSpeaker});}catch(e){r(e);}});}function Ka(u,i){return {limit:u??50,offset:i??0}}function za(u){let i=u.command("seo").description("Headshotmarketing SEO keywords & audits");i.command("keywords").description("List SEO keywords").option("--status <s>","Filter by status").option("--tags <csv>","Filter by tags",l).option("--min-rank <n>","Minimum rank",d).option("--max-rank <n>","Maximum rank",d).option("--query <q>","Free-text search").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("-f, --format <format>","Output format").action(async t=>{try{let e={};t.status&&(e.status=t.status.toUpperCase()),t.tags&&(e.tags=t.tags),t.minRank!==void 0&&(e.minRank=t.minRank),t.maxRank!==void 0&&(e.maxRank=t.maxRank),t.query&&(e.search=t.query);let n=await o(Me,{filter:e,pagination:Ka(t.limit,t.offset)});s(t,n.headshotmarketingSEOKeywords.items,{headers:["ID","Keyword","Status","Rank","Volume","Difficulty"],rows:n.headshotmarketingSEOKeywords.items.map(g=>[f(g.id,12),g.keyword,g.status,String(g.currentRank??"-"),String(g.searchVolume??0),String(g.difficulty??"-")])});}catch(e){r(e);}}),i.command("keyword").description("Get an SEO keyword by id").argument("<id>","Keyword ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await o(Ge,{id:t});if(!n.headshotmarketingSEOKeyword)throw new m(`Keyword ${t} not found`);s(e,n.headshotmarketingSEOKeyword);}catch(n){r(n);}});function a(t){let e={};return t.keyword&&(e.keyword=t.keyword),t.url&&(e.url=t.url),t.searchVolume!==void 0&&(e.searchVolume=t.searchVolume),t.difficulty!==void 0&&(e.difficulty=t.difficulty),t.cpc!==void 0&&(e.cpc=t.cpc),t.tags&&(e.tags=t.tags),t.metadata&&(e.metadata=p("metadata",t.metadata)),e}i.command("add-keyword").description("Create an SEO keyword to track").requiredOption("--keyword <s>","Keyword text").option("--url <s>","Target URL").option("--search-volume <n>","Search volume",d).option("--difficulty <n>","Difficulty",I).option("--cpc <n>","Cost per click",I).option("--tags <csv>","Comma-separated tags",l).option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async t=>{try{let e=a(t),n=await o(We,{input:e});c(`Keyword added: ${n.headshotmarketingCreateSEOKeyword.keyword}`),s(t,n.headshotmarketingCreateSEOKeyword);}catch(e){r(e);}}),i.command("track-keyword").description("Start tracking a keyword (alias for add with TRACKING status)").requiredOption("--keyword <s>","Keyword text").option("--url <s>","Target URL").option("--search-volume <n>","Search volume",d).option("--difficulty <n>","Difficulty",I).option("--cpc <n>","Cost per click",I).option("--tags <csv>","Comma-separated tags",l).option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async t=>{try{let e=a(t),n=await o(je,{input:e});c(`Tracking keyword: ${n.headshotmarketingTrackKeyword.keyword}`),s(t,n.headshotmarketingTrackKeyword);}catch(e){r(e);}}),i.command("update-keyword").description("Update an SEO keyword").argument("<id>","Keyword ID").option("--keyword <s>","Keyword text").option("--status <s>","Status").option("--current-rank <n>","Current rank",d).option("--url <s>","Target URL").option("--search-volume <n>","Search volume",d).option("--difficulty <n>","Difficulty",I).option("--cpc <n>","Cost per click",I).option("--tags <csv>","Comma-separated tags",l).option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n={};if(e.keyword&&(n.keyword=e.keyword),e.status&&(n.status=e.status.toUpperCase()),e.currentRank!==void 0&&(n.currentRank=e.currentRank),e.url&&(n.url=e.url),e.searchVolume!==void 0&&(n.searchVolume=e.searchVolume),e.difficulty!==void 0&&(n.difficulty=e.difficulty),e.cpc!==void 0&&(n.cpc=e.cpc),e.tags&&(n.tags=e.tags),e.metadata&&(n.metadata=p("metadata",e.metadata)),!Object.keys(n).length)throw new m("No updates specified");let g=await o(Ve,{id:t,input:n});c("Keyword updated"),s(e,g.headshotmarketingUpdateSEOKeyword);}catch(n){r(n);}}),i.command("delete-keyword").description("Delete an SEO keyword (soft delete)").argument("<id>","Keyword ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await o(Be,{id:t});if(!n.headshotmarketingDeleteSEOKeyword)throw new m(`Keyword ${t} could not be deleted`);c(`Keyword ${t} deleted`),s(e,{deleted:n.headshotmarketingDeleteSEOKeyword});}catch(n){r(n);}}),i.command("audits").description("List SEO audits").option("--status <s>","Filter by status").option("--url <u>","Filter by URL").option("--min-score <n>","Minimum overall score",I).option("--query <q>","Free-text search").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("-f, --format <format>","Output format").action(async t=>{try{let e={};t.status&&(e.status=t.status.toUpperCase()),t.url&&(e.url=t.url),t.minScore!==void 0&&(e.minScore=t.minScore),t.query&&(e.search=t.query);let n=await o(Je,{filter:e,pagination:Ka(t.limit,t.offset)});s(t,n.headshotmarketingSEOAudits.items,{headers:["ID","URL","Status","Score","Issues"],rows:n.headshotmarketingSEOAudits.items.map(g=>[f(g.id,12),f(g.url,36),g.status,String(g.overallScore??"-"),String(g.totalIssues??0)])});}catch(e){r(e);}}),i.command("audit").description("Get an SEO audit by id").argument("<id>","Audit ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await o(Ke,{id:t});if(!n.headshotmarketingSEOAudit)throw new m(`Audit ${t} not found`);s(e,n.headshotmarketingSEOAudit);}catch(n){r(n);}}),i.command("create-audit").description("Create an SEO audit record").requiredOption("--url <s>","URL to audit").option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async t=>{try{let e={url:t.url};t.metadata&&(e.metadata=p("metadata",t.metadata));let n=await o(ze,{input:e});c(`Audit created: ${n.headshotmarketingCreateSEOAudit.id}`),s(t,n.headshotmarketingCreateSEOAudit);}catch(e){r(e);}}),i.command("run-audit").description("Run an SEO audit for a given URL").argument("<url>","URL to audit").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await o(Ye,{url:t});c(`Audit run: ${n.headshotmarketingRunSEOAudit.status}`),s(e,n.headshotmarketingRunSEOAudit);}catch(n){r(n);}}),i.command("update-audit").description("Update an SEO audit").argument("<id>","Audit ID").option("--url <s>","URL").option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n={};if(e.url&&(n.url=e.url),e.metadata&&(n.metadata=p("metadata",e.metadata)),!Object.keys(n).length)throw new m("No updates specified");let g=await o(Xe,{id:t,input:n});c("Audit updated"),s(e,g.headshotmarketingUpdateSEOAudit);}catch(n){r(n);}}),i.command("delete-audit").description("Delete an SEO audit (soft delete)").argument("<id>","Audit ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await o(Qe,{id:t});if(!n.headshotmarketingDeleteSEOAudit)throw new m(`Audit ${t} could not be deleted`);c(`Audit ${t} deleted`),s(e,{deleted:n.headshotmarketingDeleteSEOAudit});}catch(n){r(n);}}),i.command("overview").description("Aggregated SEO overview metrics for the workspace").option("-f, --format <format>","Output format").action(async t=>{try{let e=await o(Ze);s(t,e.headshotmarketingSEOOverview);}catch(e){r(e);}});}function gn(u,i){return {limit:u??50,offset:i??0}}function Ya(u){let i=u.command("builder").description("Headshotmarketing landing-page builder");i.command("pages").description("List landing pages").option("--status <s>","Filter by status").option("--campaign <id>","Filter by campaign ID").option("--query <q>","Free-text search").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("-f, --format <format>","Output format").action(async a=>{try{let t={};a.status&&(t.status=a.status.toUpperCase()),a.campaign&&(t.campaignId=a.campaign),a.query&&(t.search=a.query);let e=await o(ta,{filter:t,pagination:gn(a.limit,a.offset)});s(a,e.headshotmarketingLandingPages.items,{headers:["ID","Title","Slug","Status","Views","Conversions"],rows:e.headshotmarketingLandingPages.items.map(n=>[f(n.id,12),n.title,n.slug,n.status,String(n.viewCount??0),String(n.conversionCount??0)])});}catch(t){r(t);}}),i.command("page").description("Get a landing page by id").argument("<id>","Landing page ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(ea,{id:a});if(!e.headshotmarketingLandingPage)throw new m(`Landing page ${a} not found`);s(t,e.headshotmarketingLandingPage);}catch(e){r(e);}}),i.command("page-by-slug").description("Get a landing page by its slug").argument("<slug>","Landing page slug").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(aa,{slug:a});if(!e.headshotmarketingLandingPageBySlug)throw new m(`Landing page with slug "${a}" not found`);s(t,e.headshotmarketingLandingPageBySlug);}catch(e){r(e);}}),i.command("create-page").description("Create a landing page").requiredOption("--title <s>","Title").requiredOption("--slug <s>","Slug").option("--description <s>","Description").option("--campaign <id>","Campaign ID").option("--template-id <s>","Template ID").option("--seo-title <s>","SEO title").option("--seo-description <s>","SEO description").option("--og-image-url <s>","OG image URL").option("--favicon-url <s>","Favicon URL").option("--custom-css <s>","Custom CSS").option("--custom-js <s>","Custom JS").option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async a=>{try{let t={title:a.title,slug:a.slug};a.description&&(t.description=a.description),a.campaign&&(t.campaignId=a.campaign),a.templateId&&(t.templateId=a.templateId),a.seoTitle&&(t.seoTitle=a.seoTitle),a.seoDescription&&(t.seoDescription=a.seoDescription),a.ogImageUrl&&(t.ogImageUrl=a.ogImageUrl),a.faviconUrl&&(t.faviconUrl=a.faviconUrl),a.customCss&&(t.customCss=a.customCss),a.customJs&&(t.customJs=a.customJs),a.metadata&&(t.metadata=p("metadata",a.metadata));let e=await o(na,{input:t});c(`Landing page created: ${e.headshotmarketingCreateLandingPage.slug}`),s(a,e.headshotmarketingCreateLandingPage);}catch(t){r(t);}}),i.command("update-page").description("Update a landing page").argument("<id>","Landing page ID").option("--title <s>","Title").option("--slug <s>","Slug").option("--status <s>","Status").option("--description <s>","Description").option("--seo-title <s>","SEO title").option("--seo-description <s>","SEO description").option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e={};if(t.title&&(e.title=t.title),t.slug&&(e.slug=t.slug),t.status&&(e.status=t.status.toUpperCase()),t.description!==void 0&&(e.description=t.description),t.seoTitle&&(e.seoTitle=t.seoTitle),t.seoDescription&&(e.seoDescription=t.seoDescription),t.metadata&&(e.metadata=p("metadata",t.metadata)),!Object.keys(e).length)throw new m("No updates specified");let n=await o(ia,{id:a,input:e});c("Landing page updated"),s(t,n.headshotmarketingUpdateLandingPage);}catch(e){r(e);}}),i.command("delete-page").description("Delete a landing page (soft delete)").argument("<id>","Landing page ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(oa,{id:a});if(!e.headshotmarketingDeleteLandingPage)throw new m(`Landing page ${a} could not be deleted`);c(`Landing page ${a} deleted`),s(t,{deleted:e.headshotmarketingDeleteLandingPage});}catch(e){r(e);}}),i.command("publish-page").description("Publish a landing page").argument("<id>","Landing page ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(ra,{id:a});c(`Landing page published: ${e.headshotmarketingPublishLandingPage.status}`),s(t,e.headshotmarketingPublishLandingPage);}catch(e){r(e);}}),i.command("unpublish-page").description("Unpublish a landing page").argument("<id>","Landing page ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(sa,{id:a});c(`Landing page unpublished: ${e.headshotmarketingUnpublishLandingPage.status}`),s(t,e.headshotmarketingUnpublishLandingPage);}catch(e){r(e);}}),i.command("add-section").description("Add a section to a landing page").requiredOption("--page <id>","Landing page ID").requiredOption("--type <t>","HERO|FEATURES|CTA|TESTIMONIALS|PRICING|FAQ|FORM|GALLERY|VIDEO|STATS|TEAM|FOOTER|TEXT|CUSTOM").option("--title <s>","Title").option("--subtitle <s>","Subtitle").option("--content <json>","Content JSON").option("--background-color <s>","Background color").option("--background-image-url <s>","Background image URL").option("--settings <json>","Settings JSON").option("--sort-order <n>","Sort order",d).option("--visible <bool>","Visible flag",h).option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async a=>{try{let t={landingPageId:a.page,type:a.type.toUpperCase()};a.title&&(t.title=a.title),a.subtitle&&(t.subtitle=a.subtitle),a.content&&(t.content=p("content",a.content)),a.backgroundColor&&(t.backgroundColor=a.backgroundColor),a.backgroundImageUrl&&(t.backgroundImageUrl=a.backgroundImageUrl),a.settings&&(t.settings=p("settings",a.settings)),a.sortOrder!==void 0&&(t.sortOrder=a.sortOrder),a.visible!==void 0&&(t.isVisible=a.visible),a.metadata&&(t.metadata=p("metadata",a.metadata));let e=await o(da,{input:t});c(`Section added: ${e.headshotmarketingAddLandingPageSection.id}`),s(a,e.headshotmarketingAddLandingPageSection);}catch(t){r(t);}}),i.command("update-section").description("Update a landing page section").argument("<id>","Section ID").option("--type <t>","Section type").option("--title <s>","Title").option("--subtitle <s>","Subtitle").option("--content <json>","Content JSON").option("--sort-order <n>","Sort order",d).option("--visible <bool>","Visible flag",h).option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e={};if(t.type&&(e.type=t.type.toUpperCase()),t.title!==void 0&&(e.title=t.title),t.subtitle!==void 0&&(e.subtitle=t.subtitle),t.content&&(e.content=p("content",t.content)),t.sortOrder!==void 0&&(e.sortOrder=t.sortOrder),t.visible!==void 0&&(e.isVisible=t.visible),t.metadata&&(e.metadata=p("metadata",t.metadata)),!Object.keys(e).length)throw new m("No updates specified");let n=await o(ca,{id:a,input:e});c("Section updated"),s(t,n.headshotmarketingUpdateLandingPageSection);}catch(e){r(e);}}),i.command("remove-section").description("Remove a section from a landing page").argument("<id>","Section ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(ma,{id:a});if(!e.headshotmarketingRemoveLandingPageSection)throw new m(`Section ${a} could not be removed`);c(`Section ${a} removed`),s(t,{removed:e.headshotmarketingRemoveLandingPageSection});}catch(e){r(e);}}),i.command("reorder-sections").description("Reorder sections within a landing page").requiredOption("--page <id>","Landing page ID").requiredOption("--section-ids <csv>","Ordered comma-separated section IDs",l).option("-f, --format <format>","Output format").action(async a=>{try{let t={landingPageId:a.page,sectionIds:a.sectionIds},e=await o(pa,{input:t});c("Sections reordered"),s(a,e.headshotmarketingReorderLandingPageSections);}catch(t){r(t);}});}function Xa(u){let i=u.command("workflows").description("Headshotmarketing automation workflows");i.command("list").description("List workflows").option("--status <s>","Filter by status").option("--trigger-type <t>","Filter by trigger type").option("--enabled <bool>","Filter by enabled flag",h).option("--query <q>","Free-text search").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("-f, --format <format>","Output format").action(async a=>{try{let t={limit:a.limit,offset:a.offset};a.status&&(t.status=a.status.toUpperCase()),a.triggerType&&(t.triggerType=a.triggerType.toUpperCase()),a.enabled!==void 0&&(t.isEnabled=a.enabled),a.query&&(t.search=a.query);let e=await o(ua,{filter:t});s(a,e.headshotmarketingWorkflows.items,{headers:["ID","Name","Status","Trigger","Enabled","Runs"],rows:e.headshotmarketingWorkflows.items.map(n=>[f(n.id,12),n.name,n.status,n.triggerType,n.isEnabled?"yes":"no",String(n.executionCount??0)])});}catch(t){r(t);}}),i.command("get").description("Get a workflow by id").argument("<id>","Workflow ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(ga,{id:a});if(!e.headshotmarketingWorkflow)throw new m(`Workflow ${a} not found`);s(t,e.headshotmarketingWorkflow);}catch(e){r(e);}}),i.command("create").description("Create a workflow").requiredOption("--name <s>","Workflow name").requiredOption("--trigger-type <t>","MANUAL|SCHEDULE|EVENT|WEBHOOK|CONDITION").requiredOption("--steps <json>","Steps JSON").option("--description <s>","Description").option("--status <s>","Status").option("--enabled <bool>","Enabled flag",h).option("--trigger-config <json>","Trigger config JSON").option("--variables <json>","Variables JSON").option("--max-retries <n>","Max retries",d).option("--timeout-seconds <n>","Timeout seconds",d).option("--tags <csv>","Comma-separated tags",l).option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async a=>{try{let t={name:a.name,triggerType:a.triggerType.toUpperCase(),steps:p("steps",a.steps)};a.description&&(t.description=a.description),a.status&&(t.status=a.status.toUpperCase()),a.enabled!==void 0&&(t.isEnabled=a.enabled),a.triggerConfig&&(t.triggerConfig=p("trigger-config",a.triggerConfig)),a.variables&&(t.variables=p("variables",a.variables)),a.maxRetries!==void 0&&(t.maxRetries=a.maxRetries),a.timeoutSeconds!==void 0&&(t.timeoutSeconds=a.timeoutSeconds),a.tags&&(t.tags=a.tags),a.metadata&&(t.metadata=p("metadata",a.metadata));let e=await o(la,{input:t});c(`Workflow created: ${e.createHeadshotmarketingWorkflow.name}`),s(a,e.createHeadshotmarketingWorkflow);}catch(t){r(t);}}),i.command("update").description("Update a workflow").argument("<id>","Workflow ID").option("--name <s>","Workflow name").option("--status <s>","Status").option("--trigger-type <t>","Trigger type").option("--enabled <bool>","Enabled flag",h).option("--steps <json>","Steps JSON").option("--variables <json>","Variables JSON").option("--max-retries <n>","Max retries",d).option("--timeout-seconds <n>","Timeout seconds",d).option("--tags <csv>","Comma-separated tags",l).option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e={};if(t.name&&(e.name=t.name),t.status&&(e.status=t.status.toUpperCase()),t.triggerType&&(e.triggerType=t.triggerType.toUpperCase()),t.enabled!==void 0&&(e.isEnabled=t.enabled),t.steps&&(e.steps=p("steps",t.steps)),t.variables&&(e.variables=p("variables",t.variables)),t.maxRetries!==void 0&&(e.maxRetries=t.maxRetries),t.timeoutSeconds!==void 0&&(e.timeoutSeconds=t.timeoutSeconds),t.tags&&(e.tags=t.tags),t.metadata&&(e.metadata=p("metadata",t.metadata)),!Object.keys(e).length)throw new m("No updates specified");let n=await o(fa,{id:a,input:e});c("Workflow updated"),s(t,n.updateHeadshotmarketingWorkflow);}catch(e){r(e);}}),i.command("delete").description("Delete a workflow (soft delete)").argument("<id>","Workflow ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(ha,{id:a});if(!e.deleteHeadshotmarketingWorkflow)throw new m(`Workflow ${a} could not be deleted`);c(`Workflow ${a} deleted`),s(t,{deleted:e.deleteHeadshotmarketingWorkflow});}catch(e){r(e);}}),i.command("trigger").description("Trigger a workflow execution manually").argument("<workflowId>","Workflow ID").option("--input-data <json>","Input data JSON").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e={workflowId:a};t.inputData&&(e.inputData=p("input-data",t.inputData));let n=await o(Ea,{input:e});c(`Workflow triggered: ${n.triggerHeadshotmarketingWorkflow.id}`),s(t,n.triggerHeadshotmarketingWorkflow);}catch(e){r(e);}}),i.command("executions").description("List workflow executions").option("--workflow <id>","Filter by workflow ID").option("--status <s>","Filter by status").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("-f, --format <format>","Output format").action(async a=>{try{let t={limit:a.limit,offset:a.offset};a.workflow&&(t.workflowId=a.workflow),a.status&&(t.status=a.status.toUpperCase());let e=await o(Ia,{filter:t});s(a,e.headshotmarketingWorkflowExecutions.items,{headers:["ID","Workflow","Status","Step","Total"],rows:e.headshotmarketingWorkflowExecutions.items.map(n=>[f(n.id,12),f(n.workflowId,12),n.status,String(n.currentStep??0),String(n.totalSteps??0)])});}catch(t){r(t);}}),i.command("execution").description("Get a workflow execution by id").argument("<id>","Execution ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(ka,{id:a});if(!e.headshotmarketingWorkflowExecution)throw new m(`Execution ${a} not found`);s(t,e.headshotmarketingWorkflowExecution);}catch(e){r(e);}}),i.command("cancel-execution").description("Cancel a running workflow execution").argument("<id>","Execution ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(ya,{id:a});c(`Execution cancelled: ${e.cancelHeadshotmarketingWorkflowExecution.status}`),s(t,e.cancelHeadshotmarketingWorkflowExecution);}catch(e){r(e);}});}function Qa(u,i){return {limit:u??50,offset:i??0}}function Za(u){let i=u.command("analytics").description("Headshotmarketing analytics, reports & dashboards");i.command("dashboard").description("Aggregated dashboard metrics (KPIs, goals, real-time stats)").option("--start <iso>","Date range start (ISO)").option("--end <iso>","Date range end (ISO)").option("-f, --format <format>","Output format").action(async a=>{try{let t=a.start&&a.end?{start:a.start,end:a.end}:void 0,e=await o(Ca,{dateRange:t});s(a,e.headshotmarketingDashboardMetrics);}catch(t){r(t);}}),i.command("campaign").description("Campaign analytics for a specific campaign and date range").argument("<campaignId>","Campaign ID").option("--start <iso>","Date range start (ISO)").option("--end <iso>","Date range end (ISO)").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=t.start&&t.end?{start:t.start,end:t.end}:void 0,n=await o(Aa,{campaignId:a,dateRange:e});s(t,n.headshotmarketingCampaignAnalytics.items);}catch(e){r(e);}}),i.command("channels").description("Channel performance data for a date range").requiredOption("--start <iso>","Date range start (ISO)").requiredOption("--end <iso>","Date range end (ISO)").option("-f, --format <format>","Output format").action(async a=>{try{let t=await o(wa,{dateRange:{start:a.start,end:a.end}});s(a,t.headshotmarketingChannelPerformance.items);}catch(t){r(t);}}),i.command("funnel").description("Marketing funnel stage data").option("-f, --format <format>","Output format").action(async a=>{try{let t=await o(Ta);s(a,t.headshotmarketingFunnelData);}catch(t){r(t);}}),i.command("time-series").description("Time series data for a specific metric over a date range").requiredOption("--metric <m>","IMPRESSIONS|CLICKS|CONVERSIONS|COST|REVENUE|LEADS|CTR|CPC|CPM|ROAS|ENGAGEMENT_RATE|BOUNCE_RATE|SESSIONS|PAGE_VIEWS").requiredOption("--start <iso>","Date range start (ISO)").requiredOption("--end <iso>","Date range end (ISO)").option("-f, --format <format>","Output format").action(async a=>{try{let t=await o(Sa,{metric:a.metric.toUpperCase(),dateRange:{start:a.start,end:a.end}});s(a,t.headshotmarketingTimeSeriesData);}catch(t){r(t);}}),i.command("content-performance").description("Aggregated content performance metrics").option("-f, --format <format>","Output format").action(async a=>{try{let t=await o(Da);s(a,t.headshotmarketingContentPerformance);}catch(t){r(t);}}),i.command("record-campaign").description("Record campaign analytics data").requiredOption("--campaign <id>","Campaign ID").requiredOption("--date <iso>","Date (ISO)").option("--impressions <n>","Impressions",d).option("--clicks <n>","Clicks",d).option("--conversions <n>","Conversions",d).option("--leads <n>","Leads",d).option("--cost <n>","Cost",d).option("--revenue <n>","Revenue",d).option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async a=>{try{let t={campaignId:a.campaign,date:a.date};a.impressions!==void 0&&(t.impressions=a.impressions),a.clicks!==void 0&&(t.clicks=a.clicks),a.conversions!==void 0&&(t.conversions=a.conversions),a.leads!==void 0&&(t.leads=a.leads),a.cost!==void 0&&(t.cost=a.cost),a.revenue!==void 0&&(t.revenue=a.revenue),a.metadata&&(t.metadata=p("metadata",a.metadata));let e=await o(Oa,{input:t});c("Campaign analytics recorded"),s(a,e.headshotmarketingRecordCampaignAnalytics);}catch(t){r(t);}}),i.command("record-channel").description("Record channel performance data").requiredOption("--channel <s>","Channel").requiredOption("--date <iso>","Date (ISO)").option("--impressions <n>","Impressions",d).option("--clicks <n>","Clicks",d).option("--conversions <n>","Conversions",d).option("--leads <n>","Leads",d).option("--cost <n>","Cost",d).option("--revenue <n>","Revenue",d).option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async a=>{try{let t={channel:a.channel,date:a.date};a.impressions!==void 0&&(t.impressions=a.impressions),a.clicks!==void 0&&(t.clicks=a.clicks),a.conversions!==void 0&&(t.conversions=a.conversions),a.leads!==void 0&&(t.leads=a.leads),a.cost!==void 0&&(t.cost=a.cost),a.revenue!==void 0&&(t.revenue=a.revenue),a.metadata&&(t.metadata=p("metadata",a.metadata));let e=await o(ba,{input:t});c("Channel performance recorded"),s(a,e.headshotmarketingRecordChannelPerformance);}catch(t){r(t);}}),i.command("reports").description("List reports").option("--type <t>","Filter by type").option("--status <s>","Filter by status").option("--query <q>","Free-text search").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("-f, --format <format>","Output format").action(async a=>{try{let t={};a.type&&(t.type=a.type.toUpperCase()),a.status&&(t.status=a.status.toUpperCase()),a.query&&(t.search=a.query);let e=await o(Ra,{filter:t,pagination:Qa(a.limit,a.offset)});s(a,e.headshotmarketingReports.items,{headers:["ID","Name","Type","Status"],rows:e.headshotmarketingReports.items.map(n=>[f(n.id,12),n.name,n.type,n.status])});}catch(t){r(t);}}),i.command("report").description("Get a report by id").argument("<id>","Report ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(va,{id:a});if(!e.headshotmarketingReport)throw new m(`Report ${a} not found`);s(t,e.headshotmarketingReport);}catch(e){r(e);}}),i.command("create-report").description("Create a report").requiredOption("--name <s>","Report name").requiredOption("--type <t>","CAMPAIGN_PERFORMANCE|CHANNEL_ANALYSIS|CONTENT_PERFORMANCE|AUDIENCE_INSIGHTS|ROI_SUMMARY|FUNNEL_ANALYSIS|CUSTOM").option("--description <s>","Description").option("--date-range-start <iso>","Date range start (ISO)").option("--date-range-end <iso>","Date range end (ISO)").option("--schedule-expression <s>","Schedule expression (cron)").option("--configuration <json>","Configuration JSON").option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async a=>{try{let t={name:a.name,type:a.type.toUpperCase()};a.description&&(t.description=a.description),a.dateRangeStart&&(t.dateRangeStart=a.dateRangeStart),a.dateRangeEnd&&(t.dateRangeEnd=a.dateRangeEnd),a.scheduleExpression&&(t.scheduleExpression=a.scheduleExpression),a.configuration&&(t.configuration=p("configuration",a.configuration)),a.metadata&&(t.metadata=p("metadata",a.metadata));let e=await o(Na,{input:t});c(`Report created: ${e.headshotmarketingCreateReport.name}`),s(a,e.headshotmarketingCreateReport);}catch(t){r(t);}}),i.command("update-report").description("Update a report").argument("<id>","Report ID").option("--name <s>","Report name").option("--type <t>","Report type").option("--status <s>","Status").option("--description <s>","Description").option("--schedule-expression <s>","Schedule expression (cron)").option("--configuration <json>","Configuration JSON").option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e={};if(t.name&&(e.name=t.name),t.type&&(e.type=t.type.toUpperCase()),t.status&&(e.status=t.status.toUpperCase()),t.description!==void 0&&(e.description=t.description),t.scheduleExpression&&(e.scheduleExpression=t.scheduleExpression),t.configuration&&(e.configuration=p("configuration",t.configuration)),t.metadata&&(e.metadata=p("metadata",t.metadata)),!Object.keys(e).length)throw new m("No updates specified");let n=await o(La,{id:a,input:e});c("Report updated"),s(t,n.headshotmarketingUpdateReport);}catch(e){r(e);}}),i.command("delete-report").description("Delete a report (soft delete)").argument("<id>","Report ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(Pa,{id:a});if(!e.headshotmarketingDeleteReport)throw new m(`Report ${a} could not be deleted`);c(`Report ${a} deleted`),s(t,{deleted:e.headshotmarketingDeleteReport});}catch(e){r(e);}}),i.command("dashboards").description("List dashboard configurations").option("--default <bool>","Filter by default flag",h).option("--query <q>","Free-text search").option("--limit <n>","Page size",d,50).option("--offset <n>","Offset",d,0).option("-f, --format <format>","Output format").action(async a=>{try{let t={};a.default!==void 0&&(t.isDefault=a.default),a.query&&(t.search=a.query);let e=await o(_a,{filter:t,pagination:Qa(a.limit,a.offset)});s(a,e.headshotmarketingDashboardConfigs.items,{headers:["ID","Name","Default"],rows:e.headshotmarketingDashboardConfigs.items.map(n=>[f(n.id,12),n.name,n.isDefault?"yes":"no"])});}catch(t){r(t);}}),i.command("dashboard-config").description("Get a dashboard configuration by id").argument("<id>","Dashboard config ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o($a,{id:a});if(!e.headshotmarketingDashboardConfig)throw new m(`Dashboard config ${a} not found`);s(t,e.headshotmarketingDashboardConfig);}catch(e){r(e);}}),i.command("create-dashboard").description("Create a dashboard configuration").requiredOption("--name <s>","Dashboard name").requiredOption("--layout <json>","Layout JSON").requiredOption("--widgets <json>","Widgets JSON").option("--description <s>","Description").option("--default <bool>","Default flag",h).option("--date-range-preset <p>","Date range preset").option("--filters <json>","Filters JSON").option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async a=>{try{let t={name:a.name,layout:p("layout",a.layout),widgets:p("widgets",a.widgets)};a.description&&(t.description=a.description),a.default!==void 0&&(t.isDefault=a.default),a.dateRangePreset&&(t.dateRangePreset=a.dateRangePreset.toUpperCase()),a.filters&&(t.filters=p("filters",a.filters)),a.metadata&&(t.metadata=p("metadata",a.metadata));let e=await o(xa,{input:t});c(`Dashboard created: ${e.headshotmarketingCreateDashboardConfig.name}`),s(a,e.headshotmarketingCreateDashboardConfig);}catch(t){r(t);}}),i.command("update-dashboard").description("Update a dashboard configuration").argument("<id>","Dashboard config ID").option("--name <s>","Dashboard name").option("--description <s>","Description").option("--default <bool>","Default flag",h).option("--layout <json>","Layout JSON").option("--widgets <json>","Widgets JSON").option("--date-range-preset <p>","Date range preset").option("--filters <json>","Filters JSON").option("--metadata <json>","Metadata JSON").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e={};if(t.name&&(e.name=t.name),t.description!==void 0&&(e.description=t.description),t.default!==void 0&&(e.isDefault=t.default),t.layout&&(e.layout=p("layout",t.layout)),t.widgets&&(e.widgets=p("widgets",t.widgets)),t.dateRangePreset&&(e.dateRangePreset=t.dateRangePreset.toUpperCase()),t.filters&&(e.filters=p("filters",t.filters)),t.metadata&&(e.metadata=p("metadata",t.metadata)),!Object.keys(e).length)throw new m("No updates specified");let n=await o(Ha,{id:a,input:e});c("Dashboard updated"),s(t,n.headshotmarketingUpdateDashboardConfig);}catch(e){r(e);}}),i.command("delete-dashboard").description("Delete a dashboard configuration (soft delete)").argument("<id>","Dashboard config ID").option("-f, --format <format>","Output format").action(async(a,t)=>{try{let e=await o(Ua,{id:a});if(!e.headshotmarketingDeleteDashboardConfig)throw new m(`Dashboard config ${a} could not be deleted`);c(`Dashboard config ${a} deleted`),s(t,{deleted:e.headshotmarketingDeleteDashboardConfig});}catch(e){r(e);}});}var ln={id:"headshotmarketing",version:"1.0.0",displayName:"Headshotmarketing",dependsOn:["auth","workspaces"],register(u,i){b(i);let a=u.command("headshotmarketing").description("Headshotmarketing marketing operations platform");qa(a),Fa(a),Ma(a),Ga(a),Wa(a),Va(a),Ba(a),Ja(a),za(a),Ya(a),Xa(a),Za(a);}},Co=ln;module.exports=Co;