@burdenoff/cli-sdk 2026.1021.1 → 2026.1021.2

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 (92) hide show
  1. package/dist/{chunk-NLEVVDXR.js → chunk-SQSFZFQZ.js} +1 -1
  2. package/dist/{chunk-IZXPWPKX.js → chunk-UAFYTYK6.js} +7 -7
  3. package/dist/core/index.cjs +7 -7
  4. package/dist/core/index.js +1 -1
  5. package/dist/index.cjs +7 -7
  6. package/dist/index.js +1 -1
  7. package/dist/modules/adaptercloud/index.js +1 -1
  8. package/dist/modules/artistrybase/index.cjs +3 -3
  9. package/dist/modules/artistrybase/index.js +1 -1
  10. package/dist/modules/assethandler/index.cjs +1 -1
  11. package/dist/modules/assethandler/index.js +1 -1
  12. package/dist/modules/atheletebridge/index.cjs +6 -6
  13. package/dist/modules/atheletebridge/index.js +1 -1
  14. package/dist/modules/auth/index.cjs +5 -5
  15. package/dist/modules/auth/index.js +1 -1
  16. package/dist/modules/billing/index.js +1 -1
  17. package/dist/modules/brainyrich/index.cjs +2 -2
  18. package/dist/modules/brainyrich/index.js +1 -1
  19. package/dist/modules/buildmyiq/index.cjs +1 -1
  20. package/dist/modules/buildmyiq/index.js +1 -1
  21. package/dist/modules/channels/index.cjs +3 -3
  22. package/dist/modules/channels/index.js +1 -1
  23. package/dist/modules/collabkin/index.js +1 -1
  24. package/dist/modules/comradecircle/index.cjs +3 -3
  25. package/dist/modules/comradecircle/index.js +1 -1
  26. package/dist/modules/conversations/index.js +1 -1
  27. package/dist/modules/coolandlovely/index.js +1 -1
  28. package/dist/modules/cosmicintersection/index.cjs +4 -4
  29. package/dist/modules/cosmicintersection/index.js +1 -1
  30. package/dist/modules/crewfoundry/index.cjs +4 -4
  31. package/dist/modules/crewfoundry/index.js +1 -1
  32. package/dist/modules/devportal/index.cjs +3 -3
  33. package/dist/modules/devportal/index.js +1 -1
  34. package/dist/modules/ecoimpacthub/index.js +1 -1
  35. package/dist/modules/eventfullymanaged/index.js +1 -1
  36. package/dist/modules/export/index.cjs +2 -2
  37. package/dist/modules/export/index.js +1 -1
  38. package/dist/modules/files/index.cjs +4 -4
  39. package/dist/modules/files/index.js +1 -1
  40. package/dist/modules/fluidgrids/index.js +1 -1
  41. package/dist/modules/ggnomad/index.cjs +3 -3
  42. package/dist/modules/ggnomad/index.js +1 -1
  43. package/dist/modules/govcitizenhub/index.cjs +2 -2
  44. package/dist/modules/govcitizenhub/index.js +1 -1
  45. package/dist/modules/groups/index.js +1 -1
  46. package/dist/modules/headshotmarketing/index.js +1 -1
  47. package/dist/modules/hookmovies/index.js +1 -1
  48. package/dist/modules/housingvista/index.cjs +6 -6
  49. package/dist/modules/housingvista/index.js +1 -1
  50. package/dist/modules/integrations/index.cjs +1 -1
  51. package/dist/modules/integrations/index.js +1 -1
  52. package/dist/modules/intelwatchtower/index.cjs +3 -3
  53. package/dist/modules/intelwatchtower/index.js +1 -1
  54. package/dist/modules/kadaikodi/index.js +1 -1
  55. package/dist/modules/labsofscience/index.cjs +3 -3
  56. package/dist/modules/labsofscience/index.js +1 -1
  57. package/dist/modules/manufacturedops/index.js +1 -1
  58. package/dist/modules/movethewheels/index.js +1 -1
  59. package/dist/modules/mybodyshield/index.cjs +4 -4
  60. package/dist/modules/mybodyshield/index.js +1 -1
  61. package/dist/modules/notifications/index.cjs +2 -2
  62. package/dist/modules/notifications/index.js +1 -1
  63. package/dist/modules/organizations/index.js +1 -1
  64. package/dist/modules/planmagnet/index.js +1 -1
  65. package/dist/modules/products/index.cjs +4 -4
  66. package/dist/modules/products/index.js +1 -1
  67. package/dist/modules/proserviceworld/index.js +1 -1
  68. package/dist/modules/rbac/index.js +1 -1
  69. package/dist/modules/sandbox/index.cjs +3 -3
  70. package/dist/modules/sandbox/index.js +1 -1
  71. package/dist/modules/scheduler/index.cjs +4 -4
  72. package/dist/modules/scheduler/index.js +1 -1
  73. package/dist/modules/security/index.cjs +2 -2
  74. package/dist/modules/security/index.js +1 -1
  75. package/dist/modules/semanticfed/index.js +1 -1
  76. package/dist/modules/store/index.cjs +2 -2
  77. package/dist/modules/store/index.js +1 -1
  78. package/dist/modules/subscriberbot/index.js +1 -1
  79. package/dist/modules/support/index.js +1 -1
  80. package/dist/modules/tags/index.cjs +2 -2
  81. package/dist/modules/tags/index.js +1 -1
  82. package/dist/modules/technospam/index.cjs +2 -2
  83. package/dist/modules/technospam/index.js +1 -1
  84. package/dist/modules/theculturepost/index.js +1 -1
  85. package/dist/modules/theglobalfuel/index.js +1 -1
  86. package/dist/modules/timecampus/index.js +1 -1
  87. package/dist/modules/tours/index.cjs +2 -2
  88. package/dist/modules/tours/index.js +1 -1
  89. package/dist/modules/vibecontrols/index.js +1 -1
  90. package/dist/modules/workspaces/index.cjs +3 -3
  91. package/dist/modules/workspaces/index.js +1 -1
  92. package/package.json +1 -1
@@ -1,4 +1,4 @@
1
- 'use strict';require('graphql-request'),require('cross-fetch'),require('commander');var m=class extends Error{exitCode;hint;constructor(r,e){super(r),this.name="CliUserError",this.exitCode=e?.exitCode??1,this.hint=e?.hint;}},C=class extends m{constructor(r,e){super(r,{exitCode:2,hint:e?.hint??"Run `<product> auth login` to authenticate."}),this.name="CliAuthError";}},I=class extends Error{cause;constructor(r,e){super(r),this.name="CliInternalError",this.cause=e;}};var T=null;function k(a){T=a;}function h(){if(!T)throw new I("vibecontrols module helpers used before setHelpersContext was called");return T}function Nt(){let a=h();if(!a.auth.isAuthenticated())throw new C("Authentication required.",{hint:`Run \`${a.productName} auth login\` to authenticate.`})}async function s(a,r){return Nt(),h().gql.workspace.request(a,r)}async function w(a,r){return h().gql.workspaceAuthOnly.request(a,r)}function o(a){let r=a instanceof Error?a.message:String(a);throw new m(r)}function i(a,r,e){h().output.formatAndOutput(a,r,e);}function u(a){h().output.printSuccess(a);}function b(a){return h().output.formatDate(a)}function d(a,r){return h().output.truncate(a,r)}var S=`
1
+ 'use strict';require('graphql-request'),require('cross-fetch'),require('commander');var m=class extends Error{exitCode;hint;constructor(r,e){super(r),this.name="CliUserError",this.exitCode=e?.exitCode??1,this.hint=e?.hint;}},C=class extends m{constructor(r,e){super(r,{exitCode:2,hint:e?.hint??"Run `<product> auth login` to authenticate."}),this.name="CliAuthError";}},I=class extends Error{cause;constructor(r,e){super(r),this.name="CliInternalError",this.cause=e;}};var w=null;function k(a){w=a;}function h(){if(!w)throw new I("vibecontrols module helpers used before setHelpersContext was called");return w}function Nt(){let a=h();if(!a.auth.isAuthenticated())throw new C("Authentication required.",{hint:`Run \`${a.productName} auth login\` to authenticate.`})}async function s(a,r){return Nt(),h().gql.workspace.request(a,r)}async function T(a,r){return h().gql.workspaceAuthOnly.request(a,r)}function o(a){let r=a instanceof Error?a.message:String(a);throw new m(r)}function i(a,r,e){h().output.formatAndOutput(a,r,e);}function u(a){h().output.printSuccess(a);}function b(a){return h().output.formatDate(a)}function d(a,r){return h().output.truncate(a,r)}var S=`
2
2
  query TecCourse($id: ID!) {
3
3
  tecCourse(id: $id) {
4
4
  id slug title topic summary level status estimatedMinutes instructorId
@@ -322,4 +322,4 @@
322
322
  query TecHealth {
323
323
  tecHealth
324
324
  }
325
- `;function c(a){let r=Number.parseInt(a,10);if(Number.isNaN(r))throw new m(`Expected an integer but got "${a}"`);return r}function l(a){return a.split(",").map(r=>r.trim()).filter(r=>r.length>0)}function gt(a){let r=a.command("courses").description("Technospam courses");r.command("list").description("List courses").option("--level <l>","BEGINNER|INTERMEDIATE|ADVANCED|EXPERT").option("--status <s>","DRAFT|PUBLISHED|ARCHIVED").option("--limit <n>","Page size",c,50).option("--offset <n>","Offset",c,0).option("-f, --format <format>","Output format").action(async e=>{try{let t=await s(A,{level:e.level?e.level.toUpperCase():void 0,status:e.status?e.status.toUpperCase():void 0,pagination:{limit:e.limit,offset:e.offset}});i(e,t.tecListCourses.items,{headers:["ID","Title","Level","Status","Minutes"],rows:t.tecListCourses.items.map(n=>[d(n.id,12),n.title,n.level,n.status,String(n.estimatedMinutes??0)])});}catch(t){o(t);}}),r.command("get").description("Get a course by id").argument("<id>","Course ID").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let n=await s(S,{id:e});if(!n.tecCourse)throw new m(`Course ${e} not found`);i(t,n.tecCourse);}catch(n){o(n);}}),r.command("create").description("Create a course").requiredOption("--title <t>","Course title").requiredOption("--slug <slug>","URL slug").option("--topic <t>","Topic").option("--summary <s>","Summary").option("--level <l>","BEGINNER|INTERMEDIATE|ADVANCED|EXPERT","BEGINNER").option("--estimated-minutes <n>","Estimated minutes",c).option("--instructor-id <id>","Instructor user ID").option("--cover-file-id <id>","Cover image File ID").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async e=>{try{let t={title:e.title,slug:e.slug,level:(e.level??"BEGINNER").toUpperCase()};e.topic&&(t.topic=e.topic),e.summary&&(t.summary=e.summary),e.estimatedMinutes!==void 0&&(t.estimatedMinutes=e.estimatedMinutes),e.instructorId&&(t.instructorId=e.instructorId),e.coverFileId&&(t.coverFileId=e.coverFileId),e.tags&&(t.tags=l(e.tags));let n=await s(x,{input:t});u(`Course created: ${n.tecCreateCourse.title}`),i(e,n.tecCreateCourse);}catch(t){o(t);}}),r.command("update").description("Update a course").argument("<id>","Course ID").option("--title <t>","Course title").option("--topic <t>","Topic").option("--summary <s>","Summary").option("--level <l>","BEGINNER|INTERMEDIATE|ADVANCED|EXPERT").option("--estimated-minutes <n>","Estimated minutes",c).option("--instructor-id <id>","Instructor user ID").option("--cover-file-id <id>","Cover image File ID").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let n={};if(t.title&&(n.title=t.title),t.topic!==void 0&&(n.topic=t.topic),t.summary!==void 0&&(n.summary=t.summary),t.level&&(n.level=t.level.toUpperCase()),t.estimatedMinutes!==void 0&&(n.estimatedMinutes=t.estimatedMinutes),t.instructorId&&(n.instructorId=t.instructorId),t.coverFileId&&(n.coverFileId=t.coverFileId),t.tags&&(n.tags=l(t.tags)),!Object.keys(n).length)throw new m("No updates specified");let f=await s(O,{id:e,input:n});u("Course updated"),i(t,f.tecUpdateCourse);}catch(n){o(n);}}),r.command("publish").description("Publish a course (DRAFT -> PUBLISHED)").argument("<id>","Course ID").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let n=await s(R,{id:e});u(`Course published: ${n.tecPublishCourse.title}`),i(t,n.tecPublishCourse);}catch(n){o(n);}}),r.command("archive").description("Archive a course").argument("<id>","Course ID").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let n=await s(v,{id:e});u(n.tecArchiveCourse?"Course archived":"Course not archived"),i(t,{archived:n.tecArchiveCourse});}catch(n){o(n);}});}function ft(a){let r=a.command("lessons").description("Technospam course lessons");r.command("list").description("List lessons for a course").requiredOption("--course <id>","Course ID").option("-f, --format <format>","Output format").action(async e=>{try{let t=await s(P,{courseId:e.course});i(e,t.tecListLessons,{headers:["ID","Title","Kind","Position","Minutes","Preview"],rows:t.tecListLessons.map(n=>[d(n.id,12),n.title,n.kind,String(n.position),String(n.estimatedMinutes??0),n.isPreview?"yes":"no"])});}catch(t){o(t);}}),r.command("create").description("Create a lesson").requiredOption("--course <id>","Course ID").requiredOption("--title <t>","Lesson title").option("--kind <k>","ARTICLE|VIDEO|QUIZ|INTERACTIVE|PROJECT","ARTICLE").option("--content <s>","Lesson content").option("--position <n>","Order position",c).option("--estimated-minutes <n>","Estimated minutes",c).option("--file-id <id>","Attachment / video File ID").option("--preview","Mark as a free preview lesson").option("-f, --format <format>","Output format").action(async e=>{try{let t={courseId:e.course,title:e.title,kind:(e.kind??"ARTICLE").toUpperCase()};e.content&&(t.content=e.content),e.position!==void 0&&(t.position=e.position),e.estimatedMinutes!==void 0&&(t.estimatedMinutes=e.estimatedMinutes),e.fileId&&(t.fileId=e.fileId),e.preview&&(t.isPreview=!0);let n=await s(L,{input:t});u(`Lesson created: ${n.tecCreateLesson.title}`),i(e,n.tecCreateLesson);}catch(t){o(t);}}),r.command("update").description("Update a lesson").argument("<id>","Lesson ID").option("--title <t>","Lesson title").option("--kind <k>","ARTICLE|VIDEO|QUIZ|INTERACTIVE|PROJECT").option("--content <s>","Lesson content").option("--position <n>","Order position",c).option("--estimated-minutes <n>","Estimated minutes",c).option("--file-id <id>","Attachment / video File ID").option("--preview <bool>","true|false",e=>e==="true").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let n={};if(t.title&&(n.title=t.title),t.kind&&(n.kind=t.kind.toUpperCase()),t.content!==void 0&&(n.content=t.content),t.position!==void 0&&(n.position=t.position),t.estimatedMinutes!==void 0&&(n.estimatedMinutes=t.estimatedMinutes),t.fileId&&(n.fileId=t.fileId),t.preview!==void 0&&(n.isPreview=t.preview),!Object.keys(n).length)throw new m("No updates specified");let f=await s($,{id:e,input:n});u("Lesson updated"),i(t,f.tecUpdateLesson);}catch(n){o(n);}});}function It(a){let r=a.command("enrollments").description("Technospam course enrollments");r.command("list").description("List enrollments").option("--course <id>","Filter by course ID").option("--learner <id>","Filter by learner ID").option("--limit <n>","Page size",c,50).option("--offset <n>","Offset",c,0).option("-f, --format <format>","Output format").action(async e=>{try{let t=await s(D,{courseId:e.course,learnerId:e.learner,pagination:{limit:e.limit,offset:e.offset}});i(e,t.tecListEnrollments.items,{headers:["ID","Course","Learner","Status","Progress %","Lessons"],rows:t.tecListEnrollments.items.map(n=>[d(n.id,12),d(n.courseId,12),d(n.learnerId,12),n.status,String(n.progressPct),String(n.lessonsCompleted)])});}catch(t){o(t);}}),r.command("enroll").description("Enroll the calling user in a course").requiredOption("--course <id>","Course ID").option("-f, --format <format>","Output format").action(async e=>{try{let t=await s(M,{input:{courseId:e.course}});u(`Enrolled in course ${t.tecEnroll.courseId}`),i(e,t.tecEnroll);}catch(t){o(t);}}),r.command("update-progress").description("Update a learner's enrollment progress (auto-completes at 100%)").requiredOption("--enrollment <id>","Enrollment ID").requiredOption("--progress-pct <n>","Progress percent (0-100)",c).option("--lessons-completed <n>","Lessons completed count",c).option("-f, --format <format>","Output format").action(async e=>{try{let t={enrollmentId:e.enrollment,progressPct:e.progressPct};e.lessonsCompleted!==void 0&&(t.lessonsCompleted=e.lessonsCompleted);let n=await s(N,{input:t});u(`Progress updated to ${n.tecUpdateProgress.progressPct}%`),i(e,n.tecUpdateProgress);}catch(t){o(t);}});}function ht(a){let r=a.command("mentors").description("Technospam mentors");r.command("list").description("List mentors").option("--status <s>","PENDING|ACTIVE|PAUSED|INACTIVE").option("--limit <n>","Page size",c,50).option("--offset <n>","Offset",c,0).option("-f, --format <format>","Output format").action(async e=>{try{let t=await s(_,{status:e.status?e.status.toUpperCase():void 0,pagination:{limit:e.limit,offset:e.offset}});i(e,t.tecListMentors.items,{headers:["ID","Headline","Status","Rate","Rating","Accepting"],rows:t.tecListMentors.items.map(n=>[d(n.id,12),d(n.headline,30),n.status,String(n.hourlyRate??0),String(n.ratingAvg??0),n.isAcceptingMentees?"yes":"no"])});}catch(t){o(t);}}),r.command("get").description("Get a mentor by id").argument("<id>","Mentor ID").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let n=await s(U,{id:e});if(!n.tecMentor)throw new m(`Mentor ${e} not found`);i(t,n.tecMentor);}catch(n){o(n);}}),r.command("become").description("Create the calling user's mentor profile").requiredOption("--headline <h>","Mentor headline").option("--bio <s>","Bio").option("--expertise <csv>","Comma-separated areas of expertise").option("--hourly-rate <n>","Hourly rate",c).option("--currency <c>","Currency code").option("-f, --format <format>","Output format").action(async e=>{try{let t={headline:e.headline};e.bio&&(t.bio=e.bio),e.expertise&&(t.expertise=l(e.expertise)),e.hourlyRate!==void 0&&(t.hourlyRate=e.hourlyRate),e.currency&&(t.currency=e.currency);let n=await s(q,{input:t});u(`Mentor profile created: ${n.tecBecomeMentor.headline}`),i(e,n.tecBecomeMentor);}catch(t){o(t);}}),r.command("update").description("Update a mentor profile").argument("<id>","Mentor ID").option("--headline <h>","Mentor headline").option("--bio <s>","Bio").option("--expertise <csv>","Comma-separated areas of expertise").option("--hourly-rate <n>","Hourly rate",c).option("--currency <c>","Currency code").option("--accepting <bool>","true|false (accepting mentees)",e=>e==="true").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let n={};if(t.headline&&(n.headline=t.headline),t.bio!==void 0&&(n.bio=t.bio),t.expertise&&(n.expertise=l(t.expertise)),t.hourlyRate!==void 0&&(n.hourlyRate=t.hourlyRate),t.currency&&(n.currency=t.currency),t.accepting!==void 0&&(n.isAcceptingMentees=t.accepting),!Object.keys(n).length)throw new m("No updates specified");let f=await s(H,{id:e,input:n});u("Mentor updated"),i(t,f.tecUpdateMentor);}catch(n){o(n);}}),r.command("approve").description("Approve a pending mentor profile (PENDING -> ACTIVE)").argument("<id>","Mentor ID").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let n=await s(F,{id:e});u(`Mentor approved: ${n.tecApproveMentor.status}`),i(t,n.tecApproveMentor);}catch(n){o(n);}});}function Ct(a){let r=a.command("sessions").description("Technospam mentorship sessions");r.command("list").description("List mentorship sessions").option("--mentor <id>","Filter by mentor ID").option("--mentee <id>","Filter by mentee ID").option("--status <s>","REQUESTED|CONFIRMED|COMPLETED|CANCELLED|NO_SHOW").option("-f, --format <format>","Output format").action(async e=>{try{let t=await s(G,{mentorId:e.mentor,menteeId:e.mentee,status:e.status?e.status.toUpperCase():void 0});i(e,t.tecListSessions,{headers:["ID","Mentor","Mentee","Topic","Status","Scheduled"],rows:t.tecListSessions.map(n=>[d(n.id,12),d(n.mentorId,12),d(n.menteeId,12),d(n.topic,24),n.status,b(n.scheduledAt)])});}catch(t){o(t);}}),r.command("book").description("Book a 1:1 session with a mentor as the calling mentee").requiredOption("--mentor <id>","Mentor ID").requiredOption("--topic <t>","Session topic").requiredOption("--scheduled-at <iso>","Scheduled time (ISO date)").option("--agenda <s>","Agenda").option("--duration-minutes <n>","Duration (minutes)",c).option("-f, --format <format>","Output format").action(async e=>{try{let t={mentorId:e.mentor,topic:e.topic,scheduledAt:e.scheduledAt};e.agenda&&(t.agenda=e.agenda),e.durationMinutes!==void 0&&(t.durationMinutes=e.durationMinutes);let n=await s(j,{input:t});u(`Session booked: ${n.tecBookSession.topic}`),i(e,n.tecBookSession);}catch(t){o(t);}}),r.command("confirm").description("Confirm a requested session").argument("<id>","Session ID").option("--meeting-url <url>","Meeting URL").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let n=await s(B,{id:e,meetingUrl:t.meetingUrl});u("Session confirmed"),i(t,n.tecConfirmSession);}catch(n){o(n);}}),r.command("cancel").description("Cancel a session").argument("<id>","Session ID").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let n=await s(z,{id:e});u("Session cancelled"),i(t,n.tecCancelSession);}catch(n){o(n);}}),r.command("complete").description("Complete a session with optional rating and feedback").argument("<id>","Session ID").option("--rating <n>","Rating (1-5)",c).option("--feedback <s>","Feedback").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let n=await s(W,{id:e,rating:t.rating,feedback:t.feedback});u("Session completed"),i(t,n.tecCompleteSession);}catch(n){o(n);}});}function bt(a){let r=a.command("hackathons").description("Technospam hackathons");r.command("list").description("List hackathons").option("--status <s>","DRAFT|REGISTRATION_OPEN|IN_PROGRESS|JUDGING|COMPLETED|CANCELLED").option("--limit <n>","Page size",c,50).option("--offset <n>","Offset",c,0).option("-f, --format <format>","Output format").action(async e=>{try{let t=await s(K,{status:e.status?e.status.toUpperCase():void 0,pagination:{limit:e.limit,offset:e.offset}});i(e,t.tecListHackathons.items,{headers:["ID","Title","Status","Start","Prize"],rows:t.tecListHackathons.items.map(n=>[d(n.id,12),n.title,n.status,b(n.startAt),String(n.prizePool??0)])});}catch(t){o(t);}}),r.command("get").description("Get a hackathon by id").argument("<id>","Hackathon ID").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let n=await s(V,{id:e});if(!n.tecHackathon)throw new m(`Hackathon ${e} not found`);i(t,n.tecHackathon);}catch(n){o(n);}}),r.command("create").description("Create a hackathon").requiredOption("--title <t>","Hackathon title").requiredOption("--slug <slug>","URL slug").requiredOption("--start-at <iso>","Start time (ISO date)").requiredOption("--end-at <iso>","End time (ISO date)").option("--theme <t>","Theme").option("--description <s>","Description").option("--submission-deadline <iso>","Submission deadline (ISO date)").option("--max-team-size <n>","Max team size",c).option("--prize-pool <n>","Prize pool",c).option("--currency <c>","Currency code").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async e=>{try{let t={title:e.title,slug:e.slug,startAt:e.startAt,endAt:e.endAt};e.theme&&(t.theme=e.theme),e.description&&(t.description=e.description),e.submissionDeadline&&(t.submissionDeadline=e.submissionDeadline),e.maxTeamSize!==void 0&&(t.maxTeamSize=e.maxTeamSize),e.prizePool!==void 0&&(t.prizePool=e.prizePool),e.currency&&(t.currency=e.currency),e.tags&&(t.tags=l(e.tags));let n=await s(J,{input:t});u(`Hackathon created: ${n.tecCreateHackathon.title}`),i(e,n.tecCreateHackathon);}catch(t){o(t);}}),r.command("update").description("Update a hackathon").argument("<id>","Hackathon ID").option("--title <t>","Hackathon title").option("--theme <t>","Theme").option("--description <s>","Description").option("--start-at <iso>","Start time (ISO date)").option("--end-at <iso>","End time (ISO date)").option("--submission-deadline <iso>","Submission deadline (ISO date)").option("--max-team-size <n>","Max team size",c).option("--prize-pool <n>","Prize pool",c).option("--currency <c>","Currency code").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let n={};if(t.title&&(n.title=t.title),t.theme!==void 0&&(n.theme=t.theme),t.description!==void 0&&(n.description=t.description),t.startAt&&(n.startAt=t.startAt),t.endAt&&(n.endAt=t.endAt),t.submissionDeadline&&(n.submissionDeadline=t.submissionDeadline),t.maxTeamSize!==void 0&&(n.maxTeamSize=t.maxTeamSize),t.prizePool!==void 0&&(n.prizePool=t.prizePool),t.currency&&(n.currency=t.currency),t.tags&&(n.tags=l(t.tags)),!Object.keys(n).length)throw new m("No updates specified");let f=await s(Y,{id:e,input:n});u("Hackathon updated"),i(t,f.tecUpdateHackathon);}catch(n){o(n);}}),r.command("open-registration").description("Open registration for a hackathon (DRAFT -> REGISTRATION_OPEN)").argument("<id>","Hackathon ID").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let n=await s(Q,{id:e});u(`Registration open: ${n.tecOpenRegistration.status}`),i(t,n.tecOpenRegistration);}catch(n){o(n);}});}function Tt(a){let r=a.command("teams").description("Technospam hackathon teams");r.command("list").description("List teams for a hackathon").requiredOption("--hackathon <id>","Hackathon ID").option("-f, --format <format>","Output format").action(async e=>{try{let t=await s(X,{hackathonId:e.hackathon});i(e,t.tecListTeams,{headers:["ID","Name","Captain","Status","Score"],rows:t.tecListTeams.map(n=>[d(n.id,12),n.name,d(n.captainId,12),n.status,String(n.score??0)])});}catch(t){o(t);}}),r.command("register").description("Register a team for a hackathon with the calling user as captain").requiredOption("--hackathon <id>","Hackathon ID").requiredOption("--name <name>","Team name").option("--members <csv>","Comma-separated member user IDs").option("-f, --format <format>","Output format").action(async e=>{try{let t={hackathonId:e.hackathon,name:e.name};e.members&&(t.memberIds=l(e.members));let n=await s(Z,{input:t});u(`Team registered: ${n.tecRegisterTeam.name}`),i(e,n.tecRegisterTeam);}catch(t){o(t);}}),r.command("submit-project").description("Submit a team's project for judging").requiredOption("--team <id>","Team ID").requiredOption("--project-name <n>","Project name").option("--project-url <url>","Project URL").option("--repo-url <url>","Repository URL").option("--pitch <s>","Pitch").option("-f, --format <format>","Output format").action(async e=>{try{let t={teamId:e.team,projectName:e.projectName};e.projectUrl&&(t.projectUrl=e.projectUrl),e.repoUrl&&(t.repoUrl=e.repoUrl),e.pitch&&(t.pitch=e.pitch);let n=await s(tt,{input:t});u(`Project submitted: ${n.tecSubmitProject.status}`),i(e,n.tecSubmitProject);}catch(t){o(t);}}),r.command("score").description("Record a judge score for a team and optionally mark it WINNER").argument("<id>","Team ID").requiredOption("--score <n>","Score",c).option("--winner","Mark the team as winner").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let n=await s(et,{id:e,score:t.score,winner:t.winner??void 0});u(`Team scored: ${n.tecScoreTeam.score}`),i(t,n.tecScoreTeam);}catch(n){o(n);}});}function wt(a){let r=a.command("problems").description("Technospam practice problems");r.command("list").description("List problems").option("--difficulty <d>","EASY|MEDIUM|HARD").option("--status <s>","DRAFT|PUBLISHED|ARCHIVED").option("--topic <t>","Filter by topic").option("--limit <n>","Page size",c,50).option("--offset <n>","Offset",c,0).option("-f, --format <format>","Output format").action(async e=>{try{let t=await s(rt,{difficulty:e.difficulty?e.difficulty.toUpperCase():void 0,status:e.status?e.status.toUpperCase():void 0,topic:e.topic,pagination:{limit:e.limit,offset:e.offset}});i(e,t.tecListProblems.items,{headers:["ID","Title","Difficulty","Status","Points"],rows:t.tecListProblems.items.map(n=>[d(n.id,12),n.title,n.difficulty,n.status,String(n.points??0)])});}catch(t){o(t);}}),r.command("get").description("Get a problem by id").argument("<id>","Problem ID").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let n=await s(nt,{id:e});if(!n.tecProblem)throw new m(`Problem ${e} not found`);i(t,n.tecProblem);}catch(n){o(n);}}),r.command("create").description("Create a problem").requiredOption("--title <t>","Problem title").requiredOption("--slug <slug>","URL slug").option("--topic <t>","Topic").option("--statement <s>","Problem statement").option("--difficulty <d>","EASY|MEDIUM|HARD","EASY").option("--points <n>","Points",c).option("--languages <csv>","Comma-separated allowed languages").option("--starter-code <s>","Starter code").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async e=>{try{let t={title:e.title,slug:e.slug,difficulty:(e.difficulty??"EASY").toUpperCase()};e.topic&&(t.topic=e.topic),e.statement&&(t.statement=e.statement),e.points!==void 0&&(t.points=e.points),e.languages&&(t.languages=l(e.languages)),e.starterCode&&(t.starterCode=e.starterCode),e.tags&&(t.tags=l(e.tags));let n=await s(ot,{input:t});u(`Problem created: ${n.tecCreateProblem.title}`),i(e,n.tecCreateProblem);}catch(t){o(t);}}),r.command("update").description("Update a problem").argument("<id>","Problem ID").option("--title <t>","Problem title").option("--topic <t>","Topic").option("--statement <s>","Problem statement").option("--difficulty <d>","EASY|MEDIUM|HARD").option("--points <n>","Points",c).option("--languages <csv>","Comma-separated allowed languages").option("--starter-code <s>","Starter code").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let n={};if(t.title&&(n.title=t.title),t.topic!==void 0&&(n.topic=t.topic),t.statement!==void 0&&(n.statement=t.statement),t.difficulty&&(n.difficulty=t.difficulty.toUpperCase()),t.points!==void 0&&(n.points=t.points),t.languages&&(n.languages=l(t.languages)),t.starterCode!==void 0&&(n.starterCode=t.starterCode),t.tags&&(n.tags=l(t.tags)),!Object.keys(n).length)throw new m("No updates specified");let f=await s(it,{id:e,input:n});u("Problem updated"),i(t,f.tecUpdateProblem);}catch(n){o(n);}}),r.command("publish").description("Publish a problem (DRAFT -> PUBLISHED)").argument("<id>","Problem ID").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let n=await s(st,{id:e});u(`Problem published: ${n.tecPublishProblem.title}`),i(t,n.tecPublishProblem);}catch(n){o(n);}});}function yt(a){let r=a.command("submissions").description("Technospam problem submissions");r.command("list").description("List submissions").option("--problem <id>","Filter by problem ID").option("--learner <id>","Filter by learner ID").option("--limit <n>","Page size",c,50).option("--offset <n>","Offset",c,0).option("-f, --format <format>","Output format").action(async e=>{try{let t=await s(at,{problemId:e.problem,learnerId:e.learner,pagination:{limit:e.limit,offset:e.offset}});i(e,t.tecListSubmissions.items,{headers:["ID","Problem","Learner","Language","Verdict","Points"],rows:t.tecListSubmissions.items.map(n=>[d(n.id,12),d(n.problemId,12),d(n.learnerId,12),n.language,n.verdict,String(n.pointsAwarded??0)])});}catch(t){o(t);}}),r.command("submit").description("Submit a solution to a problem").requiredOption("--problem <id>","Problem ID").requiredOption("--language <l>","Language").requiredOption("--code <c>","Solution code").option("-f, --format <format>","Output format").action(async e=>{try{let t={problemId:e.problem,language:e.language,code:e.code},n=await s(ct,{input:t});u(`Solution submitted: ${n.tecSubmitSolution.verdict}`),i(e,n.tecSubmitSolution);}catch(t){o(t);}}),r.command("grade").description("Record the grader verdict for a submission").argument("<id>","Submission ID").requiredOption("--verdict <v>","PENDING|ACCEPTED|WRONG_ANSWER|TIME_LIMIT_EXCEEDED|RUNTIME_ERROR|COMPILE_ERROR").option("--runtime-ms <n>","Runtime in milliseconds",c).option("-f, --format <format>","Output format").action(async(e,t)=>{try{let n=await s(ut,{id:e,verdict:t.verdict.toUpperCase(),runtimeMs:t.runtimeMs});u(`Submission graded: ${n.tecGradeSubmission.verdict}`),i(t,n.tecGradeSubmission);}catch(n){o(n);}});}function Et(a){let r=a.command("certificates").description("Technospam completion certificates");r.command("list").description("List certificates").option("--course <id>","Filter by course ID").option("--learner <id>","Filter by learner ID").option("-f, --format <format>","Output format").action(async e=>{try{let t=await s(dt,{courseId:e.course,learnerId:e.learner});i(e,t.tecListCertificates,{headers:["ID","Serial","Course","Learner","Score","Status"],rows:t.tecListCertificates.map(n=>[d(n.id,12),n.serial,d(n.courseId,12),d(n.learnerId,12),String(n.score),n.status])});}catch(t){o(t);}}),r.command("issue").description("Issue a verifiable completion certificate for a learner on a course").requiredOption("--course <id>","Course ID").requiredOption("--learner <id>","Learner ID").requiredOption("--score <n>","Score",c).option("-f, --format <format>","Output format").action(async e=>{try{let t=await s(pt,{courseId:e.course,learnerId:e.learner,score:e.score});u(`Certificate issued: ${t.tecIssueCertificate.serial}`),i(e,t.tecIssueCertificate);}catch(t){o(t);}}),r.command("revoke").description("Revoke a certificate").argument("<id>","Certificate ID").option("--reason <s>","Revocation reason").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let n=await s(mt,{id:e,reason:t.reason});u(`Certificate revoked: ${n.tecRevokeCertificate.status}`),i(t,n.tecRevokeCertificate);}catch(n){o(n);}});}function kt(a){a.command("health").description("Technospam service health check (public)").option("-f, --format <format>","Output format").action(async r=>{try{let e=await w(lt);u(e.tecHealth),i(r,{health:e.tecHealth});}catch(e){o(e);}});}var Ut={id:"technospam",version:"1.0.0",displayName:"Technospam",dependsOn:["auth","workspaces"],register(a,r){k(r);let e=a.command("technospam").description("Technospam developer-education platform");gt(e),ft(e),It(e),ht(e),Ct(e),bt(e),Tt(e),wt(e),yt(e),Et(e),kt(e);}},_n=Ut;module.exports=_n;
325
+ `;function c(a){let r=Number.parseInt(a,10);if(Number.isNaN(r))throw new m(`Expected an integer but got "${a}"`);return r}function l(a){return a.split(",").map(r=>r.trim()).filter(r=>r.length>0)}function ft(a){let r=a.command("courses").description("Technospam courses");r.command("list").description("List courses").option("--level <l>","BEGINNER|INTERMEDIATE|ADVANCED|EXPERT").option("--status <s>","DRAFT|PUBLISHED|ARCHIVED").option("--limit <n>","Page size",c,50).option("--offset <n>","Offset",c,0).option("-f, --format <format>","Output format").action(async e=>{try{let t=await s(A,{level:e.level?e.level.toUpperCase():void 0,status:e.status?e.status.toUpperCase():void 0,pagination:{limit:e.limit,offset:e.offset}});i(e,t.tecListCourses.items,{headers:["ID","Title","Level","Status","Minutes"],rows:t.tecListCourses.items.map(n=>[d(n.id,12),n.title,n.level,n.status,String(n.estimatedMinutes??0)])});}catch(t){o(t);}}),r.command("get").description("Get a course by id").argument("<id>","Course ID").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let n=await s(S,{id:e});if(!n.tecCourse)throw new m(`Course ${e} not found`);i(t,n.tecCourse);}catch(n){o(n);}}),r.command("create").description("Create a course").requiredOption("--title <t>","Course title").requiredOption("--slug <slug>","URL slug").option("--topic <t>","Topic").option("--summary <s>","Summary").option("--level <l>","BEGINNER|INTERMEDIATE|ADVANCED|EXPERT","BEGINNER").option("--estimated-minutes <n>","Estimated minutes",c).option("--instructor-id <id>","Instructor user ID").option("--cover-file-id <id>","Cover image File ID").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async e=>{try{let t={title:e.title,slug:e.slug,level:(e.level??"BEGINNER").toUpperCase()};e.topic&&(t.topic=e.topic),e.summary&&(t.summary=e.summary),e.estimatedMinutes!==void 0&&(t.estimatedMinutes=e.estimatedMinutes),e.instructorId&&(t.instructorId=e.instructorId),e.coverFileId&&(t.coverFileId=e.coverFileId),e.tags&&(t.tags=l(e.tags));let n=await s(x,{input:t});u(`Course created: ${n.tecCreateCourse.title}`),i(e,n.tecCreateCourse);}catch(t){o(t);}}),r.command("update").description("Update a course").argument("<id>","Course ID").option("--title <t>","Course title").option("--topic <t>","Topic").option("--summary <s>","Summary").option("--level <l>","BEGINNER|INTERMEDIATE|ADVANCED|EXPERT").option("--estimated-minutes <n>","Estimated minutes",c).option("--instructor-id <id>","Instructor user ID").option("--cover-file-id <id>","Cover image File ID").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let n={};if(t.title&&(n.title=t.title),t.topic!==void 0&&(n.topic=t.topic),t.summary!==void 0&&(n.summary=t.summary),t.level&&(n.level=t.level.toUpperCase()),t.estimatedMinutes!==void 0&&(n.estimatedMinutes=t.estimatedMinutes),t.instructorId&&(n.instructorId=t.instructorId),t.coverFileId&&(n.coverFileId=t.coverFileId),t.tags&&(n.tags=l(t.tags)),!Object.keys(n).length)throw new m("No updates specified");let g=await s(O,{id:e,input:n});u("Course updated"),i(t,g.tecUpdateCourse);}catch(n){o(n);}}),r.command("publish").description("Publish a course (DRAFT -> PUBLISHED)").argument("<id>","Course ID").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let n=await s(R,{id:e});u(`Course published: ${n.tecPublishCourse.title}`),i(t,n.tecPublishCourse);}catch(n){o(n);}}),r.command("archive").description("Archive a course").argument("<id>","Course ID").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let n=await s(v,{id:e});u(n.tecArchiveCourse?"Course archived":"Course not archived"),i(t,{archived:n.tecArchiveCourse});}catch(n){o(n);}});}function gt(a){let r=a.command("lessons").description("Technospam course lessons");r.command("list").description("List lessons for a course").requiredOption("--course <id>","Course ID").option("-f, --format <format>","Output format").action(async e=>{try{let t=await s(P,{courseId:e.course});i(e,t.tecListLessons,{headers:["ID","Title","Kind","Position","Minutes","Preview"],rows:t.tecListLessons.map(n=>[d(n.id,12),n.title,n.kind,String(n.position),String(n.estimatedMinutes??0),n.isPreview?"yes":"no"])});}catch(t){o(t);}}),r.command("create").description("Create a lesson").requiredOption("--course <id>","Course ID").requiredOption("--title <t>","Lesson title").option("--kind <k>","ARTICLE|VIDEO|QUIZ|INTERACTIVE|PROJECT","ARTICLE").option("--content <s>","Lesson content").option("--position <n>","Order position",c).option("--estimated-minutes <n>","Estimated minutes",c).option("--file-id <id>","Attachment / video File ID").option("--preview","Mark as a free preview lesson").option("-f, --format <format>","Output format").action(async e=>{try{let t={courseId:e.course,title:e.title,kind:(e.kind??"ARTICLE").toUpperCase()};e.content&&(t.content=e.content),e.position!==void 0&&(t.position=e.position),e.estimatedMinutes!==void 0&&(t.estimatedMinutes=e.estimatedMinutes),e.fileId&&(t.fileId=e.fileId),e.preview&&(t.isPreview=!0);let n=await s(L,{input:t});u(`Lesson created: ${n.tecCreateLesson.title}`),i(e,n.tecCreateLesson);}catch(t){o(t);}}),r.command("update").description("Update a lesson").argument("<id>","Lesson ID").option("--title <t>","Lesson title").option("--kind <k>","ARTICLE|VIDEO|QUIZ|INTERACTIVE|PROJECT").option("--content <s>","Lesson content").option("--position <n>","Order position",c).option("--estimated-minutes <n>","Estimated minutes",c).option("--file-id <id>","Attachment / video File ID").option("--preview <bool>","true|false",e=>e==="true").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let n={};if(t.title&&(n.title=t.title),t.kind&&(n.kind=t.kind.toUpperCase()),t.content!==void 0&&(n.content=t.content),t.position!==void 0&&(n.position=t.position),t.estimatedMinutes!==void 0&&(n.estimatedMinutes=t.estimatedMinutes),t.fileId&&(n.fileId=t.fileId),t.preview!==void 0&&(n.isPreview=t.preview),!Object.keys(n).length)throw new m("No updates specified");let g=await s($,{id:e,input:n});u("Lesson updated"),i(t,g.tecUpdateLesson);}catch(n){o(n);}});}function It(a){let r=a.command("enrollments").description("Technospam course enrollments");r.command("list").description("List enrollments").option("--course <id>","Filter by course ID").option("--learner <id>","Filter by learner ID").option("--limit <n>","Page size",c,50).option("--offset <n>","Offset",c,0).option("-f, --format <format>","Output format").action(async e=>{try{let t=await s(D,{courseId:e.course,learnerId:e.learner,pagination:{limit:e.limit,offset:e.offset}});i(e,t.tecListEnrollments.items,{headers:["ID","Course","Learner","Status","Progress %","Lessons"],rows:t.tecListEnrollments.items.map(n=>[d(n.id,12),d(n.courseId,12),d(n.learnerId,12),n.status,String(n.progressPct),String(n.lessonsCompleted)])});}catch(t){o(t);}}),r.command("enroll").description("Enroll the calling user in a course").requiredOption("--course <id>","Course ID").option("-f, --format <format>","Output format").action(async e=>{try{let t=await s(M,{input:{courseId:e.course}});u(`Enrolled in course ${t.tecEnroll.courseId}`),i(e,t.tecEnroll);}catch(t){o(t);}}),r.command("update-progress").description("Update a learner's enrollment progress (auto-completes at 100%)").requiredOption("--enrollment <id>","Enrollment ID").requiredOption("--progress-pct <n>","Progress percent (0-100)",c).option("--lessons-completed <n>","Lessons completed count",c).option("-f, --format <format>","Output format").action(async e=>{try{let t={enrollmentId:e.enrollment,progressPct:e.progressPct};e.lessonsCompleted!==void 0&&(t.lessonsCompleted=e.lessonsCompleted);let n=await s(N,{input:t});u(`Progress updated to ${n.tecUpdateProgress.progressPct}%`),i(e,n.tecUpdateProgress);}catch(t){o(t);}});}function ht(a){let r=a.command("mentors").description("Technospam mentors");r.command("list").description("List mentors").option("--status <s>","PENDING|ACTIVE|PAUSED|INACTIVE").option("--limit <n>","Page size",c,50).option("--offset <n>","Offset",c,0).option("-f, --format <format>","Output format").action(async e=>{try{let t=await s(_,{status:e.status?e.status.toUpperCase():void 0,pagination:{limit:e.limit,offset:e.offset}});i(e,t.tecListMentors.items,{headers:["ID","Headline","Status","Rate","Rating","Accepting"],rows:t.tecListMentors.items.map(n=>[d(n.id,12),d(n.headline,30),n.status,String(n.hourlyRate??0),String(n.ratingAvg??0),n.isAcceptingMentees?"yes":"no"])});}catch(t){o(t);}}),r.command("get").description("Get a mentor by id").argument("<id>","Mentor ID").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let n=await s(U,{id:e});if(!n.tecMentor)throw new m(`Mentor ${e} not found`);i(t,n.tecMentor);}catch(n){o(n);}}),r.command("become").description("Create the calling user's mentor profile").requiredOption("--headline <h>","Mentor headline").option("--bio <s>","Bio").option("--expertise <csv>","Comma-separated areas of expertise").option("--hourly-rate <n>","Hourly rate",c).option("--currency <c>","Currency code").option("-f, --format <format>","Output format").action(async e=>{try{let t={headline:e.headline};e.bio&&(t.bio=e.bio),e.expertise&&(t.expertise=l(e.expertise)),e.hourlyRate!==void 0&&(t.hourlyRate=e.hourlyRate),e.currency&&(t.currency=e.currency);let n=await s(q,{input:t});u(`Mentor profile created: ${n.tecBecomeMentor.headline}`),i(e,n.tecBecomeMentor);}catch(t){o(t);}}),r.command("update").description("Update a mentor profile").argument("<id>","Mentor ID").option("--headline <h>","Mentor headline").option("--bio <s>","Bio").option("--expertise <csv>","Comma-separated areas of expertise").option("--hourly-rate <n>","Hourly rate",c).option("--currency <c>","Currency code").option("--accepting <bool>","true|false (accepting mentees)",e=>e==="true").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let n={};if(t.headline&&(n.headline=t.headline),t.bio!==void 0&&(n.bio=t.bio),t.expertise&&(n.expertise=l(t.expertise)),t.hourlyRate!==void 0&&(n.hourlyRate=t.hourlyRate),t.currency&&(n.currency=t.currency),t.accepting!==void 0&&(n.isAcceptingMentees=t.accepting),!Object.keys(n).length)throw new m("No updates specified");let g=await s(H,{id:e,input:n});u("Mentor updated"),i(t,g.tecUpdateMentor);}catch(n){o(n);}}),r.command("approve").description("Approve a pending mentor profile (PENDING -> ACTIVE)").argument("<id>","Mentor ID").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let n=await s(F,{id:e});u(`Mentor approved: ${n.tecApproveMentor.status}`),i(t,n.tecApproveMentor);}catch(n){o(n);}});}function Ct(a){let r=a.command("sessions").description("Technospam mentorship sessions");r.command("list").description("List mentorship sessions").option("--mentor <id>","Filter by mentor ID").option("--mentee <id>","Filter by mentee ID").option("--status <s>","REQUESTED|CONFIRMED|COMPLETED|CANCELLED|NO_SHOW").option("-f, --format <format>","Output format").action(async e=>{try{let t=await s(G,{mentorId:e.mentor,menteeId:e.mentee,status:e.status?e.status.toUpperCase():void 0});i(e,t.tecListSessions,{headers:["ID","Mentor","Mentee","Topic","Status","Scheduled"],rows:t.tecListSessions.map(n=>[d(n.id,12),d(n.mentorId,12),d(n.menteeId,12),d(n.topic,24),n.status,b(n.scheduledAt)])});}catch(t){o(t);}}),r.command("book").description("Book a 1:1 session with a mentor as the calling mentee").requiredOption("--mentor <id>","Mentor ID").requiredOption("--topic <t>","Session topic").requiredOption("--scheduled-at <iso>","Scheduled time (ISO date)").option("--agenda <s>","Agenda").option("--duration-minutes <n>","Duration (minutes)",c).option("-f, --format <format>","Output format").action(async e=>{try{let t={mentorId:e.mentor,topic:e.topic,scheduledAt:e.scheduledAt};e.agenda&&(t.agenda=e.agenda),e.durationMinutes!==void 0&&(t.durationMinutes=e.durationMinutes);let n=await s(j,{input:t});u(`Session booked: ${n.tecBookSession.topic}`),i(e,n.tecBookSession);}catch(t){o(t);}}),r.command("confirm").description("Confirm a requested session").argument("<id>","Session ID").option("--meeting-url <url>","Meeting URL").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let n=await s(B,{id:e,meetingUrl:t.meetingUrl});u("Session confirmed"),i(t,n.tecConfirmSession);}catch(n){o(n);}}),r.command("cancel").description("Cancel a session").argument("<id>","Session ID").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let n=await s(z,{id:e});u("Session cancelled"),i(t,n.tecCancelSession);}catch(n){o(n);}}),r.command("complete").description("Complete a session with optional rating and feedback").argument("<id>","Session ID").option("--rating <n>","Rating (1-5)",c).option("--feedback <s>","Feedback").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let n=await s(W,{id:e,rating:t.rating,feedback:t.feedback});u("Session completed"),i(t,n.tecCompleteSession);}catch(n){o(n);}});}function bt(a){let r=a.command("hackathons").description("Technospam hackathons");r.command("list").description("List hackathons").option("--status <s>","DRAFT|REGISTRATION_OPEN|IN_PROGRESS|JUDGING|COMPLETED|CANCELLED").option("--limit <n>","Page size",c,50).option("--offset <n>","Offset",c,0).option("-f, --format <format>","Output format").action(async e=>{try{let t=await s(K,{status:e.status?e.status.toUpperCase():void 0,pagination:{limit:e.limit,offset:e.offset}});i(e,t.tecListHackathons.items,{headers:["ID","Title","Status","Start","Prize"],rows:t.tecListHackathons.items.map(n=>[d(n.id,12),n.title,n.status,b(n.startAt),String(n.prizePool??0)])});}catch(t){o(t);}}),r.command("get").description("Get a hackathon by id").argument("<id>","Hackathon ID").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let n=await s(V,{id:e});if(!n.tecHackathon)throw new m(`Hackathon ${e} not found`);i(t,n.tecHackathon);}catch(n){o(n);}}),r.command("create").description("Create a hackathon").requiredOption("--title <t>","Hackathon title").requiredOption("--slug <slug>","URL slug").requiredOption("--start-at <iso>","Start time (ISO date)").requiredOption("--end-at <iso>","End time (ISO date)").option("--theme <t>","Theme").option("--description <s>","Description").option("--submission-deadline <iso>","Submission deadline (ISO date)").option("--max-team-size <n>","Max team size",c).option("--prize-pool <n>","Prize pool",c).option("--currency <c>","Currency code").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async e=>{try{let t={title:e.title,slug:e.slug,startAt:e.startAt,endAt:e.endAt};e.theme&&(t.theme=e.theme),e.description&&(t.description=e.description),e.submissionDeadline&&(t.submissionDeadline=e.submissionDeadline),e.maxTeamSize!==void 0&&(t.maxTeamSize=e.maxTeamSize),e.prizePool!==void 0&&(t.prizePool=e.prizePool),e.currency&&(t.currency=e.currency),e.tags&&(t.tags=l(e.tags));let n=await s(J,{input:t});u(`Hackathon created: ${n.tecCreateHackathon.title}`),i(e,n.tecCreateHackathon);}catch(t){o(t);}}),r.command("update").description("Update a hackathon").argument("<id>","Hackathon ID").option("--title <t>","Hackathon title").option("--theme <t>","Theme").option("--description <s>","Description").option("--start-at <iso>","Start time (ISO date)").option("--end-at <iso>","End time (ISO date)").option("--submission-deadline <iso>","Submission deadline (ISO date)").option("--max-team-size <n>","Max team size",c).option("--prize-pool <n>","Prize pool",c).option("--currency <c>","Currency code").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let n={};if(t.title&&(n.title=t.title),t.theme!==void 0&&(n.theme=t.theme),t.description!==void 0&&(n.description=t.description),t.startAt&&(n.startAt=t.startAt),t.endAt&&(n.endAt=t.endAt),t.submissionDeadline&&(n.submissionDeadline=t.submissionDeadline),t.maxTeamSize!==void 0&&(n.maxTeamSize=t.maxTeamSize),t.prizePool!==void 0&&(n.prizePool=t.prizePool),t.currency&&(n.currency=t.currency),t.tags&&(n.tags=l(t.tags)),!Object.keys(n).length)throw new m("No updates specified");let g=await s(Y,{id:e,input:n});u("Hackathon updated"),i(t,g.tecUpdateHackathon);}catch(n){o(n);}}),r.command("open-registration").description("Open registration for a hackathon (DRAFT -> REGISTRATION_OPEN)").argument("<id>","Hackathon ID").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let n=await s(Q,{id:e});u(`Registration open: ${n.tecOpenRegistration.status}`),i(t,n.tecOpenRegistration);}catch(n){o(n);}});}function wt(a){let r=a.command("teams").description("Technospam hackathon teams");r.command("list").description("List teams for a hackathon").requiredOption("--hackathon <id>","Hackathon ID").option("-f, --format <format>","Output format").action(async e=>{try{let t=await s(X,{hackathonId:e.hackathon});i(e,t.tecListTeams,{headers:["ID","Name","Captain","Status","Score"],rows:t.tecListTeams.map(n=>[d(n.id,12),n.name,d(n.captainId,12),n.status,String(n.score??0)])});}catch(t){o(t);}}),r.command("register").description("Register a team for a hackathon with the calling user as captain").requiredOption("--hackathon <id>","Hackathon ID").requiredOption("--name <name>","Team name").option("--members <csv>","Comma-separated member user IDs").option("-f, --format <format>","Output format").action(async e=>{try{let t={hackathonId:e.hackathon,name:e.name};e.members&&(t.memberIds=l(e.members));let n=await s(Z,{input:t});u(`Team registered: ${n.tecRegisterTeam.name}`),i(e,n.tecRegisterTeam);}catch(t){o(t);}}),r.command("submit-project").description("Submit a team's project for judging").requiredOption("--team <id>","Team ID").requiredOption("--project-name <n>","Project name").option("--project-url <url>","Project URL").option("--repo-url <url>","Repository URL").option("--pitch <s>","Pitch").option("-f, --format <format>","Output format").action(async e=>{try{let t={teamId:e.team,projectName:e.projectName};e.projectUrl&&(t.projectUrl=e.projectUrl),e.repoUrl&&(t.repoUrl=e.repoUrl),e.pitch&&(t.pitch=e.pitch);let n=await s(tt,{input:t});u(`Project submitted: ${n.tecSubmitProject.status}`),i(e,n.tecSubmitProject);}catch(t){o(t);}}),r.command("score").description("Record a judge score for a team and optionally mark it WINNER").argument("<id>","Team ID").requiredOption("--score <n>","Score",c).option("--winner","Mark the team as winner").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let n=await s(et,{id:e,score:t.score,winner:t.winner??void 0});u(`Team scored: ${n.tecScoreTeam.score}`),i(t,n.tecScoreTeam);}catch(n){o(n);}});}function Tt(a){let r=a.command("problems").description("Technospam practice problems");r.command("list").description("List problems").option("--difficulty <d>","EASY|MEDIUM|HARD").option("--status <s>","DRAFT|PUBLISHED|ARCHIVED").option("--topic <t>","Filter by topic").option("--limit <n>","Page size",c,50).option("--offset <n>","Offset",c,0).option("-f, --format <format>","Output format").action(async e=>{try{let t=await s(rt,{difficulty:e.difficulty?e.difficulty.toUpperCase():void 0,status:e.status?e.status.toUpperCase():void 0,topic:e.topic,pagination:{limit:e.limit,offset:e.offset}});i(e,t.tecListProblems.items,{headers:["ID","Title","Difficulty","Status","Points"],rows:t.tecListProblems.items.map(n=>[d(n.id,12),n.title,n.difficulty,n.status,String(n.points??0)])});}catch(t){o(t);}}),r.command("get").description("Get a problem by id").argument("<id>","Problem ID").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let n=await s(nt,{id:e});if(!n.tecProblem)throw new m(`Problem ${e} not found`);i(t,n.tecProblem);}catch(n){o(n);}}),r.command("create").description("Create a problem").requiredOption("--title <t>","Problem title").requiredOption("--slug <slug>","URL slug").option("--topic <t>","Topic").option("--statement <s>","Problem statement").option("--difficulty <d>","EASY|MEDIUM|HARD","EASY").option("--points <n>","Points",c).option("--languages <csv>","Comma-separated allowed languages").option("--starter-code <s>","Starter code").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async e=>{try{let t={title:e.title,slug:e.slug,difficulty:(e.difficulty??"EASY").toUpperCase()};e.topic&&(t.topic=e.topic),e.statement&&(t.statement=e.statement),e.points!==void 0&&(t.points=e.points),e.languages&&(t.languages=l(e.languages)),e.starterCode&&(t.starterCode=e.starterCode),e.tags&&(t.tags=l(e.tags));let n=await s(ot,{input:t});u(`Problem created: ${n.tecCreateProblem.title}`),i(e,n.tecCreateProblem);}catch(t){o(t);}}),r.command("update").description("Update a problem").argument("<id>","Problem ID").option("--title <t>","Problem title").option("--topic <t>","Topic").option("--statement <s>","Problem statement").option("--difficulty <d>","EASY|MEDIUM|HARD").option("--points <n>","Points",c).option("--languages <csv>","Comma-separated allowed languages").option("--starter-code <s>","Starter code").option("--tags <csv>","Comma-separated tags").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let n={};if(t.title&&(n.title=t.title),t.topic!==void 0&&(n.topic=t.topic),t.statement!==void 0&&(n.statement=t.statement),t.difficulty&&(n.difficulty=t.difficulty.toUpperCase()),t.points!==void 0&&(n.points=t.points),t.languages&&(n.languages=l(t.languages)),t.starterCode!==void 0&&(n.starterCode=t.starterCode),t.tags&&(n.tags=l(t.tags)),!Object.keys(n).length)throw new m("No updates specified");let g=await s(it,{id:e,input:n});u("Problem updated"),i(t,g.tecUpdateProblem);}catch(n){o(n);}}),r.command("publish").description("Publish a problem (DRAFT -> PUBLISHED)").argument("<id>","Problem ID").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let n=await s(st,{id:e});u(`Problem published: ${n.tecPublishProblem.title}`),i(t,n.tecPublishProblem);}catch(n){o(n);}});}function yt(a){let r=a.command("submissions").description("Technospam problem submissions");r.command("list").description("List submissions").option("--problem <id>","Filter by problem ID").option("--learner <id>","Filter by learner ID").option("--limit <n>","Page size",c,50).option("--offset <n>","Offset",c,0).option("-f, --format <format>","Output format").action(async e=>{try{let t=await s(at,{problemId:e.problem,learnerId:e.learner,pagination:{limit:e.limit,offset:e.offset}});i(e,t.tecListSubmissions.items,{headers:["ID","Problem","Learner","Language","Verdict","Points"],rows:t.tecListSubmissions.items.map(n=>[d(n.id,12),d(n.problemId,12),d(n.learnerId,12),n.language,n.verdict,String(n.pointsAwarded??0)])});}catch(t){o(t);}}),r.command("submit").description("Submit a solution to a problem").requiredOption("--problem <id>","Problem ID").requiredOption("--language <l>","Language").requiredOption("--code <c>","Solution code").option("-f, --format <format>","Output format").action(async e=>{try{let t={problemId:e.problem,language:e.language,code:e.code},n=await s(ct,{input:t});u(`Solution submitted: ${n.tecSubmitSolution.verdict}`),i(e,n.tecSubmitSolution);}catch(t){o(t);}}),r.command("grade").description("Record the grader verdict for a submission").argument("<id>","Submission ID").requiredOption("--verdict <v>","PENDING|ACCEPTED|WRONG_ANSWER|TIME_LIMIT_EXCEEDED|RUNTIME_ERROR|COMPILE_ERROR").option("--runtime-ms <n>","Runtime in milliseconds",c).option("-f, --format <format>","Output format").action(async(e,t)=>{try{let n=await s(ut,{id:e,verdict:t.verdict.toUpperCase(),runtimeMs:t.runtimeMs});u(`Submission graded: ${n.tecGradeSubmission.verdict}`),i(t,n.tecGradeSubmission);}catch(n){o(n);}});}function Et(a){let r=a.command("certificates").description("Technospam completion certificates");r.command("list").description("List certificates").option("--course <id>","Filter by course ID").option("--learner <id>","Filter by learner ID").option("-f, --format <format>","Output format").action(async e=>{try{let t=await s(dt,{courseId:e.course,learnerId:e.learner});i(e,t.tecListCertificates,{headers:["ID","Serial","Course","Learner","Score","Status"],rows:t.tecListCertificates.map(n=>[d(n.id,12),n.serial,d(n.courseId,12),d(n.learnerId,12),String(n.score),n.status])});}catch(t){o(t);}}),r.command("issue").description("Issue a verifiable completion certificate for a learner on a course").requiredOption("--course <id>","Course ID").requiredOption("--learner <id>","Learner ID").requiredOption("--score <n>","Score",c).option("-f, --format <format>","Output format").action(async e=>{try{let t=await s(pt,{courseId:e.course,learnerId:e.learner,score:e.score});u(`Certificate issued: ${t.tecIssueCertificate.serial}`),i(e,t.tecIssueCertificate);}catch(t){o(t);}}),r.command("revoke").description("Revoke a certificate").argument("<id>","Certificate ID").option("--reason <s>","Revocation reason").option("-f, --format <format>","Output format").action(async(e,t)=>{try{let n=await s(mt,{id:e,reason:t.reason});u(`Certificate revoked: ${n.tecRevokeCertificate.status}`),i(t,n.tecRevokeCertificate);}catch(n){o(n);}});}function kt(a){a.command("health").description("Technospam service health check (public)").option("-f, --format <format>","Output format").action(async r=>{try{let e=await T(lt);u(e.tecHealth),i(r,{health:e.tecHealth});}catch(e){o(e);}});}var Ut={id:"technospam",version:"1.0.0",displayName:"Technospam",dependsOn:["auth","workspaces"],register(a,r){k(r);let e=a.command("technospam").description("Technospam developer-education platform");ft(e),gt(e),It(e),ht(e),Ct(e),bt(e),wt(e),Tt(e),yt(e),Et(e),kt(e);}},_n=Ut;module.exports=_n;
@@ -1,4 +1,4 @@
1
- import {a as a$1,b as b$1,h,p as p$1,g,i,o as o$1,d}from'../../chunk-NLEVVDXR.js';import {o}from'../../chunk-IZXPWPKX.js';var b=`
1
+ import {a as a$1,b as b$1,h,p as p$1,g,i,o as o$1,d}from'../../chunk-SQSFZFQZ.js';import {o}from'../../chunk-UAFYTYK6.js';var b=`
2
2
  query TecCourse($id: ID!) {
3
3
  tecCourse(id: $id) {
4
4
  id slug title topic summary level status estimatedMinutes instructorId
@@ -1,4 +1,4 @@
1
- import {a,b as b$1,h as h$1,p,o,g,i,d as d$1}from'../../chunk-NLEVVDXR.js';import {o as o$1}from'../../chunk-IZXPWPKX.js';var h=`
1
+ import {a,b as b$1,h as h$1,p,o,g,i,d as d$1}from'../../chunk-SQSFZFQZ.js';import {o as o$1}from'../../chunk-UAFYTYK6.js';var h=`
2
2
  query TcpGetStory($id: ID!) {
3
3
  tcpStory(id: $id) {
4
4
  id authorId editorId title slug summary body format status topicId
@@ -1,4 +1,4 @@
1
- import {a as a$1,b as b$1,h,p as p$1,g,i,o as o$1,d}from'../../chunk-NLEVVDXR.js';import {o}from'../../chunk-IZXPWPKX.js';var A=`
1
+ import {a as a$1,b as b$1,h,p as p$1,g,i,o as o$1,d}from'../../chunk-SQSFZFQZ.js';import {o}from'../../chunk-UAFYTYK6.js';var A=`
2
2
  query TheGetAsset($id: ID!) {
3
3
  theAsset(id: $id) {
4
4
  id name code kind commodity status location latitude longitude
@@ -1,4 +1,4 @@
1
- import {a,b as b$1,h as h$1,p,g as g$1,i,o as o$1,s}from'../../chunk-NLEVVDXR.js';import {o}from'../../chunk-IZXPWPKX.js';var k=`
1
+ import {a,b as b$1,h as h$1,p,g as g$1,i,o as o$1,s}from'../../chunk-SQSFZFQZ.js';import {o}from'../../chunk-UAFYTYK6.js';var k=`
2
2
  query TimeCampusGetProject($id: ID!) {
3
3
  timeCampusProject(id: $id) {
4
4
  id name status currency budget hourlyRate estimatedHours trackedHours
@@ -1,4 +1,4 @@
1
- 'use strict';require('graphql-request'),require('cross-fetch'),require('commander');var a=class extends Error{exitCode;hint;constructor(r,s){super(r),this.name="CliUserError",this.exitCode=s?.exitCode??1,this.hint=s?.hint;}};var u=class extends Error{cause;constructor(r,s){super(r),this.name="CliInternalError",this.cause=s;}};var g=null;function y(e){g=e;}function c(){if(!g)throw new u("vibecontrols module helpers used before setHelpersContext was called");return g}async function l(e,r){return c().gql.global.request(e,r)}function d(e){let r=e instanceof Error?e.message:String(e);throw new a(r)}function f(e,r,s){c().output.formatAndOutput(e,r,s);}function T(e){c().output.printSuccess(e);}function m(e){return c().output.formatStatus(e)}function h(e){return c().output.formatDate(e)}function w(e,r){return c().output.truncate(e,r)}function I(){return c()}var b=`
1
+ 'use strict';require('graphql-request'),require('cross-fetch'),require('commander');var a=class extends Error{exitCode;hint;constructor(r,s){super(r),this.name="CliUserError",this.exitCode=s?.exitCode??1,this.hint=s?.hint;}};var u=class extends Error{cause;constructor(r,s){super(r),this.name="CliInternalError",this.cause=s;}};var g=null;function y(e){g=e;}function c(){if(!g)throw new u("vibecontrols module helpers used before setHelpersContext was called");return g}async function l(e,r){return c().gql.global.request(e,r)}function d(e){let r=e instanceof Error?e.message:String(e);throw new a(r)}function f(e,r,s){c().output.formatAndOutput(e,r,s);}function T(e){c().output.printSuccess(e);}function m(e){return c().output.formatStatus(e)}function h(e){return c().output.formatDate(e)}function w(e,r){return c().output.truncate(e,r)}function b(){return c()}var I=`
2
2
  query ListTours($filters: TourFilters, $pagination: TourPagination) {
3
3
  tours(filters: $filters, pagination: $pagination) {
4
4
  tours {
@@ -45,4 +45,4 @@
45
45
  currentStepOrder
46
46
  }
47
47
  }
48
- `;function S(e){let r=e.command("tours").description("Product tours");r.command("list").description("List available tours").option("--product <id>","Filter by productId").option("--module <id>","Filter by moduleId").option("--status <s>","Filter by status").option("--active","Only active tours").option("--limit <n>","Page size",t=>parseInt(t,10),50).option("-f, --format <format>","Output format").action(async t=>{try{let n={};t.product&&(n.productId=t.product),t.module&&(n.moduleId=t.module),t.status&&(n.status=t.status.toUpperCase()),t.active!==void 0&&(n.isActive=t.active);let o=await l(b,{filters:Object.keys(n).length?n:void 0,pagination:{limit:t.limit,offset:0}});f(t,o.tours.tours,{headers:["ID","Name","Slug","Status","Active","Created"],rows:o.tours.tours.map(p=>[w(p.id,12),p.name,p.slug,m(p.status),String(!!p.isActive),h(p.createdAt)])});}catch(n){d(n);}});let s=r.command("progress").description("Tour progress for the current user");s.command("get").description("Get current user's tour progress").option("--user <id>","User ID (defaults to current actor)").option("--limit <n>","Page size",t=>parseInt(t,10),50).option("-f, --format <format>","Output format").action(async t=>{try{let n=await l(v,{userId:t.user,pagination:{limit:t.limit,offset:0}});f(t,n.userTourProgresses,{headers:["Tour","Status","Step","Completed","Skipped","LastViewed"],rows:n.userTourProgresses.map(o=>[w(o.tourId,12),m(o.status),String(o.currentStepOrder??"-"),String(o.completedSteps??0),String(o.skippedSteps??0),h(o.lastViewedAt)])});}catch(n){d(n);}}),s.command("reset").description("Reset tour progress for a user").argument("<tourId>").option("--user <id>","User ID (defaults to current actor)").action(async(t,n)=>{try{let o=n.user??I().auth.read()?.workspaceId;if(!o)throw new a("Unable to resolve user; pass --user <id> or run `auth login` first.");await l(E,{tourId:t,userId:o}),T("Tour progress reset");}catch(o){d(o);}});}var W={id:"tours",version:"1.0.0",displayName:"Tours",dependsOn:["auth"],register(e,r){y(r),S(e);}},Ye=W;module.exports=Ye;
48
+ `;function A(e){let r=e.command("tours").description("Product tours");r.command("list").description("List available tours").option("--product <id>","Filter by productId").option("--module <id>","Filter by moduleId").option("--status <s>","Filter by status").option("--active","Only active tours").option("--limit <n>","Page size",t=>parseInt(t,10),50).option("-f, --format <format>","Output format").action(async t=>{try{let n={};t.product&&(n.productId=t.product),t.module&&(n.moduleId=t.module),t.status&&(n.status=t.status.toUpperCase()),t.active!==void 0&&(n.isActive=t.active);let o=await l(I,{filters:Object.keys(n).length?n:void 0,pagination:{limit:t.limit,offset:0}});f(t,o.tours.tours,{headers:["ID","Name","Slug","Status","Active","Created"],rows:o.tours.tours.map(p=>[w(p.id,12),p.name,p.slug,m(p.status),String(!!p.isActive),h(p.createdAt)])});}catch(n){d(n);}});let s=r.command("progress").description("Tour progress for the current user");s.command("get").description("Get current user's tour progress").option("--user <id>","User ID (defaults to current actor)").option("--limit <n>","Page size",t=>parseInt(t,10),50).option("-f, --format <format>","Output format").action(async t=>{try{let n=await l(v,{userId:t.user,pagination:{limit:t.limit,offset:0}});f(t,n.userTourProgresses,{headers:["Tour","Status","Step","Completed","Skipped","LastViewed"],rows:n.userTourProgresses.map(o=>[w(o.tourId,12),m(o.status),String(o.currentStepOrder??"-"),String(o.completedSteps??0),String(o.skippedSteps??0),h(o.lastViewedAt)])});}catch(n){d(n);}}),s.command("reset").description("Reset tour progress for a user").argument("<tourId>").option("--user <id>","User ID (defaults to current actor)").action(async(t,n)=>{try{let o=n.user??b().auth.read()?.workspaceId;if(!o)throw new a("Unable to resolve user; pass --user <id> or run `auth login` first.");await l(E,{tourId:t,userId:o}),T("Tour progress reset");}catch(o){d(o);}});}var W={id:"tours",version:"1.0.0",displayName:"Tours",dependsOn:["auth"],register(e,r){y(r),A(e);}},Ye=W;module.exports=Ye;
@@ -1,4 +1,4 @@
1
- import {a,c,h,p,n,o,g,s,i}from'../../chunk-NLEVVDXR.js';import {o as o$1}from'../../chunk-IZXPWPKX.js';var R=`
1
+ import {a,c,h,p,n,o,g,s,i}from'../../chunk-SQSFZFQZ.js';import {o as o$1}from'../../chunk-UAFYTYK6.js';var R=`
2
2
  query ListTours($filters: TourFilters, $pagination: TourPagination) {
3
3
  tours(filters: $filters, pagination: $pagination) {
4
4
  tours {