@burdenoff/cli-sdk 2026.1031.1 → 2026.1101.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/dist/{chunk-SQSFZFQZ.js → chunk-W4JZR7RJ.js} +1 -1
  2. package/dist/{chunk-UAFYTYK6.js → chunk-YIY5IDXQ.js} +5 -5
  3. package/dist/core/index.cjs +4 -4
  4. package/dist/core/index.js +1 -1
  5. package/dist/index.cjs +4 -4
  6. package/dist/index.js +1 -1
  7. package/dist/modules/adaptercloud/index.js +1 -1
  8. package/dist/modules/artistrybase/index.js +1 -1
  9. package/dist/modules/assethandler/index.js +1 -1
  10. package/dist/modules/atheletebridge/index.js +1 -1
  11. package/dist/modules/auth/index.cjs +9 -9
  12. package/dist/modules/auth/index.js +13 -13
  13. package/dist/modules/billing/index.cjs +1 -1
  14. package/dist/modules/billing/index.js +1 -1
  15. package/dist/modules/brainyrich/index.js +1 -1
  16. package/dist/modules/buildmyiq/index.cjs +3 -3
  17. package/dist/modules/buildmyiq/index.js +1 -1
  18. package/dist/modules/channels/index.js +1 -1
  19. package/dist/modules/collabkin/index.js +1 -1
  20. package/dist/modules/comradecircle/index.js +1 -1
  21. package/dist/modules/conversations/index.js +1 -1
  22. package/dist/modules/coolandlovely/index.js +1 -1
  23. package/dist/modules/cosmicintersection/index.js +1 -1
  24. package/dist/modules/crewfoundry/index.js +1 -1
  25. package/dist/modules/devportal/index.cjs +3 -3
  26. package/dist/modules/devportal/index.js +1 -1
  27. package/dist/modules/ecoimpacthub/index.js +1 -1
  28. package/dist/modules/eventfullymanaged/index.cjs +4 -4
  29. package/dist/modules/eventfullymanaged/index.js +1 -1
  30. package/dist/modules/export/index.js +1 -1
  31. package/dist/modules/files/index.js +1 -1
  32. package/dist/modules/fluidgrids/index.js +1 -1
  33. package/dist/modules/ggnomad/index.cjs +16 -16
  34. package/dist/modules/ggnomad/index.js +21 -21
  35. package/dist/modules/govcitizenhub/index.js +1 -1
  36. package/dist/modules/groups/index.js +1 -1
  37. package/dist/modules/headshotmarketing/index.js +1 -1
  38. package/dist/modules/hookmovies/index.js +1 -1
  39. package/dist/modules/housingvista/index.js +1 -1
  40. package/dist/modules/integrations/index.js +1 -1
  41. package/dist/modules/intelwatchtower/index.js +1 -1
  42. package/dist/modules/kadaikodi/index.js +1 -1
  43. package/dist/modules/labsofscience/index.js +1 -1
  44. package/dist/modules/manufacturedops/index.js +1 -1
  45. package/dist/modules/movethewheels/index.js +1 -1
  46. package/dist/modules/mybodyshield/index.cjs +52 -28
  47. package/dist/modules/mybodyshield/index.js +71 -47
  48. package/dist/modules/notifications/index.js +1 -1
  49. package/dist/modules/organizations/index.js +1 -1
  50. package/dist/modules/planmagnet/index.js +1 -1
  51. package/dist/modules/products/index.js +1 -1
  52. package/dist/modules/proserviceworld/index.js +1 -1
  53. package/dist/modules/rbac/index.js +1 -1
  54. package/dist/modules/sandbox/index.js +1 -1
  55. package/dist/modules/scheduler/index.js +1 -1
  56. package/dist/modules/security/index.cjs +3 -3
  57. package/dist/modules/security/index.js +1 -1
  58. package/dist/modules/semanticfed/index.js +1 -1
  59. package/dist/modules/store/index.cjs +3 -3
  60. package/dist/modules/store/index.js +1 -1
  61. package/dist/modules/subscriberbot/index.js +1 -1
  62. package/dist/modules/support/index.js +1 -1
  63. package/dist/modules/tags/index.cjs +2 -2
  64. package/dist/modules/tags/index.js +1 -1
  65. package/dist/modules/technospam/index.js +1 -1
  66. package/dist/modules/theculturepost/index.js +1 -1
  67. package/dist/modules/theglobalfuel/index.js +1 -1
  68. package/dist/modules/timecampus/index.cjs +3 -3
  69. package/dist/modules/timecampus/index.js +1 -1
  70. package/dist/modules/tours/index.js +1 -1
  71. package/dist/modules/vibecontrols/index.js +1 -1
  72. package/dist/modules/workspaces/index.js +1 -1
  73. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- 'use strict';require('graphql-request'),require('cross-fetch'),require('commander');var p=class extends Error{exitCode;hint;constructor(n,e){super(n),this.name="CliUserError",this.exitCode=e?.exitCode??1,this.hint=e?.hint;}},h=class extends p{constructor(n,e){super(n,{exitCode:2,hint:e?.hint??"Run `<product> auth login` to authenticate."}),this.name="CliAuthError";}},b=class extends Error{cause;constructor(n,e){super(n),this.name="CliInternalError",this.cause=e;}};var C=null;function E(o){C=o;}function I(){if(!C)throw new b("vibecontrols module helpers used before setHelpersContext was called");return C}function De(){let o=I();if(!o.auth.isAuthenticated())throw new h("Authentication required.",{hint:`Run \`${o.productName} auth login\` to authenticate.`})}async function c(o,n){return De(),I().gql.workspace.request(o,n)}async function w(o,n){return I().gql.workspaceAuthOnly.request(o,n)}function s(o){let n=o instanceof Error?o.message:String(o);throw new p(n)}function a(o,n,e){I().output.formatAndOutput(o,n,e);}function d(o){I().output.printSuccess(o);}function y(o){return I().output.formatDate(o)}function m(o,n){return I().output.truncate(o,n)}var S=`
1
+ 'use strict';require('graphql-request'),require('cross-fetch'),require('commander');var fs=require('fs');var E=`
2
2
  query MybListPrograms(
3
3
  $memberId: ID
4
4
  $status: MybProgramStatus
@@ -12,31 +12,35 @@
12
12
  pageInfo { cursor hasMore }
13
13
  }
14
14
  }
15
- `,x=`
15
+ `,O=`
16
16
  query MybProgram($id: ID!) {
17
17
  mybProgram(id: $id) {
18
18
  id memberId coachId name description goalType level phase status
19
19
  weeks daysPerWeek startDate endDate tags createdAt updatedAt workspaceId
20
20
  workouts {
21
- id name type dayOfWeek weekNumber orderIndex durationMin
21
+ items { id name type dayOfWeek weekNumber orderIndex durationMin }
22
+ pageInfo { cursor hasMore }
22
23
  }
23
24
  }
24
25
  }
25
- `,O=`
26
- query MybProgramWorkouts($programId: ID!) {
27
- mybProgramWorkouts(programId: $programId) {
26
+ `,D=`
27
+ query MybProgramWorkouts($programId: ID!, $pagination: PaginationInput) {
28
+ mybProgramWorkouts(programId: $programId, pagination: $pagination) {
29
+ items {
28
30
  id programId name description type dayOfWeek weekNumber durationMin
29
31
  orderIndex createdAt updatedAt workspaceId
32
+ }
33
+ pageInfo { cursor hasMore }
30
34
  }
31
35
  }
32
- `,D=`
36
+ `,v=`
33
37
  mutation MybCreateProgram($input: MybCreateProgramInput!) {
34
38
  mybCreateProgram(input: $input) {
35
39
  id memberId coachId name description goalType level phase status
36
40
  weeks daysPerWeek startDate endDate tags createdAt
37
41
  }
38
42
  }
39
- `,v=`
43
+ `,x=`
40
44
  mutation MybUpdateProgram($id: ID!, $input: MybUpdateProgramInput!) {
41
45
  mybUpdateProgram(id: $id, input: $input) {
42
46
  id name description goalType level phase status weeks daysPerWeek
@@ -49,25 +53,25 @@
49
53
  id name status phase updatedAt
50
54
  }
51
55
  }
52
- `,P=`
56
+ `,M=`
53
57
  mutation MybArchiveProgram($id: ID!) {
54
58
  mybArchiveProgram(id: $id)
55
59
  }
56
- `,M=`
60
+ `,L=`
57
61
  mutation MybAddWorkout($input: MybCreateWorkoutInput!) {
58
62
  mybAddWorkout(input: $input) {
59
63
  id programId name description type dayOfWeek weekNumber durationMin
60
64
  orderIndex createdAt workspaceId
61
65
  }
62
66
  }
63
- `,N=`
67
+ `,P=`
64
68
  mutation MybAddExercise($input: MybCreateExerciseInput!) {
65
69
  mybAddExercise(input: $input) {
66
70
  id workoutId name muscleGroup sets reps restSeconds targetWeight
67
71
  orderIndex instructions createdAt workspaceId
68
72
  }
69
73
  }
70
- `,L=`
74
+ `,N=`
71
75
  query MybListSessions(
72
76
  $programId: ID
73
77
  $status: MybSessionStatus
@@ -88,8 +92,8 @@
88
92
  completedAt caloriesBurned perceivedExertion notes createdAt updatedAt
89
93
  workspaceId
90
94
  sets {
91
- id exerciseName setNumber reps weight distanceM durationSec
92
- isPersonalRecord
95
+ items { id exerciseName setNumber reps weight distanceM durationSec isPersonalRecord }
96
+ pageInfo { cursor hasMore }
93
97
  }
94
98
  }
95
99
  }
@@ -107,13 +111,13 @@
107
111
  isPersonalRecord createdAt
108
112
  }
109
113
  }
110
- `,W=`
114
+ `,U=`
111
115
  mutation MybCompleteSession($id: ID!, $input: MybCompleteSessionInput!) {
112
116
  mybCompleteSession(id: $id, input: $input) {
113
117
  id status completedAt caloriesBurned perceivedExertion notes updatedAt
114
118
  }
115
119
  }
116
- `,U=`
120
+ `,W=`
117
121
  query MybListGoals(
118
122
  $memberId: ID
119
123
  $status: MybGoalStatus
@@ -179,7 +183,7 @@
179
183
  mybNutritionPlan(id: $id) {
180
184
  id memberId coachId name goalType calorieTarget proteinTarget carbsTarget
181
185
  fatTarget isActive startDate endDate notes createdAt updatedAt workspaceId
182
- meals { id name mealType calories proteinG carbsG fatG loggedAt }
186
+ meals { items { id name mealType calories proteinG carbsG fatG loggedAt } pageInfo { cursor hasMore } }
183
187
  }
184
188
  }
185
189
  `,z=`
@@ -203,14 +207,14 @@
203
207
  fatTarget isActive startDate endDate notes createdAt
204
208
  }
205
209
  }
206
- `,Q=`
210
+ `,X=`
207
211
  mutation MybUpdateNutritionPlan($id: ID!, $input: MybUpdateNutritionPlanInput!) {
208
212
  mybUpdateNutritionPlan(id: $id, input: $input) {
209
213
  id name goalType calorieTarget proteinTarget carbsTarget fatTarget
210
214
  startDate endDate notes updatedAt
211
215
  }
212
216
  }
213
- `,X=`
217
+ `,Q=`
214
218
  mutation MybActivateNutritionPlan($id: ID!) {
215
219
  mybActivateNutritionPlan(id: $id) {
216
220
  id name isActive updatedAt
@@ -241,24 +245,30 @@
241
245
  mutation MybDeleteMeal($id: ID!) {
242
246
  mybDeleteMeal(id: $id)
243
247
  }
244
- `,re=`
245
- query MybListRecoveryLogs($memberId: ID, $metric: MybRecoveryMetric) {
246
- mybListRecoveryLogs(memberId: $memberId, metric: $metric) {
248
+ `,ne=`
249
+ query MybListRecoveryLogs($memberId: ID, $metric: MybRecoveryMetric, $pagination: PaginationInput) {
250
+ mybListRecoveryLogs(memberId: $memberId, metric: $metric, pagination: $pagination) {
251
+ items {
247
252
  id memberId metric score sleepHours notes loggedAt createdAt updatedAt
248
253
  workspaceId
254
+ }
255
+ pageInfo { cursor hasMore }
249
256
  }
250
257
  }
251
- `,ne=`
258
+ `,re=`
252
259
  mutation MybLogRecovery($input: MybLogRecoveryInput!) {
253
260
  mybLogRecovery(input: $input) {
254
261
  id memberId metric score sleepHours notes loggedAt createdAt workspaceId
255
262
  }
256
263
  }
257
264
  `,oe=`
258
- query MybListCoaching($memberId: ID, $status: MybCoachingStatus) {
259
- mybListCoaching(memberId: $memberId, status: $status) {
265
+ query MybListCoaching($memberId: ID, $status: MybCoachingStatus, $pagination: PaginationInput) {
266
+ mybListCoaching(memberId: $memberId, status: $status, pagination: $pagination) {
267
+ items {
260
268
  id coachId memberId status specialty shareWorkouts shareNutrition
261
269
  shareMetrics notes startedAt endedAt createdAt updatedAt workspaceId
270
+ }
271
+ pageInfo { cursor hasMore }
262
272
  }
263
273
  }
264
274
  `,ie=`
@@ -268,14 +278,28 @@
268
278
  shareMetrics notes createdAt workspaceId
269
279
  }
270
280
  }
271
- `,se=`
281
+ `,ae=`
272
282
  mutation MybTransitionCoaching($id: ID!, $status: MybCoachingStatus!) {
273
283
  mybTransitionCoaching(id: $id, status: $status) {
274
284
  id coachId memberId status startedAt endedAt updatedAt
275
285
  }
276
286
  }
277
- `,ae=`
287
+ `,se=`
278
288
  query MybHealth {
279
289
  mybHealth
280
290
  }
281
- `;function i(o){let n=Number.parseInt(o,10);if(Number.isNaN(n))throw new p(`Expected an integer but got "${o}"`);return n}function l(o){let n=Number.parseFloat(o);if(Number.isNaN(n))throw new p(`Expected a number but got "${o}"`);return n}function k(o){return o.split(",").map(n=>n.trim()).filter(n=>n.length>0)}function ce(o){let n=o.command("programs").description("Mybodyshield training programs");n.command("list").description("List training programs").option("--member <id>","Filter by member ID").option("--status <s>","DRAFT|ACTIVE|COMPLETED|ARCHIVED").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let t=await c(S,{memberId:e.member,status:e.status?e.status.toUpperCase():void 0,pagination:{limit:e.limit,offset:e.offset}});a(e,t.mybListPrograms.items,{headers:["ID","Name","Goal","Level","Phase","Status"],rows:t.mybListPrograms.items.map(r=>[m(r.id,12),r.name,r.goalType,r.level,r.phase,r.status])});}catch(t){s(t);}}),n.command("get").description("Get a training program by id").argument("<id>","Program ID").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let r=await c(x,{id:e});if(!r.mybProgram)throw new p(`Program ${e} not found`);a(t,r.mybProgram);}catch(r){s(r);}}),n.command("workouts").description("List workouts for a program").argument("<programId>","Program ID").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let r=await c(O,{programId:e});a(t,r.mybProgramWorkouts,{headers:["ID","Name","Type","Day","Week","Duration"],rows:r.mybProgramWorkouts.map(g=>[m(g.id,12),g.name,g.type,g.dayOfWeek!=null?String(g.dayOfWeek):"-",g.weekNumber!=null?String(g.weekNumber):"-",g.durationMin!=null?String(g.durationMin):"-"])});}catch(r){s(r);}}),n.command("create").description("Create a training program").requiredOption("--name <name>","Program name").option("--member <id>","Member ID").option("--coach <id>","Coach ID").option("--description <s>","Description").option("--goal-type <t>","WEIGHT_LOSS|MUSCLE_GAIN|STRENGTH|ENDURANCE|MOBILITY|GENERAL_FITNESS").option("--level <l>","BEGINNER|INTERMEDIATE|ADVANCED|ELITE").option("--phase <p>","BUILD|PEAK|DELOAD|MAINTENANCE").option("--weeks <n>","Number of weeks",i).option("--days-per-week <n>","Days per week",i).option("--start-date <iso>","Start date (ISO)").option("--end-date <iso>","End date (ISO)").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async e=>{try{let t={name:e.name};e.member&&(t.memberId=e.member),e.coach&&(t.coachId=e.coach),e.description&&(t.description=e.description),e.goalType&&(t.goalType=e.goalType.toUpperCase()),e.level&&(t.level=e.level.toUpperCase()),e.phase&&(t.phase=e.phase.toUpperCase()),e.weeks!==void 0&&(t.weeks=e.weeks),e.daysPerWeek!==void 0&&(t.daysPerWeek=e.daysPerWeek),e.startDate&&(t.startDate=e.startDate),e.endDate&&(t.endDate=e.endDate),e.tags&&(t.tags=k(e.tags));let r=await c(D,{input:t});d(`Program created: ${r.mybCreateProgram.name}`),a(e,r.mybCreateProgram);}catch(t){s(t);}}),n.command("update").description("Update a training program").argument("<id>","Program ID").option("--name <name>","Program name").option("--description <s>","Description").option("--goal-type <t>","Goal type").option("--level <l>","Fitness level").option("--phase <p>","Program phase").option("--weeks <n>","Number of weeks",i).option("--days-per-week <n>","Days per week",i).option("--coach <id>","Coach ID").option("--start-date <iso>","Start date (ISO)").option("--end-date <iso>","End date (ISO)").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let r={};if(t.name&&(r.name=t.name),t.description!==void 0&&(r.description=t.description),t.goalType&&(r.goalType=t.goalType.toUpperCase()),t.level&&(r.level=t.level.toUpperCase()),t.phase&&(r.phase=t.phase.toUpperCase()),t.weeks!==void 0&&(r.weeks=t.weeks),t.daysPerWeek!==void 0&&(r.daysPerWeek=t.daysPerWeek),t.coach&&(r.coachId=t.coach),t.startDate&&(r.startDate=t.startDate),t.endDate&&(r.endDate=t.endDate),t.tags&&(r.tags=k(t.tags)),!Object.keys(r).length)throw new p("No updates specified");let g=await c(v,{id:e,input:r});d("Program updated"),a(t,g.mybUpdateProgram);}catch(r){s(r);}}),n.command("transition").description("Advance a program through its lifecycle").argument("<id>","Program ID").requiredOption("--status <s>","DRAFT|ACTIVE|COMPLETED|ARCHIVED").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let r=await c(R,{id:e,status:t.status.toUpperCase()});d(`Program transitioned to ${r.mybTransitionProgram.status}`),a(t,r.mybTransitionProgram);}catch(r){s(r);}}),n.command("archive").description("Archive a training program").argument("<id>","Program ID").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let r=await c(P,{id:e});d(r.mybArchiveProgram?"Program archived":"Program not archived"),a(t,{archived:r.mybArchiveProgram});}catch(r){s(r);}});}function de(o){let n=o.command("workouts").description("Mybodyshield workouts & exercises");n.command("add").description("Add a workout to a program").requiredOption("--program <id>","Program ID").requiredOption("--name <name>","Workout name").option("--description <s>","Description").option("--type <t>","STRENGTH|CARDIO|HIIT|MOBILITY|RECOVERY|YOGA").option("--day-of-week <n>","Day of week (0-6)",i).option("--week-number <n>","Week number",i).option("--duration-min <n>","Duration (minutes)",i).option("--order-index <n>","Order index",i).option("-f, --format <format>","Output format").action(async e=>{try{let t={programId:e.program,name:e.name};e.description&&(t.description=e.description),e.type&&(t.type=e.type.toUpperCase()),e.dayOfWeek!==void 0&&(t.dayOfWeek=e.dayOfWeek),e.weekNumber!==void 0&&(t.weekNumber=e.weekNumber),e.durationMin!==void 0&&(t.durationMin=e.durationMin),e.orderIndex!==void 0&&(t.orderIndex=e.orderIndex);let r=await c(M,{input:t});d(`Workout added: ${r.mybAddWorkout.name}`),a(e,r.mybAddWorkout);}catch(t){s(t);}}),n.command("add-exercise").description("Add an exercise to a workout").requiredOption("--workout <id>","Workout ID").requiredOption("--name <name>","Exercise name").option("--muscle-group <g>","CHEST|BACK|LEGS|SHOULDERS|ARMS|CORE|FULL_BODY").option("--sets <n>","Sets",i).option("--reps <n>","Reps",i).option("--rest-seconds <n>","Rest (seconds)",i).option("--target-weight <n>","Target weight",l).option("--order-index <n>","Order index",i).option("--instructions <s>","Instructions").option("--demo-file-id <id>","Demo file ID").option("-f, --format <format>","Output format").action(async e=>{try{let t={workoutId:e.workout,name:e.name};e.muscleGroup&&(t.muscleGroup=e.muscleGroup.toUpperCase()),e.sets!==void 0&&(t.sets=e.sets),e.reps!==void 0&&(t.reps=e.reps),e.restSeconds!==void 0&&(t.restSeconds=e.restSeconds),e.targetWeight!==void 0&&(t.targetWeight=e.targetWeight),e.orderIndex!==void 0&&(t.orderIndex=e.orderIndex),e.instructions&&(t.instructions=e.instructions),e.demoFileId&&(t.demoFileId=e.demoFileId);let r=await c(N,{input:t});d(`Exercise added: ${r.mybAddExercise.name}`),a(e,r.mybAddExercise);}catch(t){s(t);}});}function ue(o){let n=o.command("sessions").description("Mybodyshield workout sessions");n.command("list").description("List workout sessions").option("--program <id>","Filter by program ID").option("--status <s>","SCHEDULED|IN_PROGRESS|COMPLETED|SKIPPED").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let t=await c(L,{programId:e.program,status:e.status?e.status.toUpperCase():void 0,pagination:{limit:e.limit,offset:e.offset}});a(e,t.mybListSessions.items,{headers:["ID","Member","Status","Scheduled","Started"],rows:t.mybListSessions.items.map(r=>[m(r.id,12),m(r.memberId,12),r.status,y(r.scheduledFor),y(r.startedAt)])});}catch(t){s(t);}}),n.command("get").description("Get a workout session by id").argument("<id>","Session ID").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let r=await c($,{id:e});if(!r.mybSession)throw new p(`Session ${e} not found`);a(t,r.mybSession);}catch(r){s(r);}}),n.command("start").description("Start a workout session").option("--program <id>","Program ID").option("--workout <id>","Workout ID").option("--scheduled-for <iso>","Scheduled time (ISO)").option("--notes <s>","Notes").option("-f, --format <format>","Output format").action(async e=>{try{let t={};e.program&&(t.programId=e.program),e.workout&&(t.workoutId=e.workout),e.scheduledFor&&(t.scheduledFor=e.scheduledFor),e.notes&&(t.notes=e.notes);let r=await c(G,{input:t});d(`Session started: ${m(r.mybStartSession.id,12)}`),a(e,r.mybStartSession);}catch(t){s(t);}}),n.command("log-set").description("Log a set within a session").requiredOption("--session <id>","Session ID").requiredOption("--exercise-name <name>","Exercise name").option("--set-number <n>","Set number",i).option("--reps <n>","Reps",i).option("--weight <n>","Weight",l).option("--distance-m <n>","Distance (meters)",l).option("--duration-sec <n>","Duration (seconds)",i).option("--personal-record","Mark as a personal record").option("-f, --format <format>","Output format").action(async e=>{try{let t={sessionId:e.session,exerciseName:e.exerciseName};e.setNumber!==void 0&&(t.setNumber=e.setNumber),e.reps!==void 0&&(t.reps=e.reps),e.weight!==void 0&&(t.weight=e.weight),e.distanceM!==void 0&&(t.distanceM=e.distanceM),e.durationSec!==void 0&&(t.durationSec=e.durationSec),e.personalRecord&&(t.isPersonalRecord=!0);let r=await c(_,{input:t});d(`Set logged for ${r.mybLogSet.exerciseName}`),a(e,r.mybLogSet);}catch(t){s(t);}}),n.command("complete").description("Complete a workout session").argument("<id>","Session ID").option("--calories-burned <n>","Calories burned",i).option("--perceived-exertion <n>","Perceived exertion (1-10)",i).option("--notes <s>","Notes").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let r={};t.caloriesBurned!==void 0&&(r.caloriesBurned=t.caloriesBurned),t.perceivedExertion!==void 0&&(r.perceivedExertion=t.perceivedExertion),t.notes&&(r.notes=t.notes);let g=await c(W,{id:e,input:r});d("Session completed"),a(t,g.mybCompleteSession);}catch(r){s(r);}});}function pe(o){let n=o.command("goals").description("Mybodyshield fitness goals");n.command("list").description("List fitness goals").option("--member <id>","Filter by member ID").option("--status <s>","ACTIVE|ACHIEVED|PAUSED|ABANDONED").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let t=await c(U,{memberId:e.member,status:e.status?e.status.toUpperCase():void 0,pagination:{limit:e.limit,offset:e.offset}});a(e,t.mybListGoals.items,{headers:["ID","Title","Type","Status","Current","Target"],rows:t.mybListGoals.items.map(r=>[m(r.id,12),r.title,r.type,r.status,`${r.currentValue??0}${r.unit?` ${r.unit}`:""}`,`${r.targetValue??0}${r.unit?` ${r.unit}`:""}`])});}catch(t){s(t);}}),n.command("get").description("Get a goal by id").argument("<id>","Goal ID").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let r=await c(q,{id:e});if(!r.mybGoal)throw new p(`Goal ${e} not found`);a(t,r.mybGoal);}catch(r){s(r);}}),n.command("create").description("Create a fitness goal").requiredOption("--title <t>","Goal title").option("--member <id>","Member ID").option("--type <t>","WEIGHT_LOSS|MUSCLE_GAIN|STRENGTH|ENDURANCE|MOBILITY|GENERAL_FITNESS").option("--description <s>","Description").option("--target-value <n>","Target value",l).option("--baseline-value <n>","Baseline value",l).option("--unit <u>","Unit").option("--target-date <iso>","Target date (ISO)").option("-f, --format <format>","Output format").action(async e=>{try{let t={title:e.title};e.member&&(t.memberId=e.member),e.type&&(t.type=e.type.toUpperCase()),e.description&&(t.description=e.description),e.targetValue!==void 0&&(t.targetValue=e.targetValue),e.baselineValue!==void 0&&(t.baselineValue=e.baselineValue),e.unit&&(t.unit=e.unit),e.targetDate&&(t.targetDate=e.targetDate);let r=await c(F,{input:t});d(`Goal created: ${r.mybCreateGoal.title}`),a(e,r.mybCreateGoal);}catch(t){s(t);}}),n.command("update").description("Update a fitness goal").argument("<id>","Goal ID").option("--title <t>","Goal title").option("--type <t>","Goal type").option("--description <s>","Description").option("--target-value <n>","Target value",l).option("--current-value <n>","Current value",l).option("--baseline-value <n>","Baseline value",l).option("--unit <u>","Unit").option("--target-date <iso>","Target date (ISO)").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let r={};if(t.title&&(r.title=t.title),t.type&&(r.type=t.type.toUpperCase()),t.description!==void 0&&(r.description=t.description),t.targetValue!==void 0&&(r.targetValue=t.targetValue),t.currentValue!==void 0&&(r.currentValue=t.currentValue),t.baselineValue!==void 0&&(r.baselineValue=t.baselineValue),t.unit&&(r.unit=t.unit),t.targetDate&&(r.targetDate=t.targetDate),!Object.keys(r).length)throw new p("No updates specified");let g=await c(V,{id:e,input:r});d("Goal updated"),a(t,g.mybUpdateGoal);}catch(r){s(r);}}),n.command("achieve").description("Mark a goal as achieved").argument("<id>","Goal ID").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let r=await c(H,{id:e});d(`Goal achieved: ${r.mybAchieveGoal.title}`),a(t,r.mybAchieveGoal);}catch(r){s(r);}});}function me(o){let n=o.command("metrics").description("Mybodyshield body metrics");n.command("list").description("List body metrics").option("--member <id>","Filter by member ID").option("--type <t>","WEIGHT|BODY_FAT|CHEST|WAIST|HIPS|THIGH|ARM|RESTING_HEART_RATE").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let t=await c(B,{memberId:e.member,type:e.type?e.type.toUpperCase():void 0,pagination:{limit:e.limit,offset:e.offset}});a(e,t.mybListBodyMetrics.items,{headers:["ID","Type","Value","Unit","Measured"],rows:t.mybListBodyMetrics.items.map(r=>[m(r.id,12),r.type,String(r.value),r.unit,y(r.measuredAt)])});}catch(t){s(t);}}),n.command("record").description("Record a body metric").requiredOption("--type <t>","WEIGHT|BODY_FAT|CHEST|WAIST|HIPS|THIGH|ARM|RESTING_HEART_RATE").requiredOption("--value <n>","Measured value",l).option("--member <id>","Member ID").option("--unit <u>","Unit").option("--measured-at <iso>","Measured at (ISO)").option("--notes <s>","Notes").option("--photo-file-id <id>","Progress photo file ID").option("-f, --format <format>","Output format").action(async e=>{try{let t={type:e.type.toUpperCase(),value:e.value};e.member&&(t.memberId=e.member),e.unit&&(t.unit=e.unit),e.measuredAt&&(t.measuredAt=e.measuredAt),e.notes&&(t.notes=e.notes),e.photoFileId&&(t.photoFileId=e.photoFileId);let r=await c(j,{input:t});d(`Metric recorded: ${r.mybRecordBodyMetric.type}`),a(e,r.mybRecordBodyMetric);}catch(t){s(t);}});}function ge(o){let n=o.command("nutrition").description("Mybodyshield nutrition plans");n.command("get").description("Get a nutrition plan by id").argument("<id>","Plan ID").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let r=await c(Y,{id:e});if(!r.mybNutritionPlan)throw new p(`Nutrition plan ${e} not found`);a(t,r.mybNutritionPlan);}catch(r){s(r);}}),n.command("active").description("Get a member's active nutrition plan").option("--member <id>","Member ID").option("-f, --format <format>","Output format").action(async e=>{try{let t=await c(z,{memberId:e.member});if(!t.mybActiveNutritionPlan)throw new p("No active nutrition plan found");a(e,t.mybActiveNutritionPlan);}catch(t){s(t);}}),n.command("macros").description("Roll up a member's logged meals for a day against the active plan").option("--member <id>","Member ID").option("--date <iso>","Date (ISO)").option("-f, --format <format>","Output format").action(async e=>{try{let t=await c(K,{memberId:e.member,date:e.date});a(e,t.mybDailyMacros);}catch(t){s(t);}}),n.command("create").description("Create a nutrition plan").requiredOption("--name <name>","Plan name").option("--member <id>","Member ID").option("--coach <id>","Coach ID").option("--goal-type <t>","WEIGHT_LOSS|MUSCLE_GAIN|STRENGTH|ENDURANCE|MOBILITY|GENERAL_FITNESS").option("--calorie-target <n>","Calorie target",i).option("--protein-target <n>","Protein target (g)",i).option("--carbs-target <n>","Carbs target (g)",i).option("--fat-target <n>","Fat target (g)",i).option("--start-date <iso>","Start date (ISO)").option("--end-date <iso>","End date (ISO)").option("--notes <s>","Notes").option("-f, --format <format>","Output format").action(async e=>{try{let t={name:e.name};e.member&&(t.memberId=e.member),e.coach&&(t.coachId=e.coach),e.goalType&&(t.goalType=e.goalType.toUpperCase()),e.calorieTarget!==void 0&&(t.calorieTarget=e.calorieTarget),e.proteinTarget!==void 0&&(t.proteinTarget=e.proteinTarget),e.carbsTarget!==void 0&&(t.carbsTarget=e.carbsTarget),e.fatTarget!==void 0&&(t.fatTarget=e.fatTarget),e.startDate&&(t.startDate=e.startDate),e.endDate&&(t.endDate=e.endDate),e.notes&&(t.notes=e.notes);let r=await c(J,{input:t});d(`Nutrition plan created: ${r.mybCreateNutritionPlan.name}`),a(e,r.mybCreateNutritionPlan);}catch(t){s(t);}}),n.command("update").description("Update a nutrition plan").argument("<id>","Plan ID").option("--name <name>","Plan name").option("--goal-type <t>","Goal type").option("--calorie-target <n>","Calorie target",i).option("--protein-target <n>","Protein target (g)",i).option("--carbs-target <n>","Carbs target (g)",i).option("--fat-target <n>","Fat target (g)",i).option("--start-date <iso>","Start date (ISO)").option("--end-date <iso>","End date (ISO)").option("--notes <s>","Notes").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let r={};if(t.name&&(r.name=t.name),t.goalType&&(r.goalType=t.goalType.toUpperCase()),t.calorieTarget!==void 0&&(r.calorieTarget=t.calorieTarget),t.proteinTarget!==void 0&&(r.proteinTarget=t.proteinTarget),t.carbsTarget!==void 0&&(r.carbsTarget=t.carbsTarget),t.fatTarget!==void 0&&(r.fatTarget=t.fatTarget),t.startDate&&(r.startDate=t.startDate),t.endDate&&(r.endDate=t.endDate),t.notes!==void 0&&(r.notes=t.notes),!Object.keys(r).length)throw new p("No updates specified");let g=await c(Q,{id:e,input:r});d("Nutrition plan updated"),a(t,g.mybUpdateNutritionPlan);}catch(r){s(r);}}),n.command("activate").description("Activate a nutrition plan").argument("<id>","Plan ID").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let r=await c(X,{id:e});d(`Nutrition plan activated: ${r.mybActivateNutritionPlan.name}`),a(t,r.mybActivateNutritionPlan);}catch(r){s(r);}});}function le(o){let n=o.command("meals").description("Mybodyshield meal logs");n.command("list").description("List logged meals").option("--meal-type <t>","BREAKFAST|LUNCH|DINNER|SNACK").option("--plan <id>","Filter by nutrition plan ID").option("--limit <n>","Page size",i,50).option("--offset <n>","Offset",i,0).option("-f, --format <format>","Output format").action(async e=>{try{let t=await c(Z,{mealType:e.mealType?e.mealType.toUpperCase():void 0,planId:e.plan,pagination:{limit:e.limit,offset:e.offset}});a(e,t.mybListMeals.items,{headers:["ID","Name","Meal","Calories","Protein"],rows:t.mybListMeals.items.map(r=>[m(r.id,12),r.name,r.mealType,String(r.calories??0),`${r.proteinG??0}g`])});}catch(t){s(t);}}),n.command("log").description("Log a meal").requiredOption("--name <name>","Meal name").option("--meal-type <t>","BREAKFAST|LUNCH|DINNER|SNACK").option("--plan <id>","Nutrition plan ID").option("--calories <n>","Calories",i).option("--protein-g <n>","Protein (g)",i).option("--carbs-g <n>","Carbs (g)",i).option("--fat-g <n>","Fat (g)",i).option("--servings <n>","Servings",l).option("--favorite","Mark as favorite").option("--logged-at <iso>","Logged at (ISO)").option("-f, --format <format>","Output format").action(async e=>{try{let t={name:e.name};e.mealType&&(t.mealType=e.mealType.toUpperCase()),e.plan&&(t.planId=e.plan),e.calories!==void 0&&(t.calories=e.calories),e.proteinG!==void 0&&(t.proteinG=e.proteinG),e.carbsG!==void 0&&(t.carbsG=e.carbsG),e.fatG!==void 0&&(t.fatG=e.fatG),e.servings!==void 0&&(t.servings=e.servings),e.favorite&&(t.isFavorite=!0),e.loggedAt&&(t.loggedAt=e.loggedAt);let r=await c(ee,{input:t});d(`Meal logged: ${r.mybLogMeal.name}`),a(e,r.mybLogMeal);}catch(t){s(t);}}),n.command("delete").description("Delete a logged meal").argument("<id>","Meal log ID").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let r=await c(te,{id:e});d(r.mybDeleteMeal?"Meal deleted":"Meal not deleted"),a(t,{deleted:r.mybDeleteMeal});}catch(r){s(r);}});}function fe(o){let n=o.command("recovery").description("Mybodyshield recovery logs");n.command("list").description("List recovery logs").option("--member <id>","Filter by member ID").option("--metric <m>","READINESS|SLEEP|SORENESS|STRESS|MOOD").option("-f, --format <format>","Output format").action(async e=>{try{let t=await c(re,{memberId:e.member,metric:e.metric?e.metric.toUpperCase():void 0});a(e,t.mybListRecoveryLogs,{headers:["ID","Metric","Score","Sleep (h)","Logged"],rows:t.mybListRecoveryLogs.map(r=>[m(r.id,12),r.metric,String(r.score),r.sleepHours!=null?String(r.sleepHours):"-",y(r.loggedAt)])});}catch(t){s(t);}}),n.command("log").description("Log a recovery metric").option("--member <id>","Member ID").option("--metric <m>","READINESS|SLEEP|SORENESS|STRESS|MOOD").option("--score <n>","Score",i).option("--sleep-hours <n>","Sleep hours",l).option("--notes <s>","Notes").option("--logged-at <iso>","Logged at (ISO)").option("-f, --format <format>","Output format").action(async e=>{try{let t={};e.member&&(t.memberId=e.member),e.metric&&(t.metric=e.metric.toUpperCase()),e.score!==void 0&&(t.score=e.score),e.sleepHours!==void 0&&(t.sleepHours=e.sleepHours),e.notes&&(t.notes=e.notes),e.loggedAt&&(t.loggedAt=e.loggedAt);let r=await c(ne,{input:t});d(`Recovery logged: ${r.mybLogRecovery.metric}`),a(e,r.mybLogRecovery);}catch(t){s(t);}});}function ye(o){let n=o.command("coaching").description("Mybodyshield coaching relationships");n.command("list").description("List coaching relationships").option("--member <id>","Filter by member ID").option("--status <s>","PENDING|ACTIVE|PAUSED|ENDED").option("-f, --format <format>","Output format").action(async e=>{try{let t=await c(oe,{memberId:e.member,status:e.status?e.status.toUpperCase():void 0});a(e,t.mybListCoaching,{headers:["ID","Coach","Member","Status","Specialty"],rows:t.mybListCoaching.map(r=>[m(r.id,12),m(r.coachId,12),m(r.memberId,12),r.status,r.specialty??"-"])});}catch(t){s(t);}}),n.command("create").description("Create a coaching relationship").requiredOption("--coach <id>","Coach ID").requiredOption("--member <id>","Member ID").option("--specialty <s>","Specialty").option("--share-workouts","Share workouts with the coach").option("--share-nutrition","Share nutrition with the coach").option("--share-metrics","Share body metrics with the coach").option("-f, --format <format>","Output format").action(async e=>{try{let t={coachId:e.coach,memberId:e.member};e.specialty&&(t.specialty=e.specialty),e.shareWorkouts&&(t.shareWorkouts=!0),e.shareNutrition&&(t.shareNutrition=!0),e.shareMetrics&&(t.shareMetrics=!0);let r=await c(ie,{input:t});d("Coaching relationship created"),a(e,r.mybCreateCoaching);}catch(t){s(t);}}),n.command("transition").description("Transition a coaching relationship status").argument("<id>","Coaching relationship ID").requiredOption("--status <s>","PENDING|ACTIVE|PAUSED|ENDED").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let r=await c(se,{id:e,status:t.status.toUpperCase()});d(`Coaching transitioned to ${r.mybTransitionCoaching.status}`),a(t,r.mybTransitionCoaching);}catch(r){s(r);}});}function be(o){o.command("health").description("Mybodyshield service health check (public)").option("-f, --format <format>","Output format").action(async n=>{try{let e=await w(ae);d(e.mybHealth),a(n,{health:e.mybHealth});}catch(e){s(e);}});}var ve={id:"mybodyshield",version:"1.0.0",displayName:"Mybodyshield",dependsOn:["auth","workspaces"],register(o,n){E(n);let e=o.command("mybodyshield").description("Mybodyshield fitness coaching platform");ce(e),de(e),ue(e),pe(e),me(e),ge(e),le(e),fe(e),ye(e),be(e);}},Sr=ve;module.exports=Sr;
291
+ `,ce=`
292
+ query MybWorkoutExercises($workoutId: ID!, $pagination: PaginationInput) {
293
+ mybWorkoutExercises(workoutId: $workoutId, pagination: $pagination) {
294
+ items { id workoutId name muscleGroup sets reps restSeconds targetWeight orderIndex instructions createdAt updatedAt workspaceId }
295
+ pageInfo { cursor hasMore }
296
+ }
297
+ }
298
+ `,de=`
299
+ query MybSessionSets($sessionId: ID!, $pagination: PaginationInput) {
300
+ mybSessionSets(sessionId: $sessionId, pagination: $pagination) {
301
+ items { id sessionId exerciseName setNumber reps weight distanceM durationSec isPersonalRecord createdAt updatedAt workspaceId }
302
+ pageInfo { cursor hasMore }
303
+ }
304
+ }
305
+ `,pe="query MybAiSettings { mybAiSettings { allowanceResetAt createdAt dailyAllowance dailyAllowanceUsed hasProviderKey id memberId modelName provider updatedAt workspaceId } }",me="mutation MybUpdateAiSettings($input: MybUpdateAiSettingsInput!) { mybUpdateAiSettings(input: $input) { allowanceResetAt createdAt dailyAllowance dailyAllowanceUsed hasProviderKey id memberId modelName provider updatedAt workspaceId } }",ue="query MybListAiOperationLogs($pagination: PaginationInput) { mybListAiOperationLogs(pagination: $pagination) { items { createdAt errorMessage id inputTokens memberId modelName operationType outputTokens provider status workspaceId } pageInfo { cursor hasMore } } }",ge="query MybTodayGuidance($memberId: ID) { mybTodayGuidance(memberId: $memberId) { aiSummary cards { action reason signal } date memberId readinessScore } }",le="query MybInsights($dateRangeEnd: DateTime, $dateRangeStart: DateTime, $memberId: ID) { mybInsights(dateRangeEnd: $dateRangeEnd, dateRangeStart: $dateRangeStart, memberId: $memberId) { daily { calories carbsG date fatG proteinG readiness sessions sleepHours volumeKg weight } dateRangeEnd dateRangeStart goals { achievedAt baselineValue createdAt currentValue description id memberId status targetDate targetValue title type unit updatedAt workspaceId } summary { averageReadiness consistencyStreakDays macroAdherencePercent totalSessions totalVolumeKg } } }",fe="query MybExerciseBestSet($exerciseName: String!) { mybExerciseBestSet(exerciseName: $exerciseName) { createdAt distanceM durationSec exerciseName id isPersonalRecord reps sessionId setNumber updatedAt weight workspaceId } }",ye="query MybSearchFoods($limit: Int, $query: String!) { mybSearchFoods(limit: $limit, query: $query) { barcode brand calories carbsG fatG imageUrl name proteinG servingG } }",be="query MybFoodByBarcode($barcode: String!) { mybFoodByBarcode(barcode: $barcode) { barcode brand calories carbsG fatG imageUrl name proteinG servingG } }",Ie="query MybListDeviceConnections($memberId: ID) { mybListDeviceConnections(memberId: $memberId) { createdAt externalAccountId id lastSyncedAt memberId provider scopes status updatedAt workspaceId } }",Ce="mutation MybConnectDevice($input: MybConnectDeviceInput!) { mybConnectDevice(input: $input) { createdAt externalAccountId id lastSyncedAt memberId provider scopes status updatedAt workspaceId } }",he="mutation MybDisconnectDevice($id: ID!) { mybDisconnectDevice(id: $id) }",Ae="mutation MybSyncDeviceReadings($connectionId: ID!, $readings: [MybSyncReadingInput!]!) { mybSyncDeviceReadings(connectionId: $connectionId, readings: $readings) { connectionId createdAt id metricType normalizedBodyMetricId normalizedRecoveryLogId recordedAt unit value } }",we="query MybListLegalAcceptances($actorId: ID, $checkpointType: MybLegalCheckpointType, $pagination: PaginationInput) { mybListLegalAcceptances(actorId: $actorId, checkpointType: $checkpointType, pagination: $pagination) { items { acceptedAt actorId actorType checkpointType createdAt documentVersion id ipAddress updatedAt userAgent workspaceId } pageInfo { cursor hasMore } } }",Te="query MybMyLegalAcceptances($checkpointType: MybLegalCheckpointType, $pagination: PaginationInput) { mybMyLegalAcceptances(checkpointType: $checkpointType, pagination: $pagination) { items { acceptedAt actorId actorType checkpointType createdAt documentVersion id ipAddress updatedAt userAgent workspaceId } pageInfo { cursor hasMore } } }",Se="mutation MybRecordLegalAcceptance($input: MybRecordLegalAcceptanceInput!) { mybRecordLegalAcceptance(input: $input) { acceptedAt actorId actorType checkpointType createdAt documentVersion id ipAddress updatedAt userAgent workspaceId } }",ke="query MybMyAiProcessingConsent { mybMyAiProcessingConsent { acceptedAt actorId createdAt enabled id updatedAt withdrawnAt workspaceId } }",Ee="mutation MybSetAiProcessingConsent($enabled: Boolean!) { mybSetAiProcessingConsent(enabled: $enabled) { acceptedAt actorId createdAt enabled id updatedAt withdrawnAt workspaceId } }",Oe="mutation MybExportData($input: MybExportInput!) { mybExportData(input: $input) { createdAt entityTypes format id status } }";var g=class extends Error{exitCode;hint;constructor(o,i){super(o),this.name="CliUserError",this.exitCode=i?.exitCode??1,this.hint=i?.hint;}},A=class extends g{constructor(o,i){super(o,{exitCode:2,hint:i?.hint??"Run `<product> auth login` to authenticate."}),this.name="CliAuthError";}};function f(c){return {async execWorkspace(o,i){if(!c.auth.isAuthenticated())throw new A(`Authentication required. Run \`${c.productName} auth login\`.`);return c.gql.workspace.request(o,i)},async execWorkspaceAuthOnly(o,i){return c.gql.workspaceAuthOnly.request(o,i)},formatAndOutput(o,i,d){c.output.formatAndOutput(o,i,d),c.output.getFormat(o)==="table"&&Ke(i)&&i.pageInfo.hasMore&&c.output.printInfo(`More results are available; continue with --cursor ${i.pageInfo.cursor??"(unavailable)"}.`);},handleCommandError(o){throw o instanceof A?o:new g(o instanceof Error?o.message:String(o))},printSuccess(o){c.output.printSuccess(o);},truncate(o,i){return c.output.truncate(o,i)},formatDate(o){return c.output.formatDate(o)}}}function Ke(c){if(typeof c!="object"||c===null||!("pageInfo"in c))return false;let o=c.pageInfo;return typeof o=="object"&&o!==null&&"hasMore"in o&&typeof o.hasMore=="boolean"&&"cursor"in o&&(typeof o.cursor=="string"||o.cursor===null)}function ve(c,o){try{return JSON.parse(o)}catch{throw new g(`--${c} must be valid JSON`)}}function s(c){let o=Number(c);if(!c.trim()||!Number.isSafeInteger(o))throw new g(`Expected an integer but got "${c}"`);return o}function y(c){let o=Number(c);if(!c.trim()||!Number.isFinite(o))throw new g(`Expected a number but got "${c}"`);return o}function S(c){return c.split(",").map(o=>o.trim()).filter(o=>o.length>0)}function xe(c,o){let{execWorkspace:i,formatAndOutput:d,handleCommandError:p,printSuccess:u,truncate:m}=f(o),r=c.command("programs").description("Mybodyshield training programs");r.command("list").description("List training programs").option("--member <id>","Filter by member ID").option("--status <s>","DRAFT|ACTIVE|COMPLETED|ARCHIVED").option("--cursor <cursor>","Continuation cursor").option("--limit <n>","Page size",s,50).option("--offset <n>","Offset",s,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await i(E,{memberId:t.member,status:t.status?t.status.toUpperCase():void 0,pagination:{cursor:t.cursor,limit:t.limit,offset:t.offset}});d(t,e.mybListPrograms,{headers:["ID","Name","Goal","Level","Phase","Status"],rows:e.mybListPrograms.items.map(n=>[m(n.id,12),n.name,n.goalType,n.level,n.phase,n.status])});}catch(e){p(e);}}),r.command("get").description("Get a training program by id").argument("<id>","Program ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await i(O,{id:t});if(!n.mybProgram)throw new g(`Program ${t} not found`);d(e,n.mybProgram);}catch(n){p(n);}}),r.command("workouts").description("List workouts for a program").argument("<programId>","Program ID").option("--cursor <cursor>","Continuation cursor").option("--limit <n>","Page size",s,50).option("--offset <n>","Offset",s,0).option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await i(D,{programId:t,pagination:{cursor:e.cursor,limit:e.limit,offset:e.offset}});d(e,n.mybProgramWorkouts,{headers:["ID","Name","Type","Day","Week","Duration"],rows:n.mybProgramWorkouts.items.map(a=>[m(a.id,12),a.name,a.type,a.dayOfWeek!=null?String(a.dayOfWeek):"-",a.weekNumber!=null?String(a.weekNumber):"-",a.durationMin!=null?String(a.durationMin):"-"])});}catch(n){p(n);}}),r.command("create").description("Create a training program").requiredOption("--name <name>","Program name").option("--member <id>","Member ID").option("--coach <id>","Coach ID").option("--description <s>","Description").option("--goal-type <t>","WEIGHT_LOSS|MUSCLE_GAIN|STRENGTH|ENDURANCE|MOBILITY|GENERAL_FITNESS").option("--level <l>","BEGINNER|INTERMEDIATE|ADVANCED|ELITE").option("--phase <p>","BUILD|PEAK|DELOAD|MAINTENANCE").option("--weeks <n>","Number of weeks",s).option("--days-per-week <n>","Days per week",s).option("--start-date <iso>","Start date (ISO)").option("--end-date <iso>","End date (ISO)").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async t=>{try{let e={name:t.name};t.member&&(e.memberId=t.member),t.coach&&(e.coachId=t.coach),t.description&&(e.description=t.description),t.goalType&&(e.goalType=t.goalType.toUpperCase()),t.level&&(e.level=t.level.toUpperCase()),t.phase&&(e.phase=t.phase.toUpperCase()),t.weeks!==void 0&&(e.weeks=t.weeks),t.daysPerWeek!==void 0&&(e.daysPerWeek=t.daysPerWeek),t.startDate&&(e.startDate=t.startDate),t.endDate&&(e.endDate=t.endDate),t.tags&&(e.tags=S(t.tags));let n=await i(v,{input:e});u(`Program created: ${n.mybCreateProgram.name}`),d(t,n.mybCreateProgram);}catch(e){p(e);}}),r.command("update").description("Update a training program").argument("<id>","Program ID").option("--name <name>","Program name").option("--description <s>","Description").option("--goal-type <t>","Goal type").option("--level <l>","Fitness level").option("--phase <p>","Program phase").option("--weeks <n>","Number of weeks",s).option("--days-per-week <n>","Days per week",s).option("--coach <id>","Coach ID").option("--start-date <iso>","Start date (ISO)").option("--end-date <iso>","End date (ISO)").option("--tags <csv>","Comma-separated tags").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.goalType&&(n.goalType=e.goalType.toUpperCase()),e.level&&(n.level=e.level.toUpperCase()),e.phase&&(n.phase=e.phase.toUpperCase()),e.weeks!==void 0&&(n.weeks=e.weeks),e.daysPerWeek!==void 0&&(n.daysPerWeek=e.daysPerWeek),e.coach&&(n.coachId=e.coach),e.startDate&&(n.startDate=e.startDate),e.endDate&&(n.endDate=e.endDate),e.tags&&(n.tags=S(e.tags)),!Object.keys(n).length)throw new g("No updates specified");let a=await i(x,{id:t,input:n});u("Program updated"),d(e,a.mybUpdateProgram);}catch(n){p(n);}}),r.command("transition").description("Advance a program through its lifecycle").argument("<id>","Program ID").requiredOption("--status <s>","DRAFT|ACTIVE|COMPLETED|ARCHIVED").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await i(R,{id:t,status:e.status.toUpperCase()});u(`Program transitioned to ${n.mybTransitionProgram.status}`),d(e,n.mybTransitionProgram);}catch(n){p(n);}}),r.command("archive").description("Archive a training program").argument("<id>","Program ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await i(M,{id:t});u(n.mybArchiveProgram?"Program archived":"Program not archived"),d(e,{archived:n.mybArchiveProgram});}catch(n){p(n);}});}function Re(c,o){let{execWorkspace:i,formatAndOutput:d,handleCommandError:p,printSuccess:u}=f(o),m=c.command("workouts").description("Mybodyshield workouts & exercises");m.command("exercises").description("List exercises with continuation metadata").argument("<workoutId>","workoutId").option("--cursor <cursor>","Continuation cursor").option("--limit <n>","Page size",s,50).option("--offset <n>","Offset",s,0).option("-f, --format <format>","Output format").action(async(r,t)=>{try{let e=await i(ce,{workoutId:r,pagination:{cursor:t.cursor,limit:t.limit,offset:t.offset}});d(t,e.mybWorkoutExercises);}catch(e){p(e);}}),m.command("add").description("Add a workout to a program").requiredOption("--program <id>","Program ID").requiredOption("--name <name>","Workout name").option("--description <s>","Description").option("--type <t>","STRENGTH|CARDIO|HIIT|MOBILITY|RECOVERY|YOGA").option("--day-of-week <n>","Day of week (0-6)",s).option("--week-number <n>","Week number",s).option("--duration-min <n>","Duration (minutes)",s).option("--order-index <n>","Order index",s).option("-f, --format <format>","Output format").action(async r=>{try{let t={programId:r.program,name:r.name};r.description&&(t.description=r.description),r.type&&(t.type=r.type.toUpperCase()),r.dayOfWeek!==void 0&&(t.dayOfWeek=r.dayOfWeek),r.weekNumber!==void 0&&(t.weekNumber=r.weekNumber),r.durationMin!==void 0&&(t.durationMin=r.durationMin),r.orderIndex!==void 0&&(t.orderIndex=r.orderIndex);let e=await i(L,{input:t});u(`Workout added: ${e.mybAddWorkout.name}`),d(r,e.mybAddWorkout);}catch(t){p(t);}}),m.command("add-exercise").description("Add an exercise to a workout").requiredOption("--workout <id>","Workout ID").requiredOption("--name <name>","Exercise name").option("--muscle-group <g>","CHEST|BACK|LEGS|SHOULDERS|ARMS|CORE|FULL_BODY").option("--sets <n>","Sets",s).option("--reps <n>","Reps",s).option("--rest-seconds <n>","Rest (seconds)",s).option("--target-weight <n>","Target weight",y).option("--order-index <n>","Order index",s).option("--instructions <s>","Instructions").option("--demo-file-id <id>","Demo file ID").option("-f, --format <format>","Output format").action(async r=>{try{let t={workoutId:r.workout,name:r.name};r.muscleGroup&&(t.muscleGroup=r.muscleGroup.toUpperCase()),r.sets!==void 0&&(t.sets=r.sets),r.reps!==void 0&&(t.reps=r.reps),r.restSeconds!==void 0&&(t.restSeconds=r.restSeconds),r.targetWeight!==void 0&&(t.targetWeight=r.targetWeight),r.orderIndex!==void 0&&(t.orderIndex=r.orderIndex),r.instructions&&(t.instructions=r.instructions),r.demoFileId&&(t.demoFileId=r.demoFileId);let e=await i(P,{input:t});u(`Exercise added: ${e.mybAddExercise.name}`),d(r,e.mybAddExercise);}catch(t){p(t);}});}function Me(c,o){let{execWorkspace:i,formatAndOutput:d,handleCommandError:p,printSuccess:u,truncate:m,formatDate:r}=f(o),t=c.command("sessions").description("Mybodyshield workout sessions");t.command("sets").description("List sets with continuation metadata").argument("<sessionId>","sessionId").option("--cursor <cursor>","Continuation cursor").option("--limit <n>","Page size",s,50).option("--offset <n>","Offset",s,0).option("-f, --format <format>","Output format").action(async(e,n)=>{try{let a=await i(de,{sessionId:e,pagination:{cursor:n.cursor,limit:n.limit,offset:n.offset}});d(n,a.mybSessionSets);}catch(a){p(a);}}),t.command("list").description("List workout sessions").option("--program <id>","Filter by program ID").option("--status <s>","SCHEDULED|IN_PROGRESS|COMPLETED|SKIPPED").option("--cursor <cursor>","Continuation cursor").option("--limit <n>","Page size",s,50).option("--offset <n>","Offset",s,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await i(N,{programId:e.program,status:e.status?e.status.toUpperCase():void 0,pagination:{cursor:e.cursor,limit:e.limit,offset:e.offset}});d(e,n.mybListSessions,{headers:["ID","Member","Status","Scheduled","Started"],rows:n.mybListSessions.items.map(a=>[m(a.id,12),m(a.memberId,12),a.status,r(a.scheduledFor),r(a.startedAt)])});}catch(n){p(n);}}),t.command("get").description("Get a workout session by id").argument("<id>","Session ID").option("-f, --format <format>","Output format").action(async(e,n)=>{try{let a=await i($,{id:e});if(!a.mybSession)throw new g(`Session ${e} not found`);d(n,a.mybSession);}catch(a){p(a);}}),t.command("start").description("Start a workout session").option("--program <id>","Program ID").option("--workout <id>","Workout ID").option("--scheduled-for <iso>","Scheduled time (ISO)").option("--notes <s>","Notes").option("-f, --format <format>","Output format").action(async e=>{try{let n={};e.program&&(n.programId=e.program),e.workout&&(n.workoutId=e.workout),e.scheduledFor&&(n.scheduledFor=e.scheduledFor),e.notes&&(n.notes=e.notes);let a=await i(G,{input:n});u(`Session started: ${m(a.mybStartSession.id,12)}`),d(e,a.mybStartSession);}catch(n){p(n);}}),t.command("log-set").description("Log a set within a session").requiredOption("--session <id>","Session ID").requiredOption("--exercise-name <name>","Exercise name").option("--set-number <n>","Set number",s).option("--reps <n>","Reps",s).option("--weight <n>","Weight",y).option("--distance-m <n>","Distance (meters)",y).option("--duration-sec <n>","Duration (seconds)",s).option("--personal-record","Mark as a personal record").option("-f, --format <format>","Output format").action(async e=>{try{let n={sessionId:e.session,exerciseName:e.exerciseName};e.setNumber!==void 0&&(n.setNumber=e.setNumber),e.reps!==void 0&&(n.reps=e.reps),e.weight!==void 0&&(n.weight=e.weight),e.distanceM!==void 0&&(n.distanceM=e.distanceM),e.durationSec!==void 0&&(n.durationSec=e.durationSec),e.personalRecord&&(n.isPersonalRecord=!0);let a=await i(_,{input:n});u(`Set logged for ${a.mybLogSet.exerciseName}`),d(e,a.mybLogSet);}catch(n){p(n);}}),t.command("complete").description("Complete a workout session").argument("<id>","Session ID").option("--calories-burned <n>","Calories burned",s).option("--perceived-exertion <n>","Perceived exertion (1-10)",s).option("--notes <s>","Notes").option("-f, --format <format>","Output format").action(async(e,n)=>{try{let a={};n.caloriesBurned!==void 0&&(a.caloriesBurned=n.caloriesBurned),n.perceivedExertion!==void 0&&(a.perceivedExertion=n.perceivedExertion),n.notes&&(a.notes=n.notes);let w=await i(U,{id:e,input:a});u("Session completed"),d(n,w.mybCompleteSession);}catch(a){p(a);}});}function Le(c,o){let{execWorkspace:i,formatAndOutput:d,handleCommandError:p,printSuccess:u,truncate:m}=f(o),r=c.command("goals").description("Mybodyshield fitness goals");r.command("list").description("List fitness goals").option("--member <id>","Filter by member ID").option("--status <s>","ACTIVE|ACHIEVED|PAUSED|ABANDONED").option("--cursor <cursor>","Continuation cursor").option("--limit <n>","Page size",s,50).option("--offset <n>","Offset",s,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await i(W,{memberId:t.member,status:t.status?t.status.toUpperCase():void 0,pagination:{cursor:t.cursor,limit:t.limit,offset:t.offset}});d(t,e.mybListGoals,{headers:["ID","Title","Type","Status","Current","Target"],rows:e.mybListGoals.items.map(n=>[m(n.id,12),n.title,n.type,n.status,`${n.currentValue??0}${n.unit?` ${n.unit}`:""}`,`${n.targetValue??0}${n.unit?` ${n.unit}`:""}`])});}catch(e){p(e);}}),r.command("get").description("Get a goal by id").argument("<id>","Goal ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await i(q,{id:t});if(!n.mybGoal)throw new g(`Goal ${t} not found`);d(e,n.mybGoal);}catch(n){p(n);}}),r.command("create").description("Create a fitness goal").requiredOption("--title <t>","Goal title").option("--member <id>","Member ID").option("--type <t>","WEIGHT_LOSS|MUSCLE_GAIN|STRENGTH|ENDURANCE|MOBILITY|GENERAL_FITNESS").option("--description <s>","Description").option("--target-value <n>","Target value",y).option("--baseline-value <n>","Baseline value",y).option("--unit <u>","Unit").option("--target-date <iso>","Target date (ISO)").option("-f, --format <format>","Output format").action(async t=>{try{let e={title:t.title};t.member&&(e.memberId=t.member),t.type&&(e.type=t.type.toUpperCase()),t.description&&(e.description=t.description),t.targetValue!==void 0&&(e.targetValue=t.targetValue),t.baselineValue!==void 0&&(e.baselineValue=t.baselineValue),t.unit&&(e.unit=t.unit),t.targetDate&&(e.targetDate=t.targetDate);let n=await i(F,{input:e});u(`Goal created: ${n.mybCreateGoal.title}`),d(t,n.mybCreateGoal);}catch(e){p(e);}}),r.command("update").description("Update a fitness goal").argument("<id>","Goal ID").option("--title <t>","Goal title").option("--type <t>","Goal type").option("--description <s>","Description").option("--target-value <n>","Target value",y).option("--current-value <n>","Current value",y).option("--baseline-value <n>","Baseline value",y).option("--unit <u>","Unit").option("--target-date <iso>","Target date (ISO)").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n={};if(e.title&&(n.title=e.title),e.type&&(n.type=e.type.toUpperCase()),e.description!==void 0&&(n.description=e.description),e.targetValue!==void 0&&(n.targetValue=e.targetValue),e.currentValue!==void 0&&(n.currentValue=e.currentValue),e.baselineValue!==void 0&&(n.baselineValue=e.baselineValue),e.unit&&(n.unit=e.unit),e.targetDate&&(n.targetDate=e.targetDate),!Object.keys(n).length)throw new g("No updates specified");let a=await i(V,{id:t,input:n});u("Goal updated"),d(e,a.mybUpdateGoal);}catch(n){p(n);}}),r.command("achieve").description("Mark a goal as achieved").argument("<id>","Goal ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await i(H,{id:t});u(`Goal achieved: ${n.mybAchieveGoal.title}`),d(e,n.mybAchieveGoal);}catch(n){p(n);}});}function Pe(c,o){let{execWorkspace:i,formatAndOutput:d,handleCommandError:p,printSuccess:u,truncate:m,formatDate:r}=f(o),t=c.command("metrics").description("Mybodyshield body metrics");t.command("list").description("List body metrics").option("--member <id>","Filter by member ID").option("--type <t>","WEIGHT|BODY_FAT|CHEST|WAIST|HIPS|THIGH|ARM|RESTING_HEART_RATE").option("--cursor <cursor>","Continuation cursor").option("--limit <n>","Page size",s,50).option("--offset <n>","Offset",s,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await i(B,{memberId:e.member,type:e.type?e.type.toUpperCase():void 0,pagination:{cursor:e.cursor,limit:e.limit,offset:e.offset}});d(e,n.mybListBodyMetrics,{headers:["ID","Type","Value","Unit","Measured"],rows:n.mybListBodyMetrics.items.map(a=>[m(a.id,12),a.type,String(a.value),a.unit,r(a.measuredAt)])});}catch(n){p(n);}}),t.command("record").description("Record a body metric").requiredOption("--type <t>","WEIGHT|BODY_FAT|CHEST|WAIST|HIPS|THIGH|ARM|RESTING_HEART_RATE").requiredOption("--value <n>","Measured value",y).option("--member <id>","Member ID").option("--unit <u>","Unit").option("--measured-at <iso>","Measured at (ISO)").option("--notes <s>","Notes").option("--photo-file-id <id>","Progress photo file ID").option("-f, --format <format>","Output format").action(async e=>{try{let n={type:e.type.toUpperCase(),value:e.value};e.member&&(n.memberId=e.member),e.unit&&(n.unit=e.unit),e.measuredAt&&(n.measuredAt=e.measuredAt),e.notes&&(n.notes=e.notes),e.photoFileId&&(n.photoFileId=e.photoFileId);let a=await i(j,{input:n});u(`Metric recorded: ${a.mybRecordBodyMetric.type}`),d(e,a.mybRecordBodyMetric);}catch(n){p(n);}});}function Ne(c,o){let{execWorkspace:i,formatAndOutput:d,handleCommandError:p,printSuccess:u}=f(o),m=c.command("nutrition").description("Mybodyshield nutrition plans");m.command("get").description("Get a nutrition plan by id").argument("<id>","Plan ID").option("-f, --format <format>","Output format").action(async(r,t)=>{try{let e=await i(Y,{id:r});if(!e.mybNutritionPlan)throw new g(`Nutrition plan ${r} not found`);d(t,e.mybNutritionPlan);}catch(e){p(e);}}),m.command("active").description("Get a member's active nutrition plan").option("--member <id>","Member ID").option("-f, --format <format>","Output format").action(async r=>{try{let t=await i(z,{memberId:r.member});if(!t.mybActiveNutritionPlan)throw new g("No active nutrition plan found");d(r,t.mybActiveNutritionPlan);}catch(t){p(t);}}),m.command("macros").description("Roll up a member's logged meals for a day against the active plan").option("--member <id>","Member ID").option("--date <iso>","Date (ISO)").option("-f, --format <format>","Output format").action(async r=>{try{let t=await i(K,{memberId:r.member,date:r.date});d(r,t.mybDailyMacros);}catch(t){p(t);}}),m.command("create").description("Create a nutrition plan").requiredOption("--name <name>","Plan name").option("--member <id>","Member ID").option("--coach <id>","Coach ID").option("--goal-type <t>","WEIGHT_LOSS|MUSCLE_GAIN|STRENGTH|ENDURANCE|MOBILITY|GENERAL_FITNESS").option("--calorie-target <n>","Calorie target",s).option("--protein-target <n>","Protein target (g)",s).option("--carbs-target <n>","Carbs target (g)",s).option("--fat-target <n>","Fat target (g)",s).option("--start-date <iso>","Start date (ISO)").option("--end-date <iso>","End date (ISO)").option("--notes <s>","Notes").option("-f, --format <format>","Output format").action(async r=>{try{let t={name:r.name};r.member&&(t.memberId=r.member),r.coach&&(t.coachId=r.coach),r.goalType&&(t.goalType=r.goalType.toUpperCase()),r.calorieTarget!==void 0&&(t.calorieTarget=r.calorieTarget),r.proteinTarget!==void 0&&(t.proteinTarget=r.proteinTarget),r.carbsTarget!==void 0&&(t.carbsTarget=r.carbsTarget),r.fatTarget!==void 0&&(t.fatTarget=r.fatTarget),r.startDate&&(t.startDate=r.startDate),r.endDate&&(t.endDate=r.endDate),r.notes&&(t.notes=r.notes);let e=await i(J,{input:t});u(`Nutrition plan created: ${e.mybCreateNutritionPlan.name}`),d(r,e.mybCreateNutritionPlan);}catch(t){p(t);}}),m.command("update").description("Update a nutrition plan").argument("<id>","Plan ID").option("--name <name>","Plan name").option("--goal-type <t>","Goal type").option("--calorie-target <n>","Calorie target",s).option("--protein-target <n>","Protein target (g)",s).option("--carbs-target <n>","Carbs target (g)",s).option("--fat-target <n>","Fat target (g)",s).option("--start-date <iso>","Start date (ISO)").option("--end-date <iso>","End date (ISO)").option("--notes <s>","Notes").option("-f, --format <format>","Output format").action(async(r,t)=>{try{let e={};if(t.name&&(e.name=t.name),t.goalType&&(e.goalType=t.goalType.toUpperCase()),t.calorieTarget!==void 0&&(e.calorieTarget=t.calorieTarget),t.proteinTarget!==void 0&&(e.proteinTarget=t.proteinTarget),t.carbsTarget!==void 0&&(e.carbsTarget=t.carbsTarget),t.fatTarget!==void 0&&(e.fatTarget=t.fatTarget),t.startDate&&(e.startDate=t.startDate),t.endDate&&(e.endDate=t.endDate),t.notes!==void 0&&(e.notes=t.notes),!Object.keys(e).length)throw new g("No updates specified");let n=await i(X,{id:r,input:e});u("Nutrition plan updated"),d(t,n.mybUpdateNutritionPlan);}catch(e){p(e);}}),m.command("activate").description("Activate a nutrition plan").argument("<id>","Plan ID").option("-f, --format <format>","Output format").action(async(r,t)=>{try{let e=await i(Q,{id:r});u(`Nutrition plan activated: ${e.mybActivateNutritionPlan.name}`),d(t,e.mybActivateNutritionPlan);}catch(e){p(e);}});}function $e(c,o){let{execWorkspace:i,formatAndOutput:d,handleCommandError:p,printSuccess:u,truncate:m}=f(o),r=c.command("meals").description("Mybodyshield meal logs");r.command("list").description("List logged meals").option("--meal-type <t>","BREAKFAST|LUNCH|DINNER|SNACK").option("--plan <id>","Filter by nutrition plan ID").option("--cursor <cursor>","Continuation cursor").option("--limit <n>","Page size",s,50).option("--offset <n>","Offset",s,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await i(Z,{mealType:t.mealType?t.mealType.toUpperCase():void 0,planId:t.plan,pagination:{cursor:t.cursor,limit:t.limit,offset:t.offset}});d(t,e.mybListMeals,{headers:["ID","Name","Meal","Calories","Protein"],rows:e.mybListMeals.items.map(n=>[m(n.id,12),n.name,n.mealType,String(n.calories??0),`${n.proteinG??0}g`])});}catch(e){p(e);}}),r.command("log").description("Log a meal").requiredOption("--name <name>","Meal name").option("--meal-type <t>","BREAKFAST|LUNCH|DINNER|SNACK").option("--plan <id>","Nutrition plan ID").option("--calories <n>","Calories",s).option("--protein-g <n>","Protein (g)",s).option("--carbs-g <n>","Carbs (g)",s).option("--fat-g <n>","Fat (g)",s).option("--servings <n>","Servings",y).option("--favorite","Mark as favorite").option("--logged-at <iso>","Logged at (ISO)").option("-f, --format <format>","Output format").action(async t=>{try{let e={name:t.name};t.mealType&&(e.mealType=t.mealType.toUpperCase()),t.plan&&(e.planId=t.plan),t.calories!==void 0&&(e.calories=t.calories),t.proteinG!==void 0&&(e.proteinG=t.proteinG),t.carbsG!==void 0&&(e.carbsG=t.carbsG),t.fatG!==void 0&&(e.fatG=t.fatG),t.servings!==void 0&&(e.servings=t.servings),t.favorite&&(e.isFavorite=!0),t.loggedAt&&(e.loggedAt=t.loggedAt);let n=await i(ee,{input:e});u(`Meal logged: ${n.mybLogMeal.name}`),d(t,n.mybLogMeal);}catch(e){p(e);}}),r.command("delete").description("Delete a logged meal").argument("<id>","Meal log ID").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await i(te,{id:t});u(n.mybDeleteMeal?"Meal deleted":"Meal not deleted"),d(e,{deleted:n.mybDeleteMeal});}catch(n){p(n);}});}function Ge(c,o){let{execWorkspace:i,formatAndOutput:d,handleCommandError:p,printSuccess:u,truncate:m,formatDate:r}=f(o),t=c.command("recovery").description("Mybodyshield recovery logs");t.command("list").description("List recovery logs").option("--member <id>","Filter by member ID").option("--metric <m>","READINESS|SLEEP|SORENESS|STRESS|MOOD").option("--cursor <cursor>","Continuation cursor").option("--limit <n>","Page size",s,50).option("--offset <n>","Offset",s,0).option("-f, --format <format>","Output format").action(async e=>{try{let n=await i(ne,{memberId:e.member,pagination:{cursor:e.cursor,limit:e.limit,offset:e.offset},metric:e.metric?e.metric.toUpperCase():void 0});d(e,n.mybListRecoveryLogs,{headers:["ID","Metric","Score","Sleep (h)","Logged"],rows:n.mybListRecoveryLogs.items.map(a=>[m(a.id,12),a.metric,String(a.score),a.sleepHours!=null?String(a.sleepHours):"-",r(a.loggedAt)])});}catch(n){p(n);}}),t.command("log").description("Log a recovery metric").option("--member <id>","Member ID").option("--metric <m>","READINESS|SLEEP|SORENESS|STRESS|MOOD").option("--score <n>","Score",s).option("--sleep-hours <n>","Sleep hours",y).option("--notes <s>","Notes").option("--logged-at <iso>","Logged at (ISO)").option("-f, --format <format>","Output format").action(async e=>{try{let n={};e.member&&(n.memberId=e.member),e.metric&&(n.metric=e.metric.toUpperCase()),e.score!==void 0&&(n.score=e.score),e.sleepHours!==void 0&&(n.sleepHours=e.sleepHours),e.notes&&(n.notes=e.notes),e.loggedAt&&(n.loggedAt=e.loggedAt);let a=await i(re,{input:n});u(`Recovery logged: ${a.mybLogRecovery.metric}`),d(e,a.mybLogRecovery);}catch(n){p(n);}});}function _e(c,o){let{execWorkspace:i,formatAndOutput:d,handleCommandError:p,printSuccess:u,truncate:m}=f(o),r=c.command("coaching").description("Mybodyshield coaching relationships");r.command("list").description("List coaching relationships").option("--member <id>","Filter by member ID").option("--status <s>","PENDING|ACTIVE|PAUSED|ENDED").option("--cursor <cursor>","Continuation cursor").option("--limit <n>","Page size",s,50).option("--offset <n>","Offset",s,0).option("-f, --format <format>","Output format").action(async t=>{try{let e=await i(oe,{memberId:t.member,pagination:{cursor:t.cursor,limit:t.limit,offset:t.offset},status:t.status?t.status.toUpperCase():void 0});d(t,e.mybListCoaching,{headers:["ID","Coach","Member","Status","Specialty"],rows:e.mybListCoaching.items.map(n=>[m(n.id,12),m(n.coachId,12),m(n.memberId,12),n.status,n.specialty??"-"])});}catch(e){p(e);}}),r.command("create").description("Create a coaching relationship").requiredOption("--coach <id>","Coach ID").requiredOption("--member <id>","Member ID").option("--specialty <s>","Specialty").option("--share-workouts","Share workouts with the coach").option("--share-nutrition","Share nutrition with the coach").option("--share-metrics","Share body metrics with the coach").option("-f, --format <format>","Output format").action(async t=>{try{let e={coachId:t.coach,memberId:t.member};t.specialty&&(e.specialty=t.specialty),t.shareWorkouts&&(e.shareWorkouts=!0),t.shareNutrition&&(e.shareNutrition=!0),t.shareMetrics&&(e.shareMetrics=!0);let n=await i(ie,{input:e});u("Coaching relationship created"),d(t,n.mybCreateCoaching);}catch(e){p(e);}}),r.command("transition").description("Transition a coaching relationship status").argument("<id>","Coaching relationship ID").requiredOption("--status <s>","PENDING|ACTIVE|PAUSED|ENDED").option("-f, --format <format>","Output format").action(async(t,e)=>{try{let n=await i(ae,{id:t,status:e.status.toUpperCase()});u(`Coaching transitioned to ${n.mybTransitionCoaching.status}`),d(e,n.mybTransitionCoaching);}catch(n){p(n);}});}function Ue(c,o){let{execWorkspaceAuthOnly:i,formatAndOutput:d,handleCommandError:p,printSuccess:u}=f(o);c.command("health").description("Mybodyshield service health check (public)").option("-f, --format <format>","Output format").action(async m=>{try{let r=await i(se);u(r.mybHealth),d(m,{health:r.mybHealth});}catch(r){p(r);}});}var Xe=[{group:"ai",command:"settings",document:pe,field:"mybAiSettings",variables:[]},{group:"ai",command:"update-settings",document:me,field:"mybUpdateAiSettings",variables:[{name:"input",type:"MybUpdateAiSettingsInput!"}]},{group:"ai",command:"operation-logs",document:ue,field:"mybListAiOperationLogs",variables:[{name:"pagination",type:"PaginationInput"}]},{group:"wellbeing",command:"guidance",document:ge,field:"mybTodayGuidance",variables:[{name:"memberId",type:"ID"}]},{group:"wellbeing",command:"insights",document:le,field:"mybInsights",variables:[{name:"dateRangeEnd",type:"DateTime"},{name:"dateRangeStart",type:"DateTime"},{name:"memberId",type:"ID"}]},{group:"performance",command:"best-set",document:fe,field:"mybExerciseBestSet",variables:[{name:"exerciseName",type:"String!"}]},{group:"foods",command:"search",document:ye,field:"mybSearchFoods",variables:[{name:"limit",type:"Int"},{name:"query",type:"String!"}]},{group:"foods",command:"barcode",document:be,field:"mybFoodByBarcode",variables:[{name:"barcode",type:"String!"}]},{group:"devices",command:"list",document:Ie,field:"mybListDeviceConnections",variables:[{name:"memberId",type:"ID"}]},{group:"devices",command:"connect",document:Ce,field:"mybConnectDevice",variables:[{name:"input",type:"MybConnectDeviceInput!"}]},{group:"devices",command:"disconnect",document:he,field:"mybDisconnectDevice",variables:[{name:"id",type:"ID!"}]},{group:"devices",command:"sync",document:Ae,field:"mybSyncDeviceReadings",variables:[{name:"connectionId",type:"ID!"},{name:"readings",type:"[MybSyncReadingInput!]!"}]},{group:"legal",command:"list",document:we,field:"mybListLegalAcceptances",variables:[{name:"actorId",type:"ID"},{name:"checkpointType",type:"MybLegalCheckpointType"},{name:"pagination",type:"PaginationInput"}]},{group:"legal",command:"mine",document:Te,field:"mybMyLegalAcceptances",variables:[{name:"checkpointType",type:"MybLegalCheckpointType"},{name:"pagination",type:"PaginationInput"}]},{group:"legal",command:"record",document:Se,field:"mybRecordLegalAcceptance",variables:[{name:"input",type:"MybRecordLegalAcceptanceInput!"}]},{group:"privacy",command:"consent",document:ke,field:"mybMyAiProcessingConsent",variables:[]},{group:"privacy",command:"set-consent",document:Ee,field:"mybSetAiProcessingConsent",variables:[{name:"enabled",type:"Boolean!"}]},{group:"privacy",command:"export",document:Oe,field:"mybExportData",variables:[{name:"input",type:"MybExportInput!"}]}],T=c=>c.replace(/[A-Z]/g,o=>"-"+o.toLowerCase());function We(c,o){let{execWorkspace:i,formatAndOutput:d,handleCommandError:p}=f(o),u=new Map;for(let m of Xe){let r=u.get(m.group);r||(r=c.command(m.group).description("MyBodyShield "+m.group),u.set(m.group,r));let t=r.command(m.command).description("Call "+m.field+" through the workspace gateway");for(let e of m.variables){let n=T(e.name),w=e.type.replace(/[![\]]/g,"").endsWith("Input"),b="--"+n+(w?"-file":"")+" <value>",h=w?e.type+" JSON file; keep secret-bearing files private":e.type;e.type.endsWith("!")?t.requiredOption(b,h):t.option(b,h);}t.option("-f, --format <format>","Output format").action(async e=>{try{let n={};for(let b of m.variables){let h=b.type.replace(/[![\]]/g,""),k=h.endsWith("Input"),C=e[b.name+(k?"File":"")];if(C!==void 0){if(typeof C!="string")throw new g("Invalid option "+T(b.name));if(k)n[b.name]=ve(T(b.name),fs.readFileSync(C,"utf8"));else if(h==="Int")n[b.name]=s(C);else if(h==="Float")n[b.name]=y(C);else if(h==="Boolean"){if(C!=="true"&&C!=="false")throw new g("--"+T(b.name)+" must be true or false");n[b.name]=C==="true";}else n[b.name]=C;}}let a=await i(m.document,n),w=typeof e.format=="string"?e.format:void 0;d({format:w},a[m.field]);}catch(n){p(n);}});}}var Qe={id:"mybodyshield",version:"1.0.0",displayName:"Mybodyshield",dependsOn:["auth","workspaces"],register(c,o){let i=c.command("mybodyshield").description("Mybodyshield fitness coaching platform");xe(i,o),Re(i,o),Me(i,o),Le(i,o),Pe(i,o),Ne(i,o),$e(i,o),Ge(i,o),_e(i,o),Ue(i,o),We(i,o);}},Zn=Qe;module.exports=Zn;